function _xCronGrabThumbs() { global $start; CronAppendLog(FILE_LOG_GRABBER, 'Grabber starting...', true); require_once 'dirdb.php'; $db = new TradeDB(); foreach ($db->RetrieveAll() as $trade) { if ($trade['flag_grabber']) { if (string_is_empty($trade['grabber_url'])) { $trade['grabber_url'] = $trade['return_url']; } $thumbnails = grab_thumbs($trade['domain'], $trade['grabber_url'], $trade['trigger_strings']); switch ($thumbnails) { case null: CronAppendLog(FILE_LOG_GRABBER, 'Thumbnails could not be downloaded from ' . $trade['domain']); break; case 0: CronAppendLog(FILE_LOG_GRABBER, 'HTTP connection for ' . $trade['domain'] . ' has failed'); break; default: $db->Update($trade['domain'], array('thumbnails' => $thumbnails)); break; } } } CronAppendLog(FILE_LOG_GRABBER, 'Grabber exiting...', true); }
function _xSync() { $settings = unserialize(base64_decode($_REQUEST['sync'])); // Sync blacklist if (isset($settings[NETWORK_SYNC_BLACKLIST]) && is_array($settings[NETWORK_SYNC_BLACKLIST])) { foreach ($settings[NETWORK_SYNC_BLACKLIST] as $bl_file => $file_contents) { file_write(DIR_BLACKLIST . '/' . $bl_file, $file_contents); } } // Sync categories if (isset($settings[NETWORK_SYNC_CATEGORIES])) { file_write(FILE_CATEGORIES, $settings[NETWORK_SYNC_CATEGORIES]); } // Sync countries if (isset($settings[NETWORK_SYNC_COUNTRIES])) { file_write(FILE_COUNTRIES, $settings[NETWORK_SYNC_COUNTRIES]); } // Sync groups if (isset($settings[NETWORK_SYNC_GROUPS])) { file_write(FILE_GROUPS, $settings[NETWORK_SYNC_GROUPS]); } // Sync network sites if (isset($settings[NETWORK_SYNC_NETWORK_SITES]) && is_array($settings[NETWORK_SYNC_NETWORK_SITES])) { require_once 'textdb.php'; $db = new NetworkDB(); foreach ($settings[NETWORK_SYNC_NETWORK_SITES] as $site) { if ($db->Exists($site['domain'])) { $db->Update($site['domain'], $site); } else { $db->Add($site); } } network_site_update_stored_values(); } // Sync search engines if (isset($settings[NETWORK_SYNC_SEARCH_ENGINES])) { file_write(FILE_SEARCH_ENGINES, $settings[NETWORK_SYNC_SEARCH_ENGINES]); } // Sync skim schemes if (isset($settings[NETWORK_SYNC_SKIM_SCHEMES]) && is_array($settings[NETWORK_SYNC_SKIM_SCHEMES])) { foreach ($settings[NETWORK_SYNC_SKIM_SCHEMES] as $scheme => $ss_file) { file_write(DIR_SKIM_SCHEMES . '/' . $scheme, $ss_file['merged']); file_write(DIR_SKIM_SCHEMES_BASE . '/' . $scheme, $ss_file['base']); file_write(DIR_SKIM_SCHEMES_DYNAMIC . '/' . $scheme, $ss_file['dynamic']); } } // Sync trades if (isset($settings[NETWORK_SYNC_TRADES]) && is_array($settings[NETWORK_SYNC_TRADES])) { require_once 'dirdb.php'; $db = new TradeDB(); foreach ($settings[NETWORK_SYNC_TRADES] as $trade) { if ($db->Exists($trade['domain'])) { // Update existing $db->Update($trade['domain'], $trade); } else { // Create new, no confirmation $trade['flag_confirm'] = 0; trade_add($trade); } } } // Sync trade rules if (isset($settings[NETWORK_SYNC_TRADE_RULES])) { file_write(FILE_TRADE_RULES, $settings[NETWORK_SYNC_TRADE_RULES]); } network_success(true); }
function _xForgotPasswordConfirmed() { global $t, $C; require_once 'textdb.php'; $db = new PasswordConfirmsDB(); $db->DeleteExpired(); $confirm = $db->Retrieve($_REQUEST['id']); require_once 'validator.php'; $v =& Validator::Get(); $v->Register(empty($confirm), VT_IS_FALSE, 'Invalid or expired confirmation code'); if (!$v->Validate()) { $t->Assign('g_invalid_confirm', true); } else { $db->Delete($_REQUEST['id']); $password = get_random_password(); require_once 'dirdb.php'; $db = new TradeDB(); $trade = $db->Update($confirm['domain'], array('password' => sha1($password))); $trade['password'] = $password; $t->AssignByRef('g_trade', $trade); } $t->Display('trade-stats-forgot-confirmed.tpl'); }
function _xConfirmShow() { global $t, $C; require_once 'textdb.php'; $db = new RegisterConfirmsDB(); $db->DeleteExpired(); $confirm = $db->Retrieve($_REQUEST['id']); require_once 'validator.php'; $v =& Validator::Get(); $v->Register(empty($confirm), VT_IS_FALSE, 'Invalid or expired confirmation code'); if (!$v->Validate()) { $t->Assign('g_invalid_confirm', true); } else { $db->Delete($_REQUEST['id']); $defaults = unserialize(file_get_contents(FILE_NEW_TRADE_DEFAULTS)); require_once 'dirdb.php'; $password = get_random_password(); $db = new TradeDB(); $trade = $db->Update($confirm['domain'], array('status' => $defaults['status'], 'timestamp_autostop' => time(), 'password' => sha1($password))); $trade['password'] = $password; $t->AssignByRef('g_trade', $trade); require_once 'mailer.php'; if ($C['flag_register_email_user'] && !string_is_empty($trade['email'])) { $m = new Mailer(); $m->Mail('email-register-complete.tpl', $t, $trade['email'], $trade['email']); } if ($C['flag_register_email_admin']) { $m = new Mailer(); $m->Mail('email-register-admin.tpl', $t, $C['email_address'], $C['email_name']); } } $t->Display('register-confirm.tpl'); }
function trade_reset($trades) { require_once 'dirdb.php'; if (!is_array($trades)) { $trades = array($trades); } foreach ($trades as $trade) { $is_sys_trade = is_system_trade($trade); $dir = $is_sys_trade ? DIR_SYSTEM_STATS : DIR_TRADE_STATS; // Clear stats file $packed_record = trade_packed_record(); $fp = fopen("{$dir}/{$trade}", 'w'); for ($i = 0; $i < HOURS_PER_DAY + MINUTES_PER_DAY; $i++) { fwrite($fp, $packed_record, RECORD_SIZE_STATS); } fclose($fp); @chmod("{$dir}/{$trade}", 0666); // Clear log files file_write("{$dir}/{$trade}-clicks"); file_write("{$dir}/{$trade}-history"); file_write("{$dir}/{$trade}-in"); file_write("{$dir}/{$trade}-out"); // Reset the autostop timestamp if (!$is_sys_trade) { $db = new TradeDB(); $db->Update($trade, array('timestamp_autostop' => time())); } } }
function _xTradesDisable() { $_REQUEST['domain'] = filter_system_trades($_REQUEST['domain']); if (empty($_REQUEST['domain'])) { return JSON::Warning(array(JSON_KEY_DIALOG_CLOSE => true, JSON_KEY_MESSAGE => 'No valid trades were selected')); } require_once 'dirdb.php'; $db = new TradeDB(); foreach (explode(',', $_REQUEST['domain']) as $domain) { $trade = $db->Retrieve($domain); if ($trade['status'] != STATUS_DISABLED) { $db->Update($trade['domain'], array('status' => STATUS_DISABLED)); } } JSON::Success(array(JSON_KEY_MESSAGE => 'The selected trades have been disabled', JSON_KEY_JS => 'markDisabled("' . $_REQUEST['domain'] . '");')); }