main_unlock(); unset($testBlock); sleep(1); continue; } $my_user_id = $testBlock->user_id; $new_block_id = $block_id + 1; $new_block_id_binary = dec_binary($new_block_id, 4); $user_id_binary = dec_binary($testBlock->cur_user_id, 5); $level_binary = dec_binary($testBlock->level, 1); if (get_community_users($db)) { $my_prefix = $testBlock->user_id . '_'; } else { $my_prefix = ''; } $node_private_key = get_node_private_key($db, $my_prefix); $prev_head_hash = $testBlock->prev_block['head_hash']; ##################################### ## Формируем блок ##################################### print '$new_block_id=' . $new_block_id . "\n"; print '$cur_user_id=' . $testBlock->cur_user_id . "\n"; if (!$testBlock->cur_user_id) { debug_print("continue", __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__); main_unlock(); unset($testBlock); sleep(1); continue; } debug_print("memory", __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__); if ($testBlock->prev_block['block_id'] >= $new_block_id) {
$confirmations = 5; // берем всех юзеров по порядку $community = get_community_users($db); for ($k = 0; $k < sizeof($community); $k++) { $private_key = ''; $MY_PREFIX = $community[$k] . '_'; //print $MY_PREFIX."\n"; $table_exists = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSHOW TABLES LIKE '" . DB_PREFIX . "{$MY_PREFIX}my_keys'\n\t\t\t", 'num_rows'); if (!$table_exists) { continue; } // проверим, майнер ли $miner_id = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `miner_id`\n\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\tWHERE `user_id` = {$community[$k]}\n\t\tLIMIT 1\n\t\t", 'fetch_one'); if ($miner_id) { // наш приватный ключ нода, которым будем расшифровывать комменты $private_key = get_node_private_key($db, $MY_PREFIX); } // возможно, что комменты будут зашифрованы юзерским ключем if (!$private_key) { $private_key = get_my_private_key($db, $MY_PREFIX); } // если это еще не майнер и админ ноды не указал его приватный ключ в табле my_keys, то $private_key будет пуст if (!$private_key) { continue; } $my_data = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `shop_secret_key`,\n\t\t\t\t\t\t `shop_callback_url`\n\t\t\tFROM `" . DB_PREFIX . $MY_PREFIX . "my_table`\n\t\t\t", 'fetch_array'); // Получаем инфу о входящих переводах и начисляем их на счета юзеров $res = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT *\n\t\t\tFROM `" . DB_PREFIX . $MY_PREFIX . "my_dc_transactions`\n\t\t\tWHERE `type` = 'from_user' AND\n\t\t\t\t\t\t `block_id` < " . ($block_id - $confirmations) . " AND\n\t\t\t\t\t\t `merchant_checked` = 0 AND\n\t\t\t\t\t\t `status` = 'approved'\n\t\t\tORDER BY `id` DESC\n\t\t\t"); //print $db->printsql()."\n"; while ($row = $db->fetchArray($res)) { //print_R($row);