5, 'display'=>'debug'); $schedules['seconds_30'] = array('interval'=>30, 'display'=>'Bi-minutely'); $schedules['minutes_1'] = array('interval'=>60, 'display'=>'Once every 1 minute'); $schedules['minutes_2'] = array('interval'=>120, 'display'=>'Once every 2 minutes'); return $schedules; } function AGC_activate() { // For testing AGC_drop_mpk_address_table(); if (!wp_next_scheduled('AGC_cron_hook')) { wp_schedule_event(time(), 'seconds_30', 'AGC_cron_hook'); } AGC_create_mpk_address_table(); } function AGC_deactivate() { wp_clear_scheduled_hook('AGC_cron_hook'); } function AGC_add_gateways($methods) { $methods[] = 'AGC_Gateway'; return $methods; } function AGC_drop_mpk_address_table() { global $wpdb; $tableName = $wpdb->prefix . 'agc_electrum_addresses'; error_log('dropping table'); $query = "DROP TABLE `$tableName`"; $wpdb->query($query); } function AGC_create_mpk_address_table() { global $wpdb; $tableName = $wpdb->prefix . 'agc_electrum_addresses'; error_log('creating table'); $query = "CREATE TABLE IF NOT EXISTS `$tableName` ( `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT, `mpk` char(128) NOT NULL, `mpk_index` bigint(20) NOT NULL DEFAULT '0', `address` char(50) NOT NULL, `currency` char(12) NOT NULL, `status` char(24) NOT NULL DEFAULT 'error', `total_received` decimal( 16, 8 ) NOT NULL DEFAULT '0.00000000', `last_checked` bigint(20) NOT NULL DEFAULT '0', `assigned_at` bigint(20) NOT NULL DEFAULT '0', `order_id` bigint(10) NULL, `order_amount` decimal(16, 8) NOT NULL DEFAULT '0.00000000', PRIMARY KEY (`id`), UNIQUE KEY `address` (`address`), KEY `status` (`status`), KEY `mpk_index` (`mpk_index`), KEY `mpk` (`mpk`) );"; $wpdb->query($query); } add_filter('woocommerce_payment_gateways', 'AGC_add_gateways'); ?>