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,105 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// --- (기존 PHP 데이터 처리 코드는 그대로 둡니다) ---
$main_visual_post = null;
$main_visual_files = [];
$layout_class = '';
$today = G5_TIME_YMD;
$sql = " SELECT * FROM {$g5['write_prefix']}main_visual
WHERE wr_is_comment = 0 AND wr_10 = '0' AND (wr_1 = 'IMMEDIATE' OR (wr_1 = 'RESERVED' AND '{$today}' BETWEEN wr_2 AND wr_3))
ORDER BY CASE wr_1 WHEN 'IMMEDIATE' THEN 1 ELSE 2 END, wr_num, wr_reply LIMIT 1 ";
$main_visual_post = sql_fetch($sql);
if ($main_visual_post) {
$layout_class = 'story-layout-full';
$temp_files = get_file('main_visual', $main_visual_post['wr_id']);
if (isset($temp_files) && $temp_files['count'] > 0) {
for ($i = 0; $i < $temp_files['count']; $i++) {
if (!isset($temp_files[$i]['file']) || !$temp_files[$i]['file']) continue;
$file_ext = strtolower(pathinfo($temp_files[$i]['file'], PATHINFO_EXTENSION));
$is_video = in_array($file_ext, ['mp4', 'mov', 'webm']);
$main_visual_files[] = ['url' => $temp_files[$i]['path'].'/'.$temp_files[$i]['file'], 'type' => $is_video ? 'video' : 'image'];
}
}
$has_media_in_content = preg_match('/<img|<video/i', $main_visual_post['wr_content']);
if ($has_media_in_content) {
$layout_class = (count($main_visual_files) > 0) ? 'story-layout-split' : 'story-layout-full';
} else {
$layout_class = (count($main_visual_files) > 0) ? 'story-layout-static' : 'story-layout-full';
}
} else {
$layout_class = 'story-layout-static';
}
// --- (PHP 코드 끝) ---
?>
<!-- 💡 [최종 수정] section에 'rb-autounwrap' 클래스를 추가하여 스마트 모듈임을 선언합니다. -->
<section id="story" class="story-section">
<div class="container <?php echo $layout_class; ?>">
<?php if ($main_visual_post) { // 표시할 게시물이 있을 경우 ?>
<div class="story-text">
<span class="subtitle">Our Vision</span>
<h2><?php echo get_text($main_visual_post['wr_subject']); ?></h2>
<?php echo conv_content($main_visual_post['wr_content'], 1); ?>
</div>
<div class="story-image">
<?php if (count($main_visual_files) > 0) { // 첨부파일이 있을 경우 슬라이더 표시 ?>
<div class="swiper-container story-slider">
<div class="swiper-wrapper">
<?php foreach ($main_visual_files as $file) { ?>
<div class="swiper-slide" data-type="<?php echo $file['type']; ?>">
<?php if ($file['type'] === 'video') { ?>
<video src="<?php echo $file['url']; ?>" muted playsinline loop autoplay></video>
<?php } else { ?>
<img src="<?php echo $file['url']; ?>" alt="메인 비주얼 이미지">
<?php } ?>
</div>
<?php } ?>
</div>
<div class="swiper-pagination"></div>
</div>
<?php } ?>
</div>
<?php } else { // 표시할 게시물이 없을 경우 (기존 정적 내용) ?>
<div class="story-text">
<span class="subtitle">Our Vision</span>
<h2>문을 열면, 삶이 달라져야 한다고 믿습니다.</h2>
<p>성진미도어는 국내 중문 시장 최초로 여닫이와 미닫이 기능을 복합한 ‘프리도어’를 개발했습니다. 시판과 특판 모두를 아우를 수 있는 기술력으로, 일상의 흐름을 바꾸는 문을 만듭니다. 중문 시장의 한줄기 빛이 되도록, 오늘도 한 걸음 더 나아갑니다.</p>
</div>
<div class="story-image">
<img src="<?php echo G5_THEME_URL ?>/img/mainimage/main1.png" alt="미래 지향적인 디자인의 문">
</div>
<?php } ?>
</div>
</section>
<!-- 💡 [핵심] 이 모듈에 필요한 CSS와 JS 파일을 모두 이곳에서 직접 불러옵니다. -->
<link rel="stylesheet" href="<?php echo G5_THEME_URL; ?>/rb.custom/main_visual/module.css?ver=<?php echo G5_CSS_VER; ?>">
<script>
(function() {
const currentModuleId = '<?php echo $module_id; ?>';
const initFunctionName = 'initSurveyListModule';
const scriptId = 'survey-list-module-script';
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 G5_THEME_URL; ?>/rb.custom/main_visual/module.js?ver=<?php echo $module_js_ver; ?>';
script.async = true;
script.onload = () => {
if (typeof window[initFunctionName] === 'function') {
window[initFunctionName](currentModuleId);
}
};
document.head.appendChild(script);
})();
</script>