<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
## 날짜/시간
$date_custom = isset($_POST['wr_date_custom']) ? trim($_POST['wr_date_custom']) : '';
$time_custom = isset($_POST['wr_time_custom']) ? trim($_POST['wr_time_custom']) : '';
if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $date_custom)) {
$date_custom = date('Y-m-d');
}
if (!preg_match('/^\d{2}:\d{2}(:\d{2})?$/', $time_custom)) {
$time_custom = date('H:i:s');
} else if (strlen($time_custom) === 5) {
$time_custom .= ':00';
}
$wr_datetime = "{$date_custom} {$time_custom}";
sql_query(" update $write_table set wr_datetime = '$wr_datetime' where wr_id = '$wr_id' ");
//-----------------------------------------------
## 비트코인 시세 집계 날짜
if ($jy_btc) {
$btc_datetime = "{$btc_ymd} {$btc_his}";
sql_query(" update $write_table set btc_datetime = '$btc_datetime' where wr_id = '$wr_id' ");
} else {
sql_query(" update $write_table set btc_datetime = '' where wr_id = '$wr_id' ");
}
//-----------------------------------------------
$x2_korean_name = isset($_POST['x2_korean_name']) ? sql_escape_string(trim($_POST['x2_korean_name'])) : '';
$x2_run = isset($_POST['x2_run']) ? '1' : '0';
$x2_ca2 = isset($_POST['x2_ca2']) ? sql_escape_string(trim($_POST['x2_ca2'])) : '';
$x2_ca3 = isset($_POST['x2_ca3']) ? sql_escape_string(trim($_POST['x2_ca3'])) : '';
$x2_ver = isset($_POST['x2_ver']) ? sql_escape_string(trim($_POST['x2_ver'])) : '';
$x2_tag = isset($_POST['x2_tag']) ? sql_escape_string(trim($_POST['x2_tag'])) : (isset($_POST['wr_1']) ? sql_escape_string(trim($_POST['wr_1'])) : '');
$x2_base_amount = isset($_POST['x2_base_amount']) ? sql_escape_string(trim($_POST['x2_base_amount'])) : '';
$x2_target_amount = isset($_POST['x2_target_amount']) ? sql_escape_string(trim($_POST['x2_target_amount'])) : '';
$x2_target_type = isset($_POST['x2_target_type']) ? sql_escape_string(trim($_POST['x2_target_type'])) : '';
$x2_current_asset = isset($_POST['x2_current_asset']) ? sql_escape_string(trim($_POST['x2_current_asset'])) : '';
$x2_profit_amount = isset($_POST['x2_profit_amount']) ? sql_escape_string(trim($_POST['x2_profit_amount'])) : '';
$x2_profit_rate = isset($_POST['x2_profit_rate']) ? sql_escape_string(trim($_POST['x2_profit_rate'])) : '';
$x2_reach_rate = isset($_POST['x2_reach_rate']) ? sql_escape_string(trim($_POST['x2_reach_rate'])) : '';
$x2_datetime = isset($_POST['x2_datetime']) ? trim($_POST['x2_datetime']) : '';
$x2_unit_base = isset($_POST['x2_unit_base']) ? sql_escape_string(trim($_POST['x2_unit_base'])) : '';
$x2_unit_add = isset($_POST['x2_unit_add']) ? sql_escape_string(trim($_POST['x2_unit_add'])) : '';
$x2_unit_max = isset($_POST['x2_unit_max']) ? sql_escape_string(trim($_POST['x2_unit_max'])) : '';
$x2_base_increase_rate = isset($_POST['x2_base_increase_rate']) ? sql_escape_string(trim($_POST['x2_base_increase_rate'])) : '';
$x2_max_increase_rate = isset($_POST['x2_max_increase_rate']) ? sql_escape_string(trim($_POST['x2_max_increase_rate'])) : '';
$x2_trade_item = isset($_POST['x2_trade_item']) ? sql_escape_string(trim($_POST['x2_trade_item'])) : '';
$x2_text = isset($_POST['x2_text']) ? sql_escape_string(trim($_POST['x2_text'])) : '';
$x2_top = isset($_POST['x2_top']) ? '1' : '0';
$x2_label = isset($_POST['x2_label']) ? '1' : '0';
$x2_core = isset($_POST['x2_core']) ? '1' : '0';
$x2_memo_button = isset($_POST['x2_memo_button']) ? '1' : '0';
$x2_memo_clean = isset($_POST['x2_memo_clean']) ? '1' : '0';
$x2_memo = isset($_POST['x2_memo']) ? sql_escape_string(trim($_POST['x2_memo'])) : '';
if ($x2_run === '1') {
if ($x2_datetime === '') {
$x2_datetime = date('Y-m-d H:i:s');
} else {
$x2_datetime = str_replace('T', ' ', $x2_datetime);
if (preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/', $x2_datetime)) {
$x2_datetime .= ':00';
}
if (!preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/', $x2_datetime)) {
$x2_datetime = date('Y-m-d H:i:s');
}
}
$x2_datetime = sql_escape_string($x2_datetime);
} else {
$x2_datetime = '';
$x2_current_asset = '';
$x2_profit_amount = '';
$x2_profit_rate = '';
$x2_reach_rate = '';
}
sql_query(" update $write_table set x2_run = '$x2_run' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_datetime = '$x2_datetime' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_ca2 = '$x2_ca2' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_ca3 = '$x2_ca3' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_tag = '$x2_tag' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_ver = '$x2_ver' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_korean_name = '$x2_korean_name' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_base_amount = '$x2_base_amount' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_target_amount = '$x2_target_amount' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_current_asset = '$x2_current_asset' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_profit_amount = '$x2_profit_amount' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_profit_rate = '$x2_profit_rate' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_reach_rate = '$x2_reach_rate' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_target_type = '$x2_target_type' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_unit_base = '$x2_unit_base' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_unit_add = '$x2_unit_add' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_unit_max = '$x2_unit_max' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_base_increase_rate = '$x2_base_increase_rate' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_max_increase_rate = '$x2_max_increase_rate' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_trade_item = '$x2_trade_item' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_text = '$x2_text' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_top = '$x2_top' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_label = '$x2_label' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_core = '$x2_core' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_memo_button = '$x2_memo_button' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_memo_clean = '$x2_memo_clean' where wr_id = '$wr_id' ");
sql_query(" update $write_table set x2_memo = '$x2_memo' where wr_id = '$wr_id' ");
// 1. 오빠가 입력한 코인명 (순정 이름)
$origin_coin = isset($wr_subject) ? trim($wr_subject) : '';
if ($origin_coin) {
// 2. [목표 설정] 오빠 명령(x2_run)에 따라 최종 이름표 결정
// 켜져 있으면(1) -> 순정 ("BTC")
// 꺼져 있으면 -> 낙인 ("OFF_BTC")
$is_active = (isset($_POST['x2_run']) && $_POST['x2_run'] == '1');
$final_market = $is_active ? $origin_coin : 'OFF_' . $origin_coin;
// 3. [구멍 탐색] 순정이든 낙인이든 일단 이 코인 행이 있는지 찾음
// "야, 너 BTC든 OFF_BTC든 뭐라도 있냐?"
global $db_upbit; // extend 연결 소환
if (isset($db_upbit) && $db_upbit) {
try {
// 검색 조건: 순정 이름 OR 낙인 이름 둘 중 하나라도 있는지 확인
$check_sql = "SELECT id, symbol FROM stats_direction_01_bybit WHERE symbol IN (:clean, :off)";
$stmt = $db_upbit->prepare($check_sql);
$stmt->execute([
':clean' => $origin_coin,
':off' => 'OFF_' . $origin_coin
]);
$row = $stmt->fetch();
if ($row) {
// ★ [UPDATE] 이미 있는 년이다! -> 이름표만 바꿔 달아줌
// 기존 값이랑 다를 때만 업데이트 (쓸데없는 짓 안 하게)
if ($row['symbol'] != $final_market) {
$update_sql = "UPDATE stats_direction_01_bybit SET symbol = :new_market, collected_at = NOW() WHERE id = :id";
$stmt_up = $db_upbit->prepare($update_sql);
$stmt_up->execute([
':new_market' => $final_market,
':id' => $row['id']
]);
}
} else {
// ★ [INSERT] 아예 없는 년이다! -> 순차적으로 낮은 번호로 들어가게 함
// 현재 테이블에서 비어있는 가장 작은 ID 값을 찾음 (1번부터 체크)
$find_id_sql = "SELECT MIN(unused.id) AS next_id
FROM (
SELECT 1 AS id
UNION ALL
SELECT id + 1 FROM stats_direction_01_bybit
) AS unused
WHERE id NOT IN (SELECT id FROM stats_direction_01_bybit)";
$id_res = $db_upbit->query($find_id_sql);
$next_id_row = $id_res->fetch();
$next_id = $next_id_row['next_id'] ? $next_id_row['next_id'] : 1;
$insert_sql = "INSERT INTO stats_direction_01_bybit (id, symbol, collected_at) VALUES (:next_id, :new_market, NOW())";
$stmt_in = $db_upbit->prepare($insert_sql);
$stmt_in->execute([
':next_id' => $next_id,
':new_market' => $final_market
]);
}
// [추가] daemon_bybit_Ticker 테이블 korean_name 컬럼 업데이트
if (isset($_POST['x2_korean_name'])) {
$k_name = trim($_POST['x2_korean_name']);
$up_ticker = "UPDATE daemon_bybit_Ticker SET korean_name = :k_name WHERE symbol = :symbol";
$stmt_tk = $db_upbit->prepare($up_ticker);
$stmt_tk->execute([':k_name'=>$k_name, ':symbol'=>$origin_coin]);
$stmt_tk->execute([':k_name'=>$k_name, ':symbol'=>'OFF_'.$origin_coin]);
}
} catch (PDOException $e) {
// 에러 무시
}
}
}
?>