158 lines
7.2 KiB
PHP
158 lines
7.2 KiB
PHP
<?php
|
|
include_once('../../common.php');
|
|
|
|
if (!defined('_GNUBOARD_')) exit;
|
|
|
|
$mod_type = !empty($_POST['mod_type']) ? $_POST['mod_type'] : '';
|
|
$v_code = isset($_POST['v_code']) ? trim($_POST['v_code']) : '';
|
|
|
|
// 조건: shop-list- 로 시작하고 ca_id가 붙은 구조일 때만 처리
|
|
if (preg_match('/^shop-list-(\d+)$/', $v_code, $matches)) {
|
|
$ca_id = $matches[1];
|
|
// 2자리씩 하이픈 삽입
|
|
$formatted_ca_id = implode('-', str_split($ca_id, 2));
|
|
$v_code = 'shop-list-' . $formatted_ca_id;
|
|
}
|
|
|
|
if (!$v_code) exit('페이지 코드가 없습니다.');
|
|
|
|
if(isset($mod_type) && $mod_type == 1) {
|
|
|
|
$co_topvisual_height = !empty($_POST['co_topvisual_height']) ? $_POST['co_topvisual_height'] : '200';
|
|
$co_topvisual_width = !empty($_POST['co_topvisual_width']) ? $_POST['co_topvisual_width'] : '';
|
|
$co_topvisual_bl = isset($_POST['co_topvisual_bl']) ? $_POST['co_topvisual_bl'] : '10';
|
|
$co_topvisual_border = isset($_POST['co_topvisual_border']) ? $_POST['co_topvisual_border'] : '0';
|
|
$co_topvisual_radius = isset($_POST['co_topvisual_radius']) ? $_POST['co_topvisual_radius'] : '0';
|
|
$co_topvisual_m_color = !empty($_POST['co_topvisual_m_color']) ? $_POST['co_topvisual_m_color'] : '#ffffff';
|
|
$co_topvisual_m_size = !empty($_POST['co_topvisual_m_size']) ? $_POST['co_topvisual_m_size'] : '20';
|
|
$co_topvisual_m_font = !empty($_POST['co_topvisual_m_font']) ? $_POST['co_topvisual_m_font'] : 'font-B';
|
|
$co_topvisual_m_align = !empty($_POST['co_topvisual_m_align']) ? $_POST['co_topvisual_m_align'] : 'left';
|
|
$co_topvisual_s_color = !empty($_POST['co_topvisual_s_color']) ? $_POST['co_topvisual_s_color'] : '#ffffff';
|
|
$co_topvisual_s_size = !empty($_POST['co_topvisual_s_size']) ? $_POST['co_topvisual_s_size'] : '16';
|
|
$co_topvisual_s_font = !empty($_POST['co_topvisual_s_font']) ? $_POST['co_topvisual_s_font'] : 'font-R';
|
|
$co_topvisual_s_align = !empty($_POST['co_topvisual_s_align']) ? $_POST['co_topvisual_s_align'] : 'left';
|
|
$co_topvisual_bg_color = !empty($_POST['co_topvisual_bg_color']) ? $_POST['co_topvisual_bg_color'] : '#f9f9f9';
|
|
$co_topvisual_style_all = !empty($_POST['co_topvisual_style_all']) ? $_POST['co_topvisual_style_all'] : '0';
|
|
$v_time = G5_TIME_YMDHIS;
|
|
|
|
} else {
|
|
$v_use = isset($_POST['v_use']) ? intval($_POST['v_use']) : 0;
|
|
$v_url = isset($_POST['v_url']) ? trim($_POST['v_url']) : '';
|
|
$v_time = G5_TIME_YMDHIS;
|
|
}
|
|
|
|
$table = "rb_topvisual";
|
|
$row = sql_fetch("SELECT COUNT(*) as cnt FROM {$table} WHERE v_code = '{$v_code}'");
|
|
|
|
if(isset($mod_type) && $mod_type == 1) {
|
|
|
|
if ($row['cnt'] > 0) {
|
|
// 현재 노드 업데이트
|
|
sql_query("UPDATE {$table} SET
|
|
co_topvisual_height = '{$co_topvisual_height}',
|
|
co_topvisual_width = '{$co_topvisual_width}',
|
|
co_topvisual_bl = '{$co_topvisual_bl}',
|
|
co_topvisual_border = '{$co_topvisual_border}',
|
|
co_topvisual_radius = '{$co_topvisual_radius}',
|
|
co_topvisual_m_color = '{$co_topvisual_m_color}',
|
|
co_topvisual_m_size = '{$co_topvisual_m_size}',
|
|
co_topvisual_m_font = '{$co_topvisual_m_font}',
|
|
co_topvisual_m_align = '{$co_topvisual_m_align}',
|
|
co_topvisual_s_color = '{$co_topvisual_s_color}',
|
|
co_topvisual_s_size = '{$co_topvisual_s_size}',
|
|
co_topvisual_s_font = '{$co_topvisual_s_font}',
|
|
co_topvisual_s_align = '{$co_topvisual_s_align}',
|
|
co_topvisual_bg_color = '{$co_topvisual_bg_color}',
|
|
co_topvisual_style_all = '{$co_topvisual_style_all}',
|
|
v_time = '{$v_time}'
|
|
WHERE v_code = '{$v_code}'");
|
|
|
|
// co_topvisual_style_all = 1 이면 하위 노드도 동일하게 스타일 동기화
|
|
if ($co_topvisual_style_all == 1) {
|
|
sql_query("UPDATE {$table} SET
|
|
co_topvisual_height = '{$co_topvisual_height}',
|
|
co_topvisual_width = '{$co_topvisual_width}',
|
|
co_topvisual_bl = '{$co_topvisual_bl}',
|
|
co_topvisual_border = '{$co_topvisual_border}',
|
|
co_topvisual_radius = '{$co_topvisual_radius}',
|
|
co_topvisual_m_color = '{$co_topvisual_m_color}',
|
|
co_topvisual_m_size = '{$co_topvisual_m_size}',
|
|
co_topvisual_m_font = '{$co_topvisual_m_font}',
|
|
co_topvisual_m_align = '{$co_topvisual_m_align}',
|
|
co_topvisual_s_color = '{$co_topvisual_s_color}',
|
|
co_topvisual_s_size = '{$co_topvisual_s_size}',
|
|
co_topvisual_s_font = '{$co_topvisual_s_font}',
|
|
co_topvisual_s_align = '{$co_topvisual_s_align}',
|
|
co_topvisual_bg_color = '{$co_topvisual_bg_color}'
|
|
WHERE v_code LIKE '{$v_code}-%'");
|
|
}
|
|
|
|
// 응답
|
|
$data = array(
|
|
'co_topvisual_height' => $co_topvisual_height,
|
|
'co_topvisual_width' => $co_topvisual_width,
|
|
'co_topvisual_bl' => $co_topvisual_bl,
|
|
'co_topvisual_border' => $co_topvisual_border,
|
|
'co_topvisual_radius' => $co_topvisual_radius,
|
|
'co_topvisual_m_color' => $co_topvisual_m_color,
|
|
'co_topvisual_m_size' => $co_topvisual_m_size,
|
|
'co_topvisual_m_font' => $co_topvisual_m_font,
|
|
'co_topvisual_m_align' => $co_topvisual_m_align,
|
|
'co_topvisual_s_color' => $co_topvisual_s_color,
|
|
'co_topvisual_s_size' => $co_topvisual_s_size,
|
|
'co_topvisual_s_font' => $co_topvisual_s_font,
|
|
'co_topvisual_s_align' => $co_topvisual_s_align,
|
|
'co_topvisual_bg_color' => $co_topvisual_bg_color,
|
|
'co_topvisual_style_all' => $co_topvisual_style_all,
|
|
'status' => 'ok',
|
|
);
|
|
echo json_encode($data);
|
|
|
|
} else {
|
|
// 새로 등록되는 경우에는 스타일 정보가 없으므로 생략 그대로 OK
|
|
sql_query("INSERT INTO {$table} (v_code, v_name, v_url, v_use, v_time)
|
|
VALUES ('{$v_code}', '', '{$v_url}', '{$v_use}', '{$v_time}')");
|
|
|
|
$data = array(
|
|
'v_use' => $v_use,
|
|
'status' => 'ok',
|
|
);
|
|
echo json_encode($data);
|
|
}
|
|
|
|
} else {
|
|
|
|
if ($row['cnt'] > 0) {
|
|
// 기존 항목이 존재하면 업데이트
|
|
sql_query("UPDATE {$table} SET
|
|
v_use = '{$v_use}',
|
|
v_url = '{$v_url}',
|
|
v_time = '{$v_time}'
|
|
WHERE v_code = '{$v_code}'");
|
|
|
|
} else {
|
|
// 없으면 삽입
|
|
sql_query("INSERT INTO {$table}
|
|
(v_code, v_name, v_url, v_use, v_time)
|
|
VALUES ('{$v_code}', '', '{$v_url}', '{$v_use}', '{$v_time}')");
|
|
}
|
|
|
|
// 추가 로직: 관련된 v_code의 하위/전체 처리
|
|
if ($v_use == 2) {
|
|
sql_query("UPDATE {$table} SET v_use = 1 WHERE v_code LIKE '{$v_code}-%'");
|
|
sql_query("UPDATE {$table} SET v_use = '{$v_use}', co_topvisual_all = 1 WHERE v_code = '{$v_code}'");
|
|
|
|
} else {
|
|
sql_query("UPDATE {$table} SET v_use = 0 WHERE v_code LIKE '{$v_code}-%'");
|
|
sql_query("UPDATE {$table} SET v_use = '{$v_use}', co_topvisual_all = 0 WHERE v_code = '{$v_code}'");
|
|
|
|
}
|
|
|
|
// 응답 반환
|
|
$data = array(
|
|
'v_use' => $v_use,
|
|
'status' => 'ok',
|
|
);
|
|
echo json_encode($data);
|
|
|
|
} |