} } else { if (array_key_exists("reset", $_POST) && array_key_exists("factory_reset_confirm", $_POST) && $_POST["factory_reset_confirm"] == "on") { $sql->exec("DELETE FROM Faucetinabox_Settings WHERE name NOT LIKE '%key%' AND name != 'password'"); $sql->exec($default_data_query); } } $q = $sql->prepare("SELECT value FROM Faucetinabox_Settings WHERE name = ?"); $q->execute(array('apikey')); $apikey = $q->fetch(); $apikey = $apikey[0]; $q->execute(array('currency')); $currency = $q->fetch(); $currency = $currency[0]; $fb = new FaucetBOX($apikey, $currency, $connection_options); $currencies = $fb->getCurrencies(); $connection_error = ''; $curl_warning = ''; $missing_configs_info = ''; if (!empty($missing_configs)) { $list = ''; foreach ($missing_configs as $missing_config) { $list .= str_replace(array("<:: config_name ::>", "<:: config_default ::>", "<:: config_description ::>"), array($missing_config['name'], $missing_config['default'], $missing_config['desc']), $missing_config_template); } $missing_configs_info = str_replace("<:: missing_configs ::>", $list, $missing_configs_template); } if ($fb->curl_warning) { $curl_warning = $curl_warning_template; } if (!$currencies) { $currencies = array('BTC', 'LTC', 'DOGE', 'PPC', 'XPM', 'DASH');
public function admin_index() { $settings = $this->_load_model('settings'); if ($data = $this->fw->get('POST.data')) { $api_key = $settings->load(['param=?', 'api_key']); $api_key->val = $data['api_key']; $api_key->save(); $currency = $settings->load(['param=?', 'currency']); $currency->val = $data['currency']; $currency->save(); //update captcha settings $updates = $settings->find(["param='default_captcha' or param like '%{$data['default_captcha']}%'"]); foreach ($updates as $setting) { if (array_key_exists($setting->param, $data)) { $setting->val = $data[$setting->param]; } $setting->save(); } //end - save captcha settings $this->fw->set('SESSION.flash', ['type' => 'success', 'message' => "Faucet Settings Updated..."]); $this->fw->reroute("/admin/faucet"); //reroute so new settings get loaded - hack for beforeroute } //end - update faucet data //currencies - only used if fb api doesnt have api_key yet $fb_currencies = ['BTC', 'LTC', 'DOGE', 'PPC', 'XPM', 'DASH']; $faucets = ['Solve Media' => 'solvemedia', 'ReCaptcha' => 'recaptcha', 'Are You Human' => 'ayah', 'Captch Me' => 'captchme', 'Fun Captcha' => 'funcaptcha', 'ReKlamper' => 'reklamper']; $this->fw->set('faucets', $faucets); //check apikey - current balance - and faucet currency $fb = new FaucetBOX($this->site_settings['api_key'], $this->site_settings['currency']); $currencies = $fb->getCurrencies() ?: $fb_currencies; $this->fw->set('currencies', $currencies); //pr($fb); if ($fb->last_status !== 200) { $this->fw->set('SESSION.flash', ['type' => 'danger', 'message' => "Please check your faucetbox api key..."]); } else { //good fb connection = check balance (every 10 mins) if ($this->site_settings['last_balance_check'] < time() + 60 * 10) { $fb_balance = $fb->getBalance(); $last_balance_check = $this->fw->get('TIME'); $settings_balance = $settings->load(['param=?', 'balance']); $settings_balance->val = $fb_balance['balance_bitcoin']; $settings_balance->save(); //make sure to update site settings var $this->site_settings['balance'] = $settings_balance->val; $settings_balance_check = $settings->load(['param=?', 'last_balance_check']); $settings_balance_check->val = $last_balance_check; $settings_balance_check->save(); //make sure to update site settings var $this->site_settings['last_balance_check'] = $settings_balance_check->val; } } //end - update balance $this->fw->set('scriptBottom', "/js/faucet_admin.js"); }