<?php
$sub_menu = '650300';
include_once('./_common.php');

auth_check($auth[$sub_menu], "r");

$g5['vpn_msg_table'] = 'strongswan_vpn_msg';

// 테이블이 있는지 검사한다.
if(!sql_query(" DESCRIBE {$g5['vpn_msg_table']} ", false)) {
   $query_cp = sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['vpn_msg_table']}` (
                  `msg_id` int(11) NOT NULL AUTO_INCREMENT,
                  `msg_type` varchar(20) NOT NULL DEFAULT 'msg',
                  `msg_title` varchar(255) NOT NULL DEFAULT '',
                  `msg_video_url` varchar(255) NOT NULL DEFAULT '',
                  `msg_content` text NOT NULL,
                  `msg_begin_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
                  `msg_end_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
                  `msg_order` int(11) NOT NULL DEFAULT '0',
                  `msg_output` tinyint(4) NOT NULL DEFAULT '1',
                  PRIMARY KEY (`msg_id`)
                ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ", true);
} else {
    // msg_video_url 컬럼이 있는지 확인 후 없으면 추가
    $desc = sql_query(" DESCRIBE {$g5['vpn_msg_table']} ", false);
    $has_video_url = false;
    while($row = sql_fetch_array($desc)) {
        if($row['Field'] == 'msg_video_url') {
            $has_video_url = true;
            break;
        }
    }
    if(!$has_video_url) {
        sql_query(" ALTER TABLE `{$g5['vpn_msg_table']}` ADD `msg_video_url` varchar(255) NOT NULL DEFAULT '' AFTER `msg_title` ", false);
    }

    // msg_target, msg_lang, msg_link_url 컬럼 추가
    $desc = sql_query(" DESCRIBE {$g5['vpn_msg_table']} ", false);
    $cols = array();
    while($row = sql_fetch_array($desc)) {
        $cols[] = $row['Field'];
    }

    if(!in_array('msg_target', $cols)) {
        sql_query(" ALTER TABLE `{$g5['vpn_msg_table']}` ADD `msg_target` varchar(10) NOT NULL DEFAULT 'all' AFTER `msg_type` ", false);
    }
    if(!in_array('msg_lang', $cols)) {
        sql_query(" ALTER TABLE `{$g5['vpn_msg_table']}` ADD `msg_lang` varchar(20) NOT NULL DEFAULT 'all' AFTER `msg_target` ", false);
    }
    if(!in_array('msg_link_url', $cols)) {
         sql_query(" ALTER TABLE `{$g5['vpn_msg_table']}` ADD `msg_link_url` varchar(255) NOT NULL DEFAULT '' AFTER `msg_video_url` ", false);
    }

    // 이모지 지원을 위해 msg_content 컬럼의 collation 확인 후 utf8mb4가 아니면 테이블 변환
    $row_coll = sql_fetch(" SHOW FULL COLUMNS FROM `{$g5['vpn_msg_table']}` LIKE 'msg_content' ");
    if ($row_coll && strpos($row_coll['Collation'], 'utf8mb4') === false) {
        sql_query(" ALTER TABLE `{$g5['vpn_msg_table']}` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ", false);
    }
}

$g5['title'] = '팝업레이어(VPN앱전용) 관리';
include_once (G5_ADMIN_PATH.'/admin.head.php');
include_once(dirname(__FILE__).'/shop_admin/_vpn_help_card.php');
vpn_help_card(array(
    'title'     => '팝업 메시지 관리 (앱전용)',
    'purpose'   => '앱 실행 후 메인 화면에 표시되는 팝업 레이어 메시지를 등록·관리합니다. 공지사항, 이벤트 안내 등 특정 기간 동안만 보여줄 메시지를 설정할 수 있습니다.',
    'functions' => array('메시지 등록/수정/삭제', '노출 기간(시작일~종료일) 설정', '대상 회원 그룹 또는 전체 지정', '노출 우선순위 및 닫기 옵션 설정'),
    'results'   => array('앱 메인 화면 로드 시 활성 메시지가 팝업으로 표시', '기간 만료 메시지는 자동으로 미표시'),
    'target'    => 'VPNLink 앱 사용자 — 앱의 WebView(메인 화면) 내 팝업 레이어',
    'warnings'  => array('웹사이트 팝업레이어 관리와 별개 — 앱 전용 설정임', '노출 기간을 정확히 설정하지 않으면 상시 노출될 수 있음'),
));


$sql_common = " from {$g5['vpn_msg_table']} ";

// 테이블의 전체 레코드수만 얻음
$sql = " select count(*) as cnt " . $sql_common;
$row = sql_fetch($sql);
$total_count = $row['cnt'];

$sql = "select * $sql_common order by msg_id desc ";
sql_query("set names utf8mb4");
$result = sql_query($sql);
?>

<div class="local_ov01 local_ov"><span class="btn_ov01"><span class="ov_txt">전체 </span><span class="ov_num">  <?php echo $total_count; ?>건</span></span></div>

<div class="btn_fixed_top ">
    <a href="./vpn_msg_form.php" class="btn btn_01">팝업레이어추가</a>
</div>

<div class="tbl_head01 tbl_wrap">
    <table>
    <caption><?php echo $g5['title']; ?> 목록</caption>
    <thead>
    <tr>
        <th scope="col">ID</th>
        <th scope="col">제목</th>
        <th scope="col">시작일시</th>
        <th scope="col">종료일시</th>
        <th scope="col">출력</th>
        <th scope="col">관리</th>
    </tr>
    </thead>
    <tbody>
    <?php
    for ($i=0; $row=sql_fetch_array($result); $i++) {
        $bg = 'bg'.($i%2);
    ?>

    <tr class="<?php echo $bg; ?>">
        <td class="td_num"><?php echo $row['msg_id']; ?></td>
        <td class="td_left"><?php echo $row['msg_title']; ?></td>
        <td class="td_datetime"><?php echo $row['msg_begin_time']; ?></td>
        <td class="td_datetime"><?php echo $row['msg_end_time']; ?></td>
        <td class="td_boolean"><?php echo $row['msg_output'] ? 'YES' : 'NO'; ?></td>
        <td class="td_mng">
            <a href="./vpn_msg_form.php?w=u&amp;msg_id=<?php echo $row['msg_id']; ?>"><span class="sound_only"><?php echo $row['msg_title']; ?> </span>수정</a>
            <a href="./vpn_msg_form_update.php?w=d&amp;msg_id=<?php echo $row['msg_id']; ?>" onclick="return delete_confirm(this);"><span class="sound_only"><?php echo $row['msg_title']; ?> </span>삭제</a>
        </td>
    </tr>
    <?php
    }
    if ($i == 0) echo "<tr><td colspan=\"6\" class=\"empty_table\">자료가 없습니다.</td></tr>";
    ?>
    </tbody>
    </table>
</div>

<?php
include_once (G5_ADMIN_PATH.'/admin.tail.php');
?>
