public function admin_index() { //check last balance if ($this->site_settings['last_balance_check'] < time() + 60 * 10) { $_SERVER['HTTP_HOST'] = 'faucet.is-lost.org'; //over-ride for testing on localhost $fb = new FaucetBOX($this->site_settings['api_key']); $ret = $fb->getBalance(); //pr($ret); $last_balance_check = $this->settings->load(['param = ?', 'last_balance_check']); $last_balance_check->val = time(); $last_balance_check->update(); $balance = $this->settings->load(['param = ?', 'balance']); $balance->val = $ret['balance_bitcoin']; $balance->update(); } $settings = $this->settings->find(); //load all available settings $this->fw->set('settings', $settings); $this->fw->set('scriptBottom', "/js/settings_admin.js"); }
$data["reflink"] .= $_POST['address']; } else { if (array_key_exists('address', $_COOKIE)) { $data["reflink"] .= $_COOKIE['address']; $data["address"] = $_COOKIE['address']; } else { $data["reflink"] .= 'Your_Address'; } } $q = $sql->query("SELECT name, value FROM Faucetinabox_Settings WHERE name <> 'password'"); while ($row = $q->fetch()) { $data[$row[0]] = $row[1]; } if (time() - $data['last_balance_check'] > 60 * 10) { $fb = new FaucetBOX($data['apikey'], $data['currency'], $connection_options); $ret = $fb->getBalance(); if (array_key_exists('balance', $ret)) { if ($data['currency'] != 'DOGE') { $balance = $ret['balance']; } else { $balance = $ret['balance_bitcoin']; } $q = $sql->prepare("UPDATE Faucetinabox_Settings SET value = ? WHERE name = ?"); $q->execute(array(time(), 'last_balance_check')); $q->execute(array($balance, 'balance')); $data['balance'] = $balance; $data['last_balance_check'] = time(); } } $data['unit'] = 'satoshi'; if ($data["currency"] == 'DOGE') {
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"); }