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,9 @@
<?php
if (!defined('_GNUBOARD_')) exit;
$g5['title'] = '인사말';
$greeting_new_skin_config = [
'left_ad' => false, // 좌측 광고 사용 안함
'right_ad' => false, // 우측 광고 사용 안함
]
?>
@@ -0,0 +1,193 @@
/*
* greeting 정보형 페이지 전용 스타일
*/
.sub-page-container {
padding-top: 0px; !important;
padding-bottom: 80px;
background: #fff;
min-height: 500px;
}
.container {
/* max-width: 1200px; !important; */ /* 💡 [수정] 고정 너비 제거 */
width: 90%; !important;/* 💡 [추가] 화면 너비의 90% 사용 (좌우 5% 여백) */
max-width: 1600px; /* 💡 [추가] 너무 넓어지는 것 방지 (선택 사항) */
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.info-page-container {
background-color: #fff;
padding: 40px;
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}
/* 페이지 헤더 */
.info-page-header {
text-align: center;
margin-bottom: 40px;
}
.info-page-title {
font-size: 2.5rem;
font-weight: 900;
color: #222;
line-height: 1.3;
margin-bottom: 10px;
}
.info-page-subtitle {
font-size: 1.3rem;
color: #555;
}
/* =====================================================
🔥 [수정 핵심]
이미지 | (한글 위 / 영어 아래) 2컬럼 구성
기존 flex → grid 로 변경
===================================================== */
.greeting-content-wrapper {
display: grid; /* [변경] */
grid-template-columns: 250px 1fr; /* 이미지 | 텍스트 */
column-gap: 40px;
align-items: start;
}
/* 대표 이미지 */
.greeting-figure {
flex: 0 0 250px; /* [유지] */
margin: 0;
grid-row: 1 / 3; /* 🔥 한글+영문 전체 높이 차지 */
}
.greeting-image {
width: 100%;
height: auto;
border-radius: 8px;
object-fit: cover;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.signature {
text-align: right;
margin-top: 10px;
}
.signature strong {
display: block;
font-weight: 600;
line-height: 1.6;
}
/* =====================================================
🔥 [수정 핵심]
오른쪽 컬럼 내부 정렬
===================================================== */
.prose {
font-size: 1.1rem;
line-height: 1.8;
color: #333;
}
/* 한글 콘텐츠 */
.greeting-content-wrapper .prose:first-of-type {
grid-column: 2;
grid-row: 1;
}
/* 영문 콘텐츠 */
.greeting-content-wrapper .prose:last-of-type {
grid-column: 2;
grid-row: 2;
}
/* 제목 스타일 */
.prose h3 {
font-size: 1.6rem;
font-weight: 700;
color: #0056b3;
margin-top: 20px;
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 2px solid #f0f0f0;
}
.prose h3:first-child {
margin-top: 0;
}
.prose h3 .fas {
margin-right: 10px;
font-size: 1.4rem;
}
.prose p {
margin-bottom: 1.5em;
color: #555;
}
.prose strong {
color: #000000;
}
/* =====================================================
📱 모바일 대응 (기존 유지 + grid 대응 추가)
===================================================== */
@media (max-width: 768px) {
.greeting-content-wrapper {
grid-template-columns: 1fr; /* 세로 스택 */
}
.greeting-figure {
grid-row: auto;
max-width: 300px;
margin: 0 auto 30px;
}
.prose {
font-size: 1rem;
}
}
@media (max-width: 768px) {
.info-page-container {
padding: 20px;
}
.info-page-title {
font-size: 2rem;
}
}
/*
* 3단 레이아웃 스타일 (기존 코드 유지)
*/
.three-column-layout {
display: flex;
gap: 30px;
}
.layout-sidebar-left {
flex: 0 0 240px;
}
.layout-main-content {
flex: 1;
min-width: 0;
}
.layout-sidebar-right {
flex: 0 0 240px;
}
@media all and (max-width: 768px) {
.three-column-layout {
flex-direction: column;
}
.layout-sidebar-left,
.layout-main-content,
.layout-sidebar-right {
flex-basis: 100%;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

@@ -0,0 +1,127 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 1. 현재 스킨 폴더명 정의 (config.php 로드 전에 설정)
// 2. 통합 설정 파일 로드
$config_path = G5_THEME_PATH . '/skin/page/config.php';
if (file_exists($config_path)) {
include_once($config_path);
} else {
$page_skin_config = array('left_ad' => false, 'right_ad' => false);
}
// 3. 스킨 경로 정의
$current_page_skin = 'greeting_new';
$page_skin_url = G5_THEME_URL . '/skin/page/' . $current_page_skin;
$page_skin_path = G5_THEME_PATH . '/skin/page/' . $current_page_skin;
// 4. CSS/JS 로드
add_stylesheet('<link rel="stylesheet" href="' . $page_skin_url . '/css/style.css?ver=' . G5_SERVER_TIME . '">', 0);
add_javascript('<script src="' . $page_skin_url . '/js/script.js?ver=' . G5_SERVER_TIME . '"></script>', 0);
// 5. 기본 데이터 정의
$page_data = array(
'title' => '신뢰와 전문성으로, 산업의 미래를 함께 만듭니다',
'subtitle' => '', // 기존 코드에 주석 처리되어 있어 빈 값으로 설정
'content' => '
<h3><i class="fas fa-hands-helping"></i> 환영의 인사</h3>
<p>
월간 레이저기술과 금형공구(舊. 금형저널)를 아껴주시는 독자 여러분, 그리고 (주)레이저월드 홈페이지를 찾아주신 모든 분들께 진심으로 환영의 인사를 드립니다.
</p>
<h3><i class="fas fa-rocket"></i> 미디어의 역할과 비전</h3>
<p>
(주)레이저월드(LW, Laser World)는 (주)한국산업정보센타가 오랜 기간 축적해온 레이저 전문 콘텐츠와 산업 네트워크를 기반으로 새롭게 설립된 레이저 기술 전문 미디어 기업입니다.
<br>저희는 <strong>월간 레이저기술</strong>을 중심으로 단행본 발간, 세미나 개최 등 다양한 지식 플랫폼을 통해 국내외 레이저산업의 발전을 함께 만들어가고자 합니다.
</p>
<p>
1993년 창간한 월간 레이저기술은 30년 넘게 산업의 변화를 기록해온 국내 유일의 레이저 전문지로서, 앞으로도 깊이 있고 정확한 정보로 산업 발전의 중심에서 역할을 다하겠습니다.
</p>
<h3><i class="fas fa-gem"></i> 우리의 다짐</h3>
<p>
(주)레이저월드는 금형과 레이저라는 두 분야에 깊이 뿌리내린 전문성을 토대로, 산업 종사자에게 가장 신뢰할 수 있는 정보를 제공하는 것을 목표로 합니다.<br> 정제된 콘텐츠, 현장 중심 취재, 그리고 산업과 함께 성장하겠다는 마음가짐으로 늘 한결같이 노력하겠습니다.
</p>',
'image_url' => $page_skin_url . '/images/caricature.jpg',
'image_alt' => '대표 캐리커처',
'sign_name' => '박준성 / 대표 발행인',
'sign_company' => '(주)레이저월드'
);
// 6. 모듈 설정 연동
if (!isset($module_config) && isset($md_id) && $md_id) {
$module_config = sql_fetch(" SELECT * FROM rb_module WHERE md_id = '{$md_id}' ");
}
if (isset($module_config) && $module_config['md_type'] == 'page') {
$target_bo_table = $module_config['md_bo_table_page'];
$target_wr_id = $module_config['md_wr_id_page'];
if ($target_bo_table && $target_wr_id) {
$write_table = $g5['write_prefix'] . $target_bo_table;
$view = sql_fetch(" SELECT * FROM {$write_table} WHERE wr_id = '{$target_wr_id}' ");
if ($view) {
$page_data['title'] = $view['wr_subject'];
$page_data['subtitle'] = $view['wr_1'];
$page_data['content'] = conv_content($view['wr_content'], 1);
$sql_file = " select bf_file, bf_source from {$g5['board_file_table']} where bo_table = '$target_bo_table' and wr_id = '$target_wr_id' order by bf_no limit 1 ";
$row_file = sql_fetch($sql_file);
if ($row_file['bf_file']) {
$page_data['image_url'] = G5_DATA_URL.'/file/'.$target_bo_table.'/'.$row_file['bf_file'];
$page_data['image_alt'] = $row_file['bf_source'];
} else {
$matches = get_editor_image($view['wr_content'], false);
if($matches) {
$img_src = $matches[1][0];
if (!preg_match("/^(http|https):/i", $img_src)) {
$page_data['image_url'] = G5_URL . $img_src;
} else {
$page_data['image_url'] = $img_src;
}
$page_data['image_alt'] = $view['wr_subject'];
} else {
$page_data['image_url'] = '';
}
}
$page_data['sign_name'] = $view['wr_2'];
$page_data['sign_company'] = $view['wr_3'];
}
}
}
?>
<div class="three-column-layout container">
<?php if (isset($page_skin_config['left_ad']) && $page_skin_config['left_ad'] === true): ?>
<aside class="layout-sidebar-left">
<div class="sidebar-inner">
<?php if($is_admin) { ?> <h3 class="sidebar-title">좌측 광고 영역</h3> <?php } ?>
<div class="flex_box flex_box_l" data-layout="<?php echo $current_page_skin; ?>-left"></div>
</div>
</aside>
<?php endif; ?>
<main class="layout-main-content1">
<div class="info-page-container">
<div class="flex_box layout-col" data-layout="pag-content-<?php echo $current_page_skin; ?>">
<!-- --><?php //echo rb_get_modules('main-content-'.$row_name); ?>
</div>
</div>
</main>
<?php if (isset($page_skin_config['right_ad']) && $page_skin_config['right_ad'] === true): ?>
<aside class="layout-sidebar-right">
<div class="sidebar-inner">
<?php if($is_admin) { ?> <h3 class="sidebar-title">우측 광고 영역</h3> <?php } ?>
<div class="flex_box flex_box_r" data-layout="<?php echo $current_page_skin; ?>-right"></div>
</div>
</aside>
<?php endif; ?>
</div>
@@ -0,0 +1,12 @@
// 이 페이지 전용 커스텀 자바스크립트
document.addEventListener('DOMContentLoaded', function() {
// 예: 특정 요소에 애니메이션 추가 등
// const title = document.querySelector('.section-title');
// if(title) {
// title.style.opacity = 0;
// setTimeout(() => {
// title.style.transition = 'opacity 0.5s';
// title.style.opacity = 1;
// }, 100);
// }
});