<?php

/** 
 * Schema update $id:5.4.6
 */
// charset and collate
$charset_collate = mgm_get_charset_collate();
// addons : mgm_addons
$sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_ADDON . "` (\r\r\n\t\t`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,\r\r\n\t\t`name` varchar(150) NOT NULL,\t\t\r\r\n\t\t`description` varchar(255) NULL,\t\t\r\r\n\t\t`expire_dt` datetime NULL,\r\r\n\t\t`create_dt` datetime NOT NULL,\r\r\n\t\tPRIMARY KEY (`id`),\r\r\n\t\tUNIQUE KEY `name` (`name`)\r\r\n\t    ) {$charset_collate} COMMENT = 'addons'";
$wpdb->query($sql);
// addons : mgm_addons
$sql = "CREATE TABLE IF NOT EXISTS `" . TBL_MGM_ADDON_OPTION . "` (\r\r\n\t\t`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,\r\r\n\t\t`addon_id` int(11) UNSIGNED NOT NULL,\t\r\r\n\t\t`option` varchar(150) NOT NULL,\t\t\t\t\r\r\n\t\t`price` decimal(10,2) UNSIGNED NULL,\r\r\n\t\tPRIMARY KEY (`id`),\r\r\n\t\tUNIQUE KEY `addon_option` (`addon_id`,`option`)\r\r\n\t    ) {$charset_collate} COMMENT = 'addon options'";
$wpdb->query($sql);
// end of file
 function _setup_dataplus($enable = true)
 {
     // get db ref
     if (!($epdb = $this->_get_epdb_ref())) {
         return;
     }
     // charset_collate
     $charset_collate = mgm_get_charset_collate();
     // create tables
     if ($enable) {
         // transaction status
         $sql = "\r\r\n\t\t\t\tCREATE TABLE IF NOT EXISTS `" . TBL_MGM_EPOCH_TRANS_STATUS . "` ( \r\r\n\t\t\t\t\tets_transaction_id bigint(20) UNSIGNED NOT NULL default '0', \r\r\n\t\t\t\t\tets_member_idx bigint(20) UNSIGNED NOT NULL default '0', \r\r\n\t\t\t\t\tets_transaction_date datetime default NULL, \r\r\n\t\t\t\t\tets_transaction_type char(1) NOT NULL default '', \r\r\n\t\t\t\t\tets_co_code varchar(6) NOT NULL default '', \r\r\n\t\t\t\t\tets_pi_code varchar(32) NOT NULL default '', \r\r\n\t\t\t\t\tets_reseller_code varchar(64) default 'a', \r\r\n\t\t\t\t\tets_transaction_amount decimal(10,2) UNSIGNED NOT NULL default '0.00', \r\r\n\t\t\t\t\tets_payment_type char(1) default 'A', \r\r\n\t\t\t\t\tets_username varchar(32) default NULL, \r\r\n\t\t\t\t\tets_ref_trans_ids int(11) UNSIGNED default NULL, \r\r\n\t\t\t\t\tets_password_expire varchar(20) default NULL, \r\r\n\t\t\t\t\tets_email varchar(64) default NULL,\r\r\n\t\t\t\t\tprocess_status char(1) default 'N',\r\r\n\t\t\t\t\tPRIMARY KEY (ets_transaction_id), \r\r\n\t\t\t\t\tKEY idx_reseller (ets_reseller_code), \r\r\n\t\t\t\t\tKEY idx_product (ets_pi_code), \r\r\n\t\t\t\t\tKEY idx_transdate (ets_transaction_date), \r\r\n\t\t\t\t\tKEY idx_type (ets_transaction_type), \r\r\n\t\t\t\t\tKEY idx_proctstatus (process_status) \r\r\n\t\t\t\t) {$charset_collate} COMMENT = 'epoch dataplus transaction status'";
         $epdb->query($sql);
         //cancel status
         $sql = "\r\r\n\t\t\t\tCREATE TABLE IF NOT EXISTS `" . TBL_MGM_EPOCH_CANCEL_STATUS . "` ( \r\r\n\t\t\t\t\tmcs_or_idx bigint(20) UNSIGNED NOT NULL default '0', \r\r\n\t\t\t\t\tmcs_canceldate datetime default NULL, \r\r\n\t\t\t\t\tmcs_signupdate datetime default NULL, \r\r\n\t\t\t\t\tmcs_cocode varchar(16) NOT NULL default '', \r\r\n\t\t\t\t\tmcs_picode varchar(32) NOT NULL default '', \r\r\n\t\t\t\t\tmcs_reseller varchar(32) default NULL, \r\r\n\t\t\t\t\tmcs_reason varchar(64) default NULL, \r\r\n\t\t\t\t\tmcs_memberstype char(1) default NULL, \r\r\n\t\t\t\t\tmcs_username varchar(32) default NULL, \r\r\n\t\t\t\t\tmcs_email varchar(64) default NULL, \r\r\n\t\t\t\t\tmcs_passwordremovaldate datetime default NULL, \r\r\n\t\t\t\t\tprocess_status char(1) default 'N',\r\r\n\t\t\t\t\tPRIMARY KEY (mcs_or_idx),\r\r\n\t\t\t\t\tKEY idx_canceldate (mcs_canceldate),\t\t\t\t\t\r\r\n\t\t\t\t\tKEY idx_useremail (mcs_email),\r\r\n\t\t\t\t\tKEY idx_procstatus (process_status)\r\r\n\t\t\t\t) {$charset_collate} COMMENT = 'epoch dataplus cancel status'";
         $epdb->query($sql);
         //set cron to check transactions
         if (!wp_next_scheduled('mgm_quarterhourly_schedule')) {
             wp_schedule_event(time(), 'quarterhourly', 'mgm_quarterhourly_schedule');
         }
     } else {
         // remove scheduled task for checking transactions
         wp_clear_scheduled_hook('mgm_quarterhourly_schedule');
     }
 }