<?php session_start(); define('DC', TRUE); define('ABSPATH', dirname(__FILE__) . '/'); set_time_limit(0); $first_load_blockchain = false; $install_progress = 0; if (file_exists(ABSPATH . 'db_config.php')) { require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, 'SET NAMES utf8'); // узнаем, на каком шаге остановились $install_progress = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' SELECT `progress` FROM `' . DB_PREFIX . 'install` ', 'fetch_one'); // выбрали ли вариант первичной загрузки блок-чейна $first_load_blockchain = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' SELECT `first_load_blockchain` FROM `' . DB_PREFIX . 'config` ', 'fetch_one'); // нужно узнать время последнего блока $confirmed_block_id = get_confirmed_block_id($db); $confirmed_block_id = $confirmed_block_id ? $confirmed_block_id : 1; // получим время из последнего подвержденного блока $last_block_bin = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `data`\n\t\t\tFROM `" . DB_PREFIX . "block_chain`\n\t\t\tWHERE `id` = {$confirmed_block_id}\n\t\t\tLIMIT 1\n\t\t\t", 'fetch_one'); ParseData::string_shift($last_block_bin, 5); // уберем тип и id блока $block_time = ParseData::binary_dec_string_shift($last_block_bin, 4);
body { padding: 10px 10px 10px 10px; } </style> </head> <body> <?php if ($start || !$start && !$block_id) { if (!$start && !$block_id) { print '<h1>Latest Blocks</h1>'; $sql = "SELECT `data`, `hash`\n\t\t\t\tFROM `" . DB_PREFIX . "block_chain`\n\t\t\t\tORDER BY `id` DESC\n\t\t\t\tLIMIT 15"; } else { $sql = "SELECT `data`, `hash`\n\t\t\t\tFROM `" . DB_PREFIX . "block_chain`\n\t\t\t\tORDER BY `id` ASC\n\t\t\t\tLIMIT " . ($start - 1) . ", 100"; } print '<table class="table"><tr><th>Block</th><th>Hash</th><th>Time</th><th>User id</th><th>Level</th><th>Transactions</th></tr>'; $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, $sql); $bin_to_hex_array = array('sign', 'public_key', 'encrypted_message', 'comment', 'bin_public_keys'); while ($row = $db->fetchArray($res)) { //$hash = substr(bin2hex($row['hash']), 0, 8); $hash = bin2hex($row['hash']); $binary_data = $row['data']; $parsedata = new ParseData($binary_data, $db); $parsedata->ParseData_tmp(); $block_data = $parsedata->block_data; $tx_array = $parsedata->tx_array; $block_data['sign'] = bin2hex($block_data['sign']); print "<tr><td><a href='block_explorer.php?block_id={$block_data['block_id']}'>{$block_data['block_id']}</a></td><td>{$hash}</td><td>" . date('d-m-Y H:i:s', $block_data['time']) . "</td><td>{$block_data['user_id']}</td><td>{$block_data['level']}</td><td>"; if ($tx_array) { print sizeof($tx_array); /* print "<div style=\"width: 500px; height: 400px; overflow: auto; background-color: #f2dede\"><pre>";
<?php /* * Генерим код, который юзер должен подписать своим ключем, доказав тем самым, что именно он хочет войти в аккаунт * */ define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $login_code = strval(rand(9999999, getrandmax())); $ini_array = parse_ini_file(ABSPATH . "config.ini", true); if ($ini_array['main']['sign_hash'] == 'ip') { $hash = md5($_SERVER['REMOTE_ADDR']); } else { $hash = md5($_SERVER['HTTP_USER_AGENT'] . $_SERVER['REMOTE_ADDR']); } $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tINSERT INTO `" . DB_PREFIX . "authorization` (\n\t\t\t`hash`,\n\t\t\t`data`\n\t\t)\n\t\tVALUES (\n\t\t\t0x{$hash},\n\t\t\t'{$login_code}'\n\t\t)\n\t\tON DUPLICATE KEY UPDATE `data` = '{$login_code}'\n\t\t"); echo json_encode($login_code);
define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $user_id = intval($_REQUEST['user_id']); if (!check_input_data($user_id, 'int')) { die('error user_id'); } $lang = get_lang(); require_once ABSPATH . 'lang/' . $lang . '.php'; $sec = 3600 * 24 * 365; $prognosis = array(); $counters_ids = array(); $miners_data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT *\n\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\tWHERE `user_id` = {$user_id}\n\t\tLIMIT 1\n\t\t", 'fetch_array'); // получим ID майнеров, у которых лежат фото нужного нам юзера $miners_ids = ParseData::get_miners_keepers($miners_data['photo_block_id'], $miners_data['photo_max_miner_id'], $miners_data['miners_keepers'], true); $hosts = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `host`\n\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\tWHERE `miner_id` IN (" . implode(',', $miners_ids) . ")\n\t\t", 'array'); $currency_list = get_currency_list($db); /* * Обещанные * */ get_promised_amounts($user_id); if (!empty($tpl['promised_amount_list_gen'][72])) { $data = $tpl['promised_amount_list_gen'][72]; } else { if (!empty($tpl['promised_amount_list_gen'][72])) { $data = $tpl['promised_amount_list_gen'][72]; } else { if (!empty($tpl['promised_amount_list_gen'][23])) {
<?php define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $lang = get_lang(); // получаем кол-во DC на кошельках $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `currency_id`,\n\t\t\t\t\t\t sum(`amount`) as sum_amount\n\t\t\tFROM `" . DB_PREFIX . "wallets`\n\t\t\tGROUP BY `currency_id`\n\t\t\t"); while ($row = $db->fetchArray($res)) { $sum_wallets[$row['currency_id']] = $row['sum_amount']; } // получаем кол-во TDC на обещанных суммах $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `currency_id`,\n\t\t\t\t\t\t sum(`tdc_amount`) as sum_amount\n\t\t\tFROM `" . DB_PREFIX . "promised_amount`\n\t\t\tGROUP BY `currency_id`\n\t\t\t"); while ($row = $db->fetchArray($res)) { if (!isset($sum_wallets[$row['currency_id']])) { $sum_wallets[$row['currency_id']] = $row['sum_amount']; } else { $sum_wallets[$row['currency_id']] += $row['sum_amount']; } } $need_array = array(72 => '3 000 000 000 000', 58 => '31 000 000 000 000'); header("Access-Control-Allow-Origin: *"); $currency_list = get_currency_list($db); foreach ($sum_wallets as $currency_id => $sum) { if ($currency_id == 1 || $sum < 1 || $currency_id >= 1000) { continue; }
<?php /* * Получаем тр-ии, которые есть у юзера, в ответ выдаем те, что недостают и * их порядок следования, чтобы получить валидный блок */ define('DC', TRUE); define('ABSPATH', dirname(__FILE__) . '/'); set_time_limit(0); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT *\n\t\t\tFROM `" . DB_PREFIX . "testblock`\n\t\t\tLIMIT 1\n\t\t\t", 'fetch_array'); $response_binary_data = dec_binary($data['block_id'], 4) . dec_binary($data['time'], 4) . dec_binary($data['user_id'], 5) . encode_length(strlen($data['signature'])) . $data['signature']; // разбираем присланные данные $binary_data = $_POST['data']; $add_sql = ''; if ($binary_data) { $tr_array = array(); // получим хэши тр-ий, которые надо исключить do { list(, $tr) = unpack("H*", ParseData::string_shift($binary_data, 16)); // проверим if (!check_input_data($tr, 'md5')) { die('error md5 (' . $tr . ')'); } $add_sql .= $tr . ','; } while ($binary_data); $add_sql = substr($add_sql, 0, -1); $add_sql = "WHERE `id` NOT IN ({$add_sql})";
<?php session_start(); if (empty($_SESSION['user_id'])) { die('!user_id'); } define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); require_once ABSPATH . 'lang/' . get_lang() . '.php'; $project_currency_name = $db->escape($_REQUEST['project_currency_name']); if (!check_input_data($project_currency_name, 'cf_currency_name')) { die(json_encode(array('error' => $lng['incorrect_currency_name']))); } // проверим, не занято ли имя валюты $currency = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `id`\n\t\t\t\tFROM `" . DB_PREFIX . "cf_projects`\n\t\t\t\tWHERE `project_currency_name` = '{$project_currency_name}' AND\n\t\t\t\t\t\t\t `close_block_id` = 0 AND\n\t\t\t\t\t\t\t `del_block_id` = 0\n\t\t\t\tLIMIT 1\n\t\t\t\t", 'fetch_one'); if ($currency) { die(json_encode(array('error' => $lng['currency_name_busy']))); } // проверим, не занято ли имя валюты $currency = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `id`\n\t\t\t\tFROM `" . DB_PREFIX . "cf_currency`\n\t\t\t\tWHERE `name` = '{$project_currency_name}'\n\t\t\t\tLIMIT 1\n\t\t\t\t", 'fetch_one'); if ($currency) { die(json_encode(array('error' => $lng['currency_name_busy']))); } print json_encode(array('success' => $lng['name_is_not_occupied']));
<?php session_start(); define('DC', TRUE); define('ABSPATH', dirname(__FILE__) . '/'); set_time_limit(0); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $max_block_id = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, 'SELECT `block_id` FROM `' . DB_PREFIX . 'info_block`', 'fetch_one'); echo $max_block_id;
<?php session_start(); define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "SET NAMES UTF8"); $lang = get_lang(); require_once ABSPATH . 'lang/' . $lang . '.php'; $tpl['ver'] = file_get_contents(ABSPATH . 'version'); if ($_GET) { $page = each($_REQUEST); if (preg_match('/category\\-([0-9]+)/', $page[0], $m)) { $tpl['nav'] = "fc_navigate ('cf_catalog', {'category_id':{$m[1]}})\n"; } else { if (preg_match('/([A-Z0-9]{7}|id-[0-9]+)\\-?([0-9]+)?\\-?(funders|comments|news|home|payment)?/', $page[0], $m)) { // $m[1] - название валюты или id валюты // $m[2] - id языка // $m[3] - тип страницы (funders|comments|news) $add_nav = ''; if (preg_match('/id\\-([0-9]+)/', $m[1], $c_id)) { $add_nav .= "'only_project_id':'{$c_id[1]}',"; } else { $add_nav .= "'only_cf_currency_name':'{$m[1]}',"; } if (@$m[2]) { $add_nav .= "'lang_id':'{$m[2]}',"; }
// отметим, что установка завершена mysqli_query($mysqli_link, "\n\t\t\tINSERT INTO\n\t\t\t`" . $tpl['mysql_prefix'] . "install` (\n\t\t\t\t`progress`\n\t\t\t)\n\t\t\tVALUES (\n\t\t\t\t'complete'\n\t\t\t)"); require_once ABSPATH . 'templates/after_install.tpl'; } else { if (is_file(ABSPATH . 'db_config.php')) { require_once ABSPATH . 'db_config.php'; } if (defined('DB_HOST') && defined('DB_USER') && defined('DB_NAME')) { $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); } if ($db) { // проверим, точно ли в БД есть отметка об установке с нуля $progress = get_install_progress(); if ($progress == 'complete') { die('access denied'); } require_once ABSPATH . 'cron/daemons_inc.php'; foreach ($daemons as $script_name) { $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\t\tINSERT INTO `" . DB_PREFIX . "daemons` (\n\t\t\t\t\t\t`script`,\n\t\t\t\t\t\t`restart`\n\t\t\t\t\t)\n\t\t\t\t\tVALUES (\n\t\t\t\t\t\t'{$script_name}',\n\t\t\t\t\t\t1\n\t\t\t\t\t) ON DUPLICATE KEY UPDATE restart=1\n\t\t\t\t\t"); } } unset($_SESSION['user_id']); unset($_SESSION['restricted']); /* Для защиты от перехода злоумышленника к шагам, которые идут после проверки данных от БД * нужно привязывать шаги в сессии. Если юзер смог ввести верные данные от БД, то другие * шаги ему уже можно открывать. Если писать это в БД, то если юзер пройдет шаг проеврки даных к БД * то любой желающий сможет зайти на следующие шаги тоже. */ $_SESSION['install_progress'] = 0; require_once ABSPATH . 'templates/install_step_0.tpl'; }
if (@$_REQUEST['parameters'] == 'lang=42' || $_REQUEST['parameters']['lang_id'] == '42') { $lang = 42; setlang($lang); } else { if (@$_REQUEST['parameters'] == 'lang=1' || $_REQUEST['parameters']['lang_id'] == '1') { $lang = 1; setlang($lang); } } $lang = get_lang(); require_once ABSPATH . 'lang/' . $lang . '.php'; $tpl['cf_url'] = get_cf_url(); if (!$tpl['cf_url']) { die('content access denied'); } // проверим, не идут ли тех. работы на пуле $config = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' SELECT `pool_admin_user_id`, `pool_tech_works` FROM `' . DB_PREFIX . 'config` ', 'fetch_array'); if ($config['pool_admin_user_id'] && $config['pool_admin_user_id'] != $_SESSION['user_id'] && $config['pool_tech_works'] == 1) { require_once ABSPATH . 'content/pool_tech_works.php'; } else { if (isset($_REQUEST['tpl_name']) && check_input_data($_REQUEST['tpl_name'], 'tpl_name')) { $tpl_name = filter_var($_REQUEST['tpl_name'], FILTER_SANITIZE_STRING); require_once ABSPATH . 'content/' . $tpl_name . '.php'; } else { require_once ABSPATH . 'content/cf_catalog.php'; } }
<?php define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(30); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); if ($_POST) { $private_key = $_REQUEST['private_key']; $rsa = new Crypt_RSA(); $rsa->loadKey($private_key, CRYPT_RSA_PRIVATE_FORMAT_PKCS1); $public_key = clear_public_key($rsa->getPublicKey()); $user_id = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `user_id`\n\t\t\tFROM `" . DB_PREFIX . "users`\n\t\t\tWHERE `public_key_0` = 0x{$public_key}\n\t\t\t", 'fetch_one'); if ($user_id) { print 'All right! user_id: ' . $user_id; } else { print 'Sorry, bad key'; } } print '<br><form method="post"><textarea name="private_key" style="width: 700px; height: 400px"></textarea><br><input type="submit"></form>';
<?php if (!$argv) { die('browser'); } define('DC', true); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); // гео-декодирование $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `id`,\n\t\t\t\t\t `latitude`,\n\t\t\t\t\t `longitude`\n\t\tFROM `" . DB_PREFIX . "cf_projects`\n\t\tWHERE `geo_checked`= 0\n\t\t"); while ($row = $db->fetchArray($res)) { $tpl['projects'][$row['id']] = $row; $data = json_decode(file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?latlng={$row['latitude']},{$row['longitude']}&sensor=true_or_false"), true); $data = $data['results'][sizeof($data['results']) - 2]; $country = $db->escape($data['address_components'][1]['short_name']); $city = $db->escape($data['address_components'][0]['long_name']); print $country . ' / ' . $city . "\n"; $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tUPDATE `" . DB_PREFIX . "cf_projects`\n\t\t\tSET `country` = '{$country}',\n\t\t\t\t\t`city` = '{$city}',\n\t\t\t\t\t`geo_checked`= 1\n\t\t\tWHERE `id` = {$row['id']}\n\t\t"); } // финансирование проектов $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `id`,\n\t\t\t\t\t `project_id`,\n\t\t\t\t\t `amount`\n\t\tFROM `" . DB_PREFIX . "cf_funding`\n\t\tWHERE `checked`= 0\n\t\t"); while ($row = $db->fetchArray($res)) { // отмечаем, чтобы больше не брать $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tUPDATE `" . DB_PREFIX . "cf_funding`\n\t\t\tSET `checked` = 1\n\t\t\tWHERE `id` = {$row['id']}\n\t\t"); // сколько собрано средств $funding = (int) $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT sum(`amount`)\n\t\t\tFROM `" . DB_PREFIX . "cf_funding`\n\t\t\tWHERE `project_id` = {$row['project_id']} AND\n\t\t\t\t\t\t`del_block_id` = 0\n\t\t\t", 'fetch_one'); // сколько всего фундеров
<?php session_start(); define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); //require_once( ABSPATH . 'includes/errors.php' ); if (file_exists(ABSPATH . 'db_config.php')) { require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $lang = get_lang(); require_once ABSPATH . 'lang/' . $lang . '.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $block_id = 0; $block_time = 0; $data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `block_id`,\n\t\t\t\t\t\t `time`\n\t\t\tFROM `" . DB_PREFIX . "info_block`\n\t\t\t", 'fetch_array'); $block_id = $data['block_id']; $block_time = $data['time']; // если время более 12 часов от текущего, то выдаем не подвержденные, а просто те, что есть в блокчейне if (time() - $block_time < 3600 * 12) { $confirmed_block_id = get_confirmed_block_id($db); if ($confirmed_block_id) { // получим время из последнего подвержденного блока $last_block_bin = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `data`\n\t\t\t\tFROM `" . DB_PREFIX . "block_chain`\n\t\t\t\tWHERE `id` = {$confirmed_block_id}\n\t\t\t\tLIMIT 1\n\t\t\t\t", 'fetch_one'); ParseData::string_shift($last_block_bin, 1); // уберем тип $block_id = ParseData::binary_dec_string_shift($last_block_bin, 4); $block_time = ParseData::binary_dec_string_shift($last_block_bin, 4); if (time() - $block_time < 3600) { $block_id = -1; $block_time = -1;
} while (!file_exists(ABSPATH . 'db_config.php') && $i < 120); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; require_once ABSPATH . 'cron/daemons_inc.php'; define('WAIT_SCRIPT', 300); // **************************************************************************** // Берем скрипты, которые более 300 сек не отстукивались в таблицу // Т.к. данный скрипт запускается каждые 60 сек в nix и работает в цикле в windows, то у всех демнов есть ровно 60 сек, // чтобы сообщить, что они запущены // **************************************************************************** $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); // в винде запуск данного скрипты означает, что все php процессы были убиты, значит можно обнулить время демонов if (OS == 'WIN') { $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' UPDATE `' . DB_PREFIX . 'daemons` SET `time`=0 '); } do { // если это первый запуск в авто-установке в винде, то таблы могут не успеть создаться. $tables_array = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSHOW TABLES\n\t\t\t", 'array'); if (!in_array(DB_PREFIX . "config", $tables_array) || !in_array(DB_PREFIX . "main_lock", $tables_array) || !in_array(DB_PREFIX . "daemons", $tables_array)) { sleep(1); continue; } $php_path = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `php_path`\n\t\t\tFROM `" . DB_PREFIX . "config`\n\t\t\t", 'fetch_one'); $lock_script_name = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `script_name`\n\t\t\tFROM `" . DB_PREFIX . "main_lock`\n\t\t\t", 'fetch_one'); if ($lock_script_name == 'my_lock') { exit; } foreach ($daemons as $script_name) {
<?php define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $lang = get_lang(); require_once ABSPATH . 'lang/' . $lang . '.php'; $get_user_id = intval($_REQUEST['user_id']); $currency_id = intval($_REQUEST['currency_id']); $arbitration_trust_list = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `arbitrator_user_id`\n\t\tFROM `" . DB_PREFIX . "arbitration_trust_list`\n\t\tWHERE `user_id` = {$get_user_id}\n\t\t", 'array'); /* * Статистика по продавцу * */ // оборот всего $seller_turnover = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT sum(`amount`)\n\t\tFROM `" . DB_PREFIX . "orders`\n\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t `currency_id` = {$currency_id}\n\t\t", 'fetch_one'); // оборот за месяц $seller_turnover_m = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT sum(`amount`)\n\t\tFROM `" . DB_PREFIX . "orders`\n\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t `time` > " . (time() - 3600 * 24 * 30) . " AND\n\t\t\t\t\t `currency_id` = {$currency_id}\n\t\t", 'fetch_one'); // Кол-во покупателей за последний месяц $buyers_count_m = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT count(`id`)\n\t\tFROM (\n\t\t\tSELECT `id`\n\t\t\tFROM `" . DB_PREFIX . "orders`\n\t\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t\t `time` > " . (time() - 3600 * 24 * 30) . " AND\n\t\t\t\t\t\t `currency_id` = {$currency_id}\n\t\t\tGROUP BY `buyer`\n\t\t) as t1\n\t\t", 'fetch_one'); // Кол-во покупателей-майнеров за последний месяц $buyers_miners_count_m = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT count(`id`)\n\t\tFROM (\n\t\t\tSELECT `" . DB_PREFIX . "orders`.`id`\n\t\t\tFROM `" . DB_PREFIX . "orders`\n\t\t\tLEFT JOIN `" . DB_PREFIX . "miners_data` ON `" . DB_PREFIX . "miners_data`.`user_id` = `" . DB_PREFIX . "orders`.`buyer`\n\t\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t\t `" . DB_PREFIX . "orders`.`time` > " . (time() - 3600 * 24 * 30) . " AND\n\t\t\t\t\t\t `" . DB_PREFIX . "orders`.`currency_id` = {$currency_id} AND\n\t\t\t\t\t\t `miner_id` > 0\n\t\t\tGROUP BY `buyer`\n\t\t) as t1\n\t\t", 'fetch_one'); // Кол-во покупателей всего $buyers_count = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT count(`id`)\n\t\tFROM (\n\t\t\tSELECT `id`\n\t\t\tFROM `" . DB_PREFIX . "orders`\n\t\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t\t `currency_id` = {$currency_id}\n\t\t\tGROUP BY `buyer`\n\t\t) as t1\n\t\t", 'fetch_one'); // Кол-во покупателей-майнеров всего $buyers_miners_count = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT count(`id`)\n\t\tFROM (\n\t\t\tSELECT `" . DB_PREFIX . "orders`.`id`\n\t\t\tFROM `" . DB_PREFIX . "orders`\n\t\t\tLEFT JOIN `" . DB_PREFIX . "miners_data` ON `" . DB_PREFIX . "miners_data`.`user_id` = `" . DB_PREFIX . "orders`.`buyer`\n\t\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t\t `" . DB_PREFIX . "orders`.`currency_id` = {$currency_id} AND\n\t\t\t\t\t\t `miner_id` > 0\n\t\t\tGROUP BY `buyer`\n\t\t) as t1\n\t\t", 'fetch_one'); // Заморожено для манибека $hold_amount = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT sum(`hold_back_amount`)\n\t\tFROM `" . DB_PREFIX . "orders`\n\t\tLEFT JOIN `" . DB_PREFIX . "miners_data` ON `" . DB_PREFIX . "miners_data`.`user_id` = `" . DB_PREFIX . "orders`.`buyer`\n\t\tWHERE `seller` = {$get_user_id} AND\n\t\t\t\t\t `" . DB_PREFIX . "orders`.`currency_id` = {$currency_id} AND\n\t\t\t\t\t `miner_id` > 0\n\t\tGROUP BY `buyer`\n\t\t", 'fetch_one'); // Холдбек % на 30 дней $seller_data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `seller_hold_back_pct`,\n\t\t\t\t\t `arbitration_days_refund`\n\t\tFROM `" . DB_PREFIX . "users`\n\t\tWHERE `user_id` = {$get_user_id}\n\t\t", 'fetch_array');
<?php define('DC', TRUE); define('ABSPATH', dirname(__FILE__) . '/'); set_time_limit(0); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); if (isset($_REQUEST['id'])) { $id = intval($_REQUEST['id']); } if ($id) { if (isset($_REQUEST['download'])) { header('Content-type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $id . '.binary"'); } $block = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `data`\n\t\t\tFROM `" . DB_PREFIX . "block_chain`\n\t\t\tWHERE `id` = {$id}\n\t\t\t", 'fetch_one'); echo $block; } else { echo json_encode(array('error' => 'bad id')); }
define('ABSPATH', dirname(dirname(__FILE__)) . '/'); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); if (!check_input_data($_POST['sign'], 'hex_sign')) { json_encode(array('result' => 'bad hex_sign')); } if (!preg_match("/^[0-9a-z]{1,2048}\$/D", $_POST['e'])) { json_encode(array('result' => 'bad e')); } if (!preg_match("/^[0-9a-z]{1,2048}\$/D", $_POST['n'])) { json_encode(array('result' => 'bad n')); } $sign = hextobin($_POST['sign']); $tables_array = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSHOW TABLES\n\t\t\t", 'array'); $community = get_community_users($db); $result = 0; if ($community) { // в цикле проверяем, кому подойдет присланная подпись for ($i = 0; $i < sizeof($community); $i++) { $my_prefix = $community[$i] . '_'; if (!in_array("{$my_prefix}my_keys", $tables_array)) { continue; } // получим открытый ключ юзера $public_key = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `public_key`\n\t\t\t\tFROM `" . DB_PREFIX . "{$my_prefix}my_keys`\n\t\t\t\tWHERE `block_id` = (SELECT max(`block_id`) FROM `" . DB_PREFIX . "{$my_prefix}my_keys` )\n\t\t\t\t", 'fetch_one'); $ini_array = parse_ini_file(ABSPATH . "config.ini", true); //print ($ini_array['main']['sign_hash'])."\n"; if ($ini_array['main']['sign_hash'] == 'ip') { $hash = md5($_SERVER['REMOTE_ADDR']);
die('Permission denied'); } $my_user_id = $_SESSION['user_id']; $min_amount = $db->escape($_REQUEST['min_amount']); $currency_id = $db->escape($_REQUEST['currency_id']); $ps_id = $db->escape($_REQUEST['payment_system_id']); if (!check_input_data($min_amount, 'amount')) { die('error min_amount'); } if (!check_input_data($currency_id, 'int')) { die('error currency_id'); } if (!check_input_data($ps_id, 'int')) { die('error payment_system_id'); } $max_promised_amounts = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `amount`\n\t\tFROM `" . DB_PREFIX . "max_promised_amounts`\n\t\tWHERE `currency_id` = {$currency_id}\n\t\tORDER BY `time` DESC\n\t\tLIMIT 1\n\t\t", 'fetch_one'); if ($ps_id) { $add_sql = " (`ps1` = {$ps_id} OR `ps2` = {$ps_id} OR `ps3` = {$ps_id} OR `ps4` = {$ps_id} OR `ps5` = {$ps_id}) AND"; } else { $add_sql = ""; } $print = ''; $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `amount`,\n\t\t\t\t\t `latitude`,\n\t\t\t\t\t `longitude`,\n\t\t\t\t\t `" . DB_PREFIX . "promised_amount`.`user_id`\n\t\tFROM `" . DB_PREFIX . "promised_amount`\n\t\tLEFT JOIN `" . DB_PREFIX . "miners_data` ON `" . DB_PREFIX . "miners_data`.`user_id` = `" . DB_PREFIX . "promised_amount`.`user_id`\n\t\tWHERE `" . DB_PREFIX . "promised_amount`.`status` = 'mining' AND\n\t\t\t\t\t `currency_id` = {$currency_id} AND\n\t\t\t\t\t {$add_sql}\n\t\t\t\t\t `" . DB_PREFIX . "promised_amount`.`user_id`!={$my_user_id} AND\n\t\t\t\t\t `del_block_id` = 0\n\t\t"); while ($row = $db->fetchArray($res)) { //print_R($row); $repaid = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `amount`\n\t\t\t\tFROM `" . DB_PREFIX . "promised_amount`\n\t\t\t\tWHERE `status` = 'repaid' AND\n\t\t\t\t\t\t\t `currency_id` = {$currency_id} AND\n\t\t\t\t\t\t\t `user_id` = {$row['user_id']} AND\n\t\t\t\t\t\t\t `del_block_id` = 0\n\t\t\t\t", 'fetch_one'); //print $max_promised_amounts."\n"; //print $repaid."\n"; if ($repaid + $row['amount'] < $max_promised_amounts) { $return_amount = $row['amount']; } else {
} if ($file) { fclose($file); } if ($newf) { fclose($newf); } } $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); if (!$db) { exit; } if (substr(PHP_OS, 0, 3) == "WIN") { // для win, когда идет сбор блоков делаем очистку main_lock $block_time = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' SELECT `time` FROM `' . DB_PREFIX . 'info_block` ', 'fetch_one'); if (time() - $block_time > 3600 * 24 * 7) { $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' TRUNCATE TABLE `' . DB_PREFIX . 'main_lock` '); } } $error = false; do { $hosts = array(); debug_print("START", __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__); // отметимся в БД, что мы живы. upd_deamon_time($db); // проверим, не нужно нам выйти, т.к. обновилась версия скрипта if (check_deamon_restart($db)) {
} if (mysqli_error($mysqli_link)) { $tpl['error'][] = 'Error performing query (' . $queries[$i] . ') - Error message : ' . mysqli_error($mysqli_link); } } // возможно идет установка пула, тогда ловим файл c user_id;public_key if ($_POST['pool_data']) { if (!check_input_data($_POST['pool_admin_user_id'], 'int')) { die('bad pool_admin_user_id'); } $pool_admin_user_id = intval($_POST['pool_admin_user_id']); $error = pool_add_users($_POST['pool_data'], $my_queries, $mysqli_link, $prefix, true); if ($error) { die($error); } $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tINSERT INTO `{$prefix}config` (\n\t\t\t\t\t`pool_admin_user_id`,\n\t\t\t\t\t`auto_reload`\n\t\t\t\t)\n\t\t\t\tVALUES (\n\t\t\t\t\t{$pool_admin_user_id},\n\t\t\t\t\t86400\n\t\t\t\t)"); } else { $my_prefix = ''; for ($j = 0; $j < sizeof($my_queries); $j++) { $my_queries[$j] = str_ireplace('[my_prefix]', $my_prefix, $my_queries[$j]); mysqli_multi_query($mysqli_link, $my_queries[$j]); while (@mysqli_next_result($mysqli_link)) { } if (mysqli_error($mysqli_link)) { $tpl['error'][] = 'Error performing query (' . $my_queries[$j] . ') - Error message : ' . mysqli_error($mysqli_link); } } $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tINSERT INTO `" . $tpl['mysql_prefix'] . "my_table` (\n\t\t\t\t\t`user_id`\n\t\t\t\t)\n\t\t\t\tVALUES (\n\t\t\t\t\t0\n\t\t\t\t)"); /*$db->query( __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, " INSERT INTO `".$tpl['mysql_prefix']."my_notifications` (`name`, `email`, `sms`) VALUES ('admin_messages',1,1),('change_in_status',1,0),('fc_came_from',1,0),('fc_sent',1,0),('incoming_cash_requests',1,1),('new_version',1,1),('node_time',1,1),('system_error',1,1),('update_email',1,0),('update_primary_key',1,0),('update_sms_request',1,0),('voting_results',1,0),('voting_time',1,0)
<?php if (!$argv) { die('browser'); } define('DC', true); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); // валюты $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' SELECT `id`, `name` FROM `' . DB_PREFIX . 'currency` ORDER BY `name` '); while ($row = $db->fetchArray($res)) { $currency_list[$row['id']] = $row['name']; } $notifications_array = array(); $user_email_sms_data = array(); $my_users_ids = get_community_users($db); if (!$my_users_ids) { $community = false; // сингл-мод $my_users_ids[0] = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `user_id`\n\t\t\tFROM `" . DB_PREFIX . "my_table`\n\t\t\t", 'fetch_one'); } else { $community = true; }
session_start(); define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'cron/daemons_inc.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $arr = array(); foreach ($daemons as $daemon) { $arr[str_replace('.php', '', $daemon)] = 'no'; } $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, ' SELECT `script`, `time` FROM `' . DB_PREFIX . 'daemons` '); while ($row = $db->fetchArray($res)) { $name = substr($row['script'], 0, strpos($row['script'], '.')); if ($row['time'] > time() - 600) { $arr[$name] = 'ok'; } } // **************************************************************************** // CHMOD // **************************************************************************** // Очищаем кэш состояния файлов clearstatcache(); $perms = fileperms(ABSPATH); if (($perms & 0x4000) == 0x4000 && $perms & 0x80 && $perms & 0x10 && $perms & 0x2) { $arr['chmod0777'] = 'ok';
session_start(); if (empty($_SESSION['user_id'])) { die('!user_id'); } $user_id = intval($_SESSION['user_id']); define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); set_time_limit(0); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $lang = get_lang(); $project_id = intval($_REQUEST['project_id']); $cf_project = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT *\n\t\tFROM `" . DB_PREFIX . "cf_projects`\n\t\tWHERE `del_block_id`=0 AND\n\t\t\t\t\t `id` = {$project_id}\n\t\t", 'fetch_array'); if (!$cf_project) { die(json_encode(array('error' => 'No project'))); } $cf_project = array_merge(project_data($cf_project), $cf_project); // сколько у нас есть DC данной валюты $wallet = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT *\n\t\t\tFROM `" . DB_PREFIX . "wallets`\n\t\t\tWHERE `user_id` = {$user_id} AND\n\t\t\t\t\t\t `currency_id` = {$cf_project['currency_id']}\n\t\t\t", 'fetch_array'); if ($wallet) { $wallet['amount'] += calc_profit_($wallet['currency_id'], $wallet['amount'], $user_id, $db, $wallet['last_update'], time(), 'wallet'); $wallet['amount'] = floor(round($wallet['amount'], 3) * 100) / 100; $forex_orders_amount = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\t\tSELECT sum(`amount`)\n\t\t\t\t\tFROM `" . DB_PREFIX . "forex_orders`\n\t\t\t\t\tWHERE `user_id` = {$user_id} AND\n\t\t\t\t\t\t\t\t `sell_currency_id` = {$wallet['currency_id']} AND\n\t\t\t\t\t\t\t\t `del_block_id` = 0\n\t\t\t\t\t", 'fetch_one'); $wallet['amount'] -= $forex_orders_amount; } else { $wallet['amount'] = 0; } $cf_project['wallet_amount'] = $wallet['amount'];
<?php session_start(); if (empty($_SESSION['user_id'])) { die('!user_id'); } define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $user_id = intval($_REQUEST['user_id']); if (!check_input_data($user_id, 'int')) { die('error user_id'); } $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "SET NAMES UTF8"); $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT *\n\t\tFROM `" . DB_PREFIX . "abuses`\n\t\tWHERE `user_id` = {$user_id}\n\t\t"); $abuses = ''; while ($row = $db->fetchArray($res)) { $abuses .= 'from_user_id: ' . $row['from_user_id'] . '; time: ' . date('d-m-Y H:i:s', $row['time']) . '; comment: ' . $row['comment'] . "<br>"; } if (!$abuses) { $abuses = 'No'; } $reg_time = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `reg_time`\n\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\tWHERE `user_id` = {$user_id}\n\t\t", 'fetch_one'); $reg_time = date('d-m-Y H:i:s', $reg_time); echo json_encode(array('abuses' => $abuses, 'reg_time' => $reg_time));
if (is_array($_REQUEST['to_id'])) { for ($i = 0; $i < sizeof($_REQUEST['to_id']); $i++) { $to_id[$i] = intval($_REQUEST['to_id'][$i]); } } else { $to_id = intval($_REQUEST['to_id']); } } if (!$to_id) { $to_id = intval($_REQUEST['to_user_id']); } if (strlen($_REQUEST['comment']) > 1024) { die('error comment'); } if ($_REQUEST['type'] == 'project') { $to_user_id = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `user_id`\n\t\t\tFROM `" . DB_PREFIX . "cf_projects`\n\t\t\tWHERE `id` = {$to_id}\n\t\t\tLIMIT 1\n\t\t\t", 'fetch_one'); } else { $to_user_id = $to_id; } if (!is_array($to_user_id)) { $to_user_id = array($to_user_id); } for ($i = 0; $i < sizeof($to_user_id); $i++) { if (!$to_user_id[$i]) { $enc[$i] = 0; continue; } // если получатель майнер, тогда шифруем нодовским ключем $miners_data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `miner_id`,\n\t\t\t\t\t\t `node_public_key`\n\t\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\t\tWHERE `user_id` = {$to_user_id[$i]}\n\t\t\tLIMIT 1\n\t\t\t", 'fetch_array'); if ($miners_data['miner_id'] > 0 && $_POST['type'] != 'cash_request' && $_POST['type'] != 'bug_reporting' && $_POST['type'] != 'project' && $_POST['type'] != 'money_back') { $public_key = $miners_data['node_public_key'];
define('DC', true); /* * просто шлем всем, кто есть в nodes_connection хэши блока и тр-ий * если мы не майнер, то шлем всю тр-ию целиком, блоки слать не можем * если майнер - то шлем только хэши, т.к. у нас есть хост, откуда всё можно скачать * */ define('ABSPATH', dirname(dirname(__FILE__)) . '/'); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; require_once ABSPATH . 'includes/errors.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); while (true) { debug_print("START", __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__); $urls = array(); $hosts = array(); $my_config = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `local_gate_ip`,\n\t\t\t\t\t\t `static_node_user_id`\n\t\t\tFROM `" . DB_PREFIX . "config`\n\t\t\t", 'fetch_array'); // отметимся в БД, что мы живы. upd_deamon_time($db); // проверим, не нужно нам выйти, т.к. обновилась версия скрипта if (check_deamon_restart($db)) { exit; } if (!$my_config['local_gate_ip']) { // обычнй режим $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\t\tSELECT `" . DB_PREFIX . "miners_data`.`user_id`, `" . DB_PREFIX . "miners_data`.`host`, `node_public_key`\n\t\t\t\t\tFROM `" . DB_PREFIX . "nodes_connection`\n\t\t\t\t\tLEFT JOIN `" . DB_PREFIX . "miners_data` ON `" . DB_PREFIX . "nodes_connection`.`user_id` = `" . DB_PREFIX . "miners_data`.`user_id`\n\t\t\t\t\t"); while ($row = $db->fetchArray($res)) { $hosts[] = array('user_id' => $row['user_id'], 'host' => $row['host'], 'node_public_key' => $row['node_public_key']); } // хосты могут еще не успеть набраться if (!$hosts) { sleep(1);
<?php session_start(); if (empty($_SESSION['user_id'])) { die('!user_id'); } define('DC', TRUE); define('ABSPATH', dirname(dirname(__FILE__)) . '/'); //require_once( ABSPATH . 'includes/errors.php' ); require_once ABSPATH . 'db_config.php'; require_once ABSPATH . 'includes/autoload.php'; $db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT); $user_id = intval($_REQUEST['user_id']); if (!check_input_data($user_id, 'int')) { die('error user_id'); } $data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `photo_block_id`,\n\t\t\t\t\t\t\t `photo_max_miner_id`,\n\t\t\t\t\t\t\t `miners_keepers`\n\t\t\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\t\t\tWHERE `user_id` = {$user_id}\n\t\t\t\tLIMIT 1\n\t\t\t\t", 'fetch_array'); // получим ID майнеров, у которых лежат фото нужного нам юзера $miners_ids = ParseData::get_miners_keepers($data['photo_block_id'], $data['photo_max_miner_id'], $data['miners_keepers'], true); // берем 1 случайный из 10-и ID майнеров $r = array_rand($miners_ids, 1); $miner_id = $miners_ids[$r]; $host = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tSELECT `host`\n\t\t\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\t\t\tWHERE `miner_id` = {$miner_id}\n\t\t\t\tLIMIT 1\n\t\t\t\t", 'fetch_one'); echo json_encode(array('face' => "{$host}public/face_{$user_id}.jpg", 'profile' => "{$host}public/profile_{$user_id}.jpg"));