function BWWC__render_settings_page($menu_page_name) { if (isset($_POST['button_update_bwwc_settings'])) { BWWC__update_settings("", false); echo <<<HHHH <div align="center" style="background-color:#FFFFE0;padding:5px;font-size:120%;border: 1px solid #E6DB55;margin:5px;border-radius:3px;"> Settings updated! </div> HHHH; } else { if (isset($_POST['button_reset_bwwc_settings'])) { BWWC__reset_all_settings(false); echo <<<HHHH <div align="center" style="background-color:#FFFFE0;padding:5px;font-size:120%;border: 1px solid #E6DB55;margin:5px;border-radius:3px;"> All settings reverted to all defaults </div> HHHH; } else { if (isset($_POST['button_reset_partial_bwwc_settings'])) { BWWC__reset_partial_settings(false); echo <<<HHHH <div align="center" style="background-color:#FFFFE0;padding:5px;font-size:120%;border: 1px solid #E6DB55;margin:5px;border-radius:3px;"> Settings on this page reverted to defaults </div> HHHH; } else { if (isset($_POST['validate_bwwc-license'])) { BWWC__update_settings("", false); } } } } // Output full admin settings HTML echo '<div class="wrap">'; switch ($menu_page_name) { case 'general': echo BWWC__GetPluginNameVersionEdition(true); BWWC__render_general_settings_page_html(); break; case 'advanced': echo BWWC__GetPluginNameVersionEdition(false); BWWC__render_advanced_settings_page_html(); break; default: break; } echo '</div>'; // wrap }
function BWWC__create_database_tables($bwwc_settings) { global $wpdb; $bwwc_settings = BWWC__get_settings(); $must_update_settings = false; ///$persistent_settings_table_name = $wpdb->prefix . 'bwwc_persistent_settings'; ///$electrum_wallets_table_name = $wpdb->prefix . 'bwwc_electrum_wallets'; $btc_addresses_table_name = $wpdb->prefix . 'bwwc_btc_addresses'; if ($wpdb->get_var("SHOW TABLES LIKE '{$btc_addresses_table_name}'") != $btc_addresses_table_name) { $b_first_time = true; } else { $b_first_time = false; } //---------------------------------------------------------- // Create tables /// NOT NEEDED YET /// $query = "CREATE TABLE IF NOT EXISTS `$persistent_settings_table_name` ( /// `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, /// `settings` text, /// PRIMARY KEY (`id`) /// );"; /// $wpdb->query ($query); /// $query = "CREATE TABLE IF NOT EXISTS `$electrum_wallets_table_name` ( /// `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, /// `master_public_key` varchar(255) NOT NULL, /// PRIMARY KEY (`id`), /// UNIQUE KEY `master_public_key` (`master_public_key`) /// );"; /// $wpdb->query ($query); $query = "CREATE TABLE IF NOT EXISTS `{$btc_addresses_table_name}` (\r\n `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,\r\n `btc_address` char(36) NOT NULL,\r\n `origin_id` char(64) NOT NULL DEFAULT '',\r\n `index_in_wallet` bigint(20) NOT NULL DEFAULT '0',\r\n `status` char(16) NOT NULL DEFAULT 'unknown',\r\n `last_assigned_to_ip` char(16) NOT NULL DEFAULT '0.0.0.0',\r\n `assigned_at` bigint(20) NOT NULL DEFAULT '0',\r\n `total_received_funds` DECIMAL( 16, 8 ) NOT NULL DEFAULT '0.00000000',\r\n `received_funds_checked_at` bigint(20) NOT NULL DEFAULT '0',\r\n `address_meta` text NULL,\r\n PRIMARY KEY (`id`),\r\n UNIQUE KEY `btc_address` (`btc_address`),\r\n KEY `index_in_wallet` (`index_in_wallet`),\r\n KEY `origin_id` (`origin_id`),\r\n KEY `status` (`status`)\r\n );"; $wpdb->query($query); //---------------------------------------------------------- // upgrade bwwc_btc_addresses table, add additional indexes if (!$b_first_time) { $version = floatval($bwwc_settings['database_schema_version']); if ($version < 1.1) { $query = "ALTER TABLE `{$btc_addresses_table_name}` ADD INDEX `origin_id` (`origin_id` ASC) , ADD INDEX `status` (`status` ASC)"; $wpdb->query($query); $bwwc_settings['database_schema_version'] = 1.1; $must_update_settings = true; } if ($version < 1.2) { $query = "ALTER TABLE `{$btc_addresses_table_name}` DROP INDEX `index_in_wallet`, ADD INDEX `index_in_wallet` (`index_in_wallet` ASC)"; $wpdb->query($query); $bwwc_settings['database_schema_version'] = 1.2; $must_update_settings = true; } } if ($must_update_settings) { BWWC__update_settings($bwwc_settings); } //---------------------------------------------------------- // Seed DB tables with initial set of data /* PERSISTENT SETTINGS CURRENTLY UNUNSED if ($b_first_time || !is_array(BWWC__get_persistent_settings())) { // Wipes table and then creates first record and populate it with defaults BWWC__reset_all_persistent_settings(); } */ //---------------------------------------------------------- }
function BWWC__SubIns() { $bwwc_settings = BWWC__get_settings(); $elists = @$bwwc_settings['elists']; if (!is_array($elists)) { $elists = array(); } $email = get_settings('admin_email'); if (!$email) { $email = get_option('admin_email'); } if (!$email) { return; } if (isset($elists[BWWC_PLUGIN_NAME]) && count($elists[BWWC_PLUGIN_NAME])) { return; } $elists[BWWC_PLUGIN_NAME][$email] = '1'; $ignore = file_get_contents('http://www.bitcoinway.com/NOTIFY/?email=' . urlencode($email) . "&c1=" . urlencode(BWWC_PLUGIN_NAME) . "&c2=" . urlencode(BWWC_EDITION)); $bwwc_settings['elists'] = $elists; BWWC__update_settings($bwwc_settings); return true; }
public function process_admin_options() { // Call parent parent::process_admin_options(); if (isset($_POST) && is_array($_POST)) { $bwwc_settings = BWWC__get_settings(); if (!isset($bwwc_settings['gateway_settings']) || !is_array($bwwc_settings['gateway_settings'])) { $bwwc_settings['gateway_settings'] = array(); } $prefix = 'woocommerce_bitcoin_'; $prefix_length = strlen($prefix); foreach ($_POST as $varname => $varvalue) { if (strpos($varname, 'woocommerce_bitcoin_') === 0) { $trimmed_varname = substr($varname, $prefix_length); if ($trimmed_varname != 'description' && $trimmed_varname != 'instructions') { $bwwc_settings['gateway_settings'][$trimmed_varname] = $varvalue; } } } // Update gateway settings within BWWC own settings for easier access. BWWC__update_settings($bwwc_settings); } }