first commit 2

This commit is contained in:
hmw1001
2026-06-11 18:47:38 +09:00
parent c768729ce6
commit 6f534e33a6
11095 changed files with 1595758 additions and 0 deletions
@@ -0,0 +1,109 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// 💡 [핵심] 라이브러리 함수를 사용하여 모듈 설정 로드
$rb_skin = get_rb_module_config($options);
// 💡 [핵심] 설정값 적용 (없으면 기본값)
$thumb_width = (int)($rb_skin['md_width'] ? $rb_skin['md_width'] : 100);
$thumb_height = (int)($rb_skin['md_height'] ? $rb_skin['md_height'] : 100);
$list_count = (is_array($list) && $list) ? count($list) : 0;
// 모듈 타이틀 설정
if(isset($rb_skin['md_title']) && $rb_skin['md_title']) {
$bo_subject = $rb_skin['md_title'];
}
// 카테고리 링크 설정
if(isset($rb_skin['md_sca']) && $rb_skin['md_sca']) {
$links_url = get_pretty_url($bo_table,'','sca='.urlencode($rb_skin['md_sca']));
} else {
$links_url = get_pretty_url($bo_table);
}
// 이 스킨 전용 CSS, JS 파일을 불러옵니다.
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css?ver='.G5_SERVER_TIME.'">', 0);
// add_javascript('<script src="'.$latest_skin_url.'/script.js?ver='.G5_SERVER_TIME.'"></script>', 0);
/*
모듈설정 연동 변수
... (주석 생략) ...
*/
?>
<link rel="stylesheet" href="<?php echo $latest_skin_url ?>/style.css?ver=<?php echo G5_SERVER_TIME ?>">
<div class="module_latest_wrap">
<section class="issue-ticker-module">
<!-- 💡 [수정] 표준 타이틀 영역 적용 -->
<div class="issue-header" style="display:<?php echo (isset($rb_skin['md_title_hide']) && $rb_skin['md_title_hide'] == '1') ? 'none' : 'block'; ?>">
<a href="<?php echo $links_url; ?>">
<h2 class="<?php echo isset($rb_skin['md_title_font']) ? $rb_skin['md_title_font'] : 'font-B'; ?>" style="color:<?php echo isset($rb_skin['md_title_color']) ? $rb_skin['md_title_color'] : '#0056b3'; ?>; font-size:<?php echo isset($rb_skin['md_title_size']) ? $rb_skin['md_title_size'] : '16'; ?>px; "><?php echo $bo_subject ?></h2>
</a>
</div>
<!-- 💡 [수정] scrollVert -> scrollUp (기본 효과 사용) -->
<div class="issue-content cycle-slideshow"
data-cycle-fx="scrollUp"
data-cycle-slides="> a"
data-cycle-timeout="3000"
data-cycle-prev=".issue-ticker-module .btn-prev"
data-cycle-next=".issue-ticker-module .btn-next"
data-cycle-reverse="false"
data-cycle-log="false"
>
<?php
for ($i=0; $i<$list_count; $i++) {
?>
<a href="<?php echo $list[$i]['href'] ?>">
<?php
echo $list[$i]['subject'];
if ($rb_skin['md_comment_is'] && $list[$i]['comment_cnt']) {
echo " <span class='comment_count'>".$list[$i]['comment_cnt']."</span>";
}
if ($rb_skin['md_icon_is'] && $list[$i]['icon_new']) {
echo " <span class='new_icon'>N</span>";
}
?>
</a>
<?php } ?>
<?php if ($list_count == 0) { ?>
<div class="empty-latest">게시물이 없습니다.</div>
<?php } ?>
</div>
<div class="issue-controls">
<button type="button" class="btn-prev" aria-label="이전"></button>
<button type="button" class="btn-next" aria-label="다음"></button>
</div>
</section>
</div>
<script>
(function() {
// 💡 [수정] $md_id 대신 $rb_skin['md_id'] 사용
const currentModuleId = 'ns-<?php echo $rb_skin['md_id']; ?>';
const initFunctionName = 'initNoticeModule'; // script.js에 이 함수가 있어야 함
const scriptId = 'notice-module-script-' + currentModuleId;
if (document.getElementById(scriptId)) {
if (typeof window[initFunctionName] === 'function') {
window[initFunctionName](currentModuleId);
}
return;
}
const script = document.createElement('script');
script.id = scriptId;
script.src = '<?php echo $latest_skin_url; ?>/script.js?ver=<?php echo G5_JS_VER; ?>';
script.async = true;
script.onload = () => {
if (typeof window[initFunctionName] === 'function') {
window[initFunctionName](currentModuleId);
}
return;
};
document.head.appendChild(script);
})();
</script>