Fix first install css generate error and adjust admin page

This commit is contained in:
Amberstone 2025-11-22 15:17:18 +09:00
parent 058f22c35b
commit b01b33978f
Signed by: amber
GPG key ID: 094B0E55F98D8BF1
26 changed files with 2325 additions and 558 deletions

View file

@ -31,15 +31,15 @@ include_once G5_PATH . '/head.sub.php';
<header id="header"> <header id="header">
<div id="admin_prof"> <div id="admin_prof">
<h1> <h1>
<a href="<?php echo G5_ADMIN_URL ?>"><img src="<?= G5_ADMIN_URL ?>/img/logo.png" alt="Avocado Edition" /></a> <a href="<?php echo G5_ADMIN_URL ?>"><img src="<?= G5_ADMIN_URL ?>/img/logo.png" alt="Avocado Edition: Amber" /></a>
</h1> </h1>
</div>
<p> <p>
<a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&amp;mb_id=<?php echo $member['mb_id'] ?>" class="name"> <a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&amp;mb_id=<?php echo $member['mb_id'] ?>" class="name">
<?= $member['mb_name'] ?> <?= $member['mb_name'] ?>
</a> </a>
<a href="<?php echo G5_BBS_URL ?>/logout.php" class="logout">로그아웃</a> <a href="<?php echo G5_BBS_URL ?>/logout.php" class="logout">로그아웃</a>
</p> </p>
</div>
<nav id="gnb"> <nav id="gnb">
<ul> <ul>
<li style="border-bottom:1px solid #444;"> <li style="border-bottom:1px solid #444;">
@ -65,6 +65,7 @@ include_once G5_PATH . '/head.sub.php';
</nav> </nav>
</header> </header>
<section id="wrapper"> <section id="wrapper">
<div class="admin-content">
<aside id="page_top"> <aside id="page_top">
<h2><?php echo $g5['title'] ?></h2> <h2><?php echo $g5['title'] ?></h2>
</aside> </aside>

View file

@ -2,6 +2,7 @@
if (!defined('_GNUBOARD_')) if (!defined('_GNUBOARD_'))
exit; exit;
?> ?>
</div>
<div class="footer-copyright"> <div class="footer-copyright">
<a href="https://amberst.one/amber/AvocadoAmber" target="_blank"> Avocado Amber v<?= G5_GNUBOARD_VER ?> </a> <a href="https://amberst.one/amber/AvocadoAmber" target="_blank"> Avocado Amber v<?= G5_GNUBOARD_VER ?> </a>
</div> </div>
@ -11,6 +12,17 @@ if (!defined('_GNUBOARD_'))
<script src="<?php echo G5_ADMIN_URL ?>/js/admin.js?ver=<?php echo G5_JS_VER; ?>"></script> <script src="<?php echo G5_ADMIN_URL ?>/js/admin.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script src="<?php echo G5_ADMIN_URL ?>/js/admin.ajax.js?ver=<?php echo G5_JS_VER; ?>"></script> <script src="<?php echo G5_ADMIN_URL ?>/js/admin.ajax.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script> <script>
// give section active class
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('section[id^=anc_]').forEach((section) => {
let section_id = section.getAttribute('id');
if (section_id) {
let anc = section.querySelector(`a[href='#${section_id}']`);
anc.classList.add('active');
}
});
});
$(function () { $(function () {
var hide_menu = false; var hide_menu = false;
var mouse_event = false; var mouse_event = false;

View file

@ -99,8 +99,10 @@
* @var string|int $bo_8 * @var string|int $bo_8
* @var string|int $bo_9 * @var string|int $bo_9
* @var string|int $bo_10 * @var string|int $bo_10
* @var string $bo_version
*/ */
include_once "./_common.php"; include_once "./_common.php";
include_once "./board_migration.inc.php";
if ($w == 'u') if ($w == 'u')
check_demo(); check_demo();
@ -263,7 +265,8 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
bo_7 = '{$_POST['bo_7']}', bo_7 = '{$_POST['bo_7']}',
bo_8 = '{$_POST['bo_8']}', bo_8 = '{$_POST['bo_8']}',
bo_9 = '{$_POST['bo_9']}', bo_9 = '{$_POST['bo_9']}',
bo_10 = '{$_POST['bo_10']}' "; bo_10 = '{$_POST['bo_10']}',
bo_version = '". BOARD_MIGRATION_VERSION . "';";
if ($w == '') { if ($w == '') {

View file

@ -71,8 +71,7 @@ $colspan = 11;
<?php echo $listall ?> <?php echo $listall ?>
생성된 게시판수 <?php echo number_format($total_count) ?> 생성된 게시판수 <?php echo number_format($total_count) ?>
<?php if (count($boards_need_update) > 0) { ?> <?php if (count($boards_need_update) > 0) { ?>
<span style="color: #ff6b6b; font-weight: bold; margin-left: 20px;"> <span style="font-weight: bold; margin-left: 20px;">
<span class="material-icons" style="vertical-align: middle; font-size: 18px;">warning</span>
업데이트 필요: <?php echo count($boards_need_update) ?> 업데이트 필요: <?php echo count($boards_need_update) ?>
</span> </span>
<?php } ?> <?php } ?>
@ -116,12 +115,12 @@ $colspan = 11;
<th scope="col" style="width:100px;"><?php echo subject_sort_link('bo_table') ?>TABLE</a></th> <th scope="col" style="width:100px;"><?php echo subject_sort_link('bo_table') ?>TABLE</a></th>
<th scope="col" style="width:150px;"><?php echo subject_sort_link('bo_skin', '', 'desc') ?>스킨</a></th> <th scope="col" style="width:150px;"><?php echo subject_sort_link('bo_skin', '', 'desc') ?>스킨</a></th>
<th scope="col"><?php echo subject_sort_link('bo_subject') ?>제목</a></th> <th scope="col"><?php echo subject_sort_link('bo_subject') ?>제목</a></th>
<th scope="col" style="width:80px;">버전</th>
<th scope="col" style="width:80px;">목록보기</th> <th scope="col" style="width:80px;">목록보기</th>
<th scope="col" style="width:80px;">글읽기</th> <th scope="col" style="width:80px;">글읽기</th>
<th scope="col" style="width:80px;">글쓰기</th> <th scope="col" style="width:80px;">글쓰기</th>
<th scope="col" style="width:80px;">글답변</th> <th scope="col" style="width:80px;">글답변</th>
<th scope="col" style="width:80px;">댓글쓰기</th> <th scope="col" style="width:80px;">댓글쓰기</th>
<th scope="col" style="width:80px;">버전</th>
<th scope="col" style="width:90px;">관리</th> <th scope="col" style="width:90px;">관리</th>
</tr> </tr>
</thead> </thead>
@ -167,13 +166,6 @@ $colspan = 11;
<input type="text" name="bo_subject[<?php echo $i ?>]" value="<?php echo get_text($row['bo_subject']) ?>" <input type="text" name="bo_subject[<?php echo $i ?>]" value="<?php echo get_text($row['bo_subject']) ?>"
id="bo_subject_<?php echo $i ?>" required class="required frm_input bo_subject full_input" size="25"> id="bo_subject_<?php echo $i ?>" required class="required frm_input bo_subject full_input" size="25">
</td> </td>
<td>
<?php if ($need_migration) { ?>
<span style="color: #ff6b6b; font-weight: bold;">업데이트 필요</span>
<?php } else { ?>
<span style="color: #51cf66;"><?php echo htmlspecialchars($row['bo_version']); ?></span>
<?php } ?>
</td>
<td> <td>
<?php echo get_member_level_select('bo_list_level[' . $i . ']', 1, 10, $row['bo_list_level']) ?> <?php echo get_member_level_select('bo_list_level[' . $i . ']', 1, 10, $row['bo_list_level']) ?>
</td> </td>
@ -189,12 +181,18 @@ $colspan = 11;
<td> <td>
<?php echo get_member_level_select('bo_comment_level[' . $i . ']', 1, 10, $row['bo_comment_level']) ?> <?php echo get_member_level_select('bo_comment_level[' . $i . ']', 1, 10, $row['bo_comment_level']) ?>
</td> </td>
<td>
<?php if ($need_migration) { ?>
<span style="color: #ff6b6b; font-weight: bold;">업데이트 필요</span>
<?php } else { ?>
<span><?php echo htmlspecialchars($row['bo_version']); ?></span>
<?php } ?>
</td>
<td> <td>
<?php echo $one_update ?> <?php echo $one_update ?>
<?php echo $one_copy ?> <?php echo $one_copy ?>
<?php if ($need_migration) { ?> <?php if ($need_migration) { ?>
<br><a href="#" class="btn_migrate" data-bo-table="<?php echo $row['bo_table'] ?>" <br><a href="#" class="btn_migrate" data-bo-table="<?php echo $row['bo_table'] ?>">업데이트</a>
style="color: #ff6b6b;">업데이트</a>
<?php } ?> <?php } ?>
</td> </td>
</tr> </tr>
@ -218,7 +216,7 @@ $colspan = 11;
<input type="submit" name="act_button" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value">
</div> </div>
<?php if (count($boards_need_update) > 0) { ?> <?php if (count($boards_need_update) > 0) { ?>
<div class="btn ty4" style="background-color: #ff6b6b;"> <div class="btn ty4">
<span class="material-icons">update</span> <span class="material-icons">update</span>
<input type="submit" name="act_button" value="선택마이그레이션" title="선택마이그레이션" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택마이그레이션" title="선택마이그레이션" onclick="document.pressed=this.value">
</div> </div>
@ -279,7 +277,6 @@ $colspan = 11;
dataType: 'json', dataType: 'json',
success: function (response) { success: function (response) {
if (response.success) { if (response.success) {
alert(response.message + '\n업데이트된 컬럼: ' + response.updated + '개');
location.reload(); location.reload();
} else { } else {
alert('오류: ' + response.message); alert('오류: ' + response.message);

View file

@ -23,6 +23,11 @@ if ($_POST['act_button'] == "단일마이그레이션") {
} }
// 선택 마이그레이션 처리 // 선택 마이그레이션 처리
if (!count($_POST['chk'])) {
alert($_POST['act_button'] . " 하실 항목을 하나 이상 체크하세요.");
}
if ($_POST['act_button'] == "선택마이그레이션") { if ($_POST['act_button'] == "선택마이그레이션") {
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
@ -52,20 +57,7 @@ if ($_POST['act_button'] == "선택마이그레이션") {
$messages[] = "{$bo_table}: 실패 - {$result['message']}"; $messages[] = "{$bo_table}: 실패 - {$result['message']}";
} }
} }
} else if ($_POST['act_button'] == "선택수정") {
$alert_message = "마이그레이션 완료\n\n";
$alert_message .= "성공: {$success_count}\n";
$alert_message .= "실패: {$fail_count}\n\n";
$alert_message .= implode("\n", $messages);
alert($alert_message, './board_list.php?' . $qstr);
}
if (!count($_POST['chk'])) {
alert($_POST['act_button'] . " 하실 항목을 하나 이상 체크하세요.");
}
if ($_POST['act_button'] == "선택수정") {
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');

View file

@ -3,7 +3,7 @@ if (!defined('_GNUBOARD_'))
exit; exit;
// 현재 마이그레이션 버전 // 현재 마이그레이션 버전
define('BOARD_MIGRATION_VERSION', '2.0.0'); define('BOARD_MIGRATION_VERSION', '2.0.1');
// 표준 게시판 테이블 구조 정의 // 표준 게시판 테이블 구조 정의
function get_standard_board_structure() function get_standard_board_structure()
@ -91,7 +91,32 @@ function check_and_add_bo_version()
return false; return false;
} }
// 현재 테이블 구조 가져오기 // 컬럼 정의 정규화 (비교를 위해)
function normalize_column_definition($definition)
{
// 소문자로 변환
$def = strtolower($definition);
// 공백 정규화
$def = preg_replace('/\s+/', ' ', $def);
$def = trim($def);
// AUTO_INCREMENT 제거 (비교 시 제외)
$def = str_replace('auto_increment', '', $def);
// int(11) -> int 형식 통일
$def = preg_replace('/int\(\d+\)/', 'int', $def);
$def = preg_replace('/tinyint\(\d+\)/', 'tinyint', $def);
// varchar/char 길이는 유지
// 따옴표 통일 (single quote)
$def = str_replace('"', "'", $def);
return trim($def);
}
// 현재 테이블 구조 가져오기 (원본 정의 포함)
function get_current_table_structure($table_name) function get_current_table_structure($table_name)
{ {
$sql = "SHOW COLUMNS FROM `{$table_name}`"; $sql = "SHOW COLUMNS FROM `{$table_name}`";
@ -133,21 +158,38 @@ function get_current_table_structure($table_name)
return $structure; return $structure;
} }
// 테이블 구조 비교 // 테이블 구조 비교 (누락 및 변경된 컬럼 모두 감지)
function compare_table_structure($table_name) function compare_table_structure($table_name)
{ {
$standard = get_standard_board_structure(); $standard = get_standard_board_structure();
$current = get_current_table_structure($table_name); $current = get_current_table_structure($table_name);
$missing_columns = []; $missing_columns = []; // 누락된 컬럼
$modified_columns = []; // 속성이 다른 컬럼
foreach ($standard as $column => $definition) { foreach ($standard as $column => $definition) {
if (!isset($current[$column])) { if (!isset($current[$column])) {
// 컬럼이 존재하지 않음
$missing_columns[$column] = $definition; $missing_columns[$column] = $definition;
} else {
// 컬럼은 존재하지만 속성 비교
$standard_normalized = normalize_column_definition($definition);
$current_normalized = normalize_column_definition($current[$column]);
if ($standard_normalized !== $current_normalized) {
// 속성이 다름
$modified_columns[$column] = [
'current' => $current[$column],
'standard' => $definition
];
}
} }
} }
return $missing_columns; return [
'missing' => $missing_columns,
'modified' => $modified_columns
];
} }
// 게시판 테이블 마이그레이션 실행 // 게시판 테이블 마이그레이션 실행
@ -164,22 +206,44 @@ function migrate_board_table($bo_table)
return ['success' => false, 'message' => '테이블이 존재하지 않습니다.']; return ['success' => false, 'message' => '테이블이 존재하지 않습니다.'];
} }
// 누락된 컬럼 확인 // 누락 및 변경된 컬럼 확인
$missing_columns = compare_table_structure($write_table); $comparison = compare_table_structure($write_table);
$missing_columns = $comparison['missing'];
$modified_columns = $comparison['modified'];
if (empty($missing_columns)) { if (empty($missing_columns) && empty($modified_columns)) {
// 버전 업데이트만 수행 // 버전 업데이트만 수행
$sql = "UPDATE {$g5['board_table']} SET bo_version = '" . BOARD_MIGRATION_VERSION . "' WHERE bo_table = '{$bo_table}'"; $sql = "UPDATE {$g5['board_table']} SET bo_version = '" . BOARD_MIGRATION_VERSION . "' WHERE bo_table = '{$bo_table}'";
sql_query($sql); sql_query($sql);
return ['success' => true, 'message' => '이미 최신 버전입니다.', 'updated' => 0]; return [
'success' => true,
'message' => '이미 최신 버전입니다.',
'added' => 0,
'modified' => 0
];
} }
// 컬럼 추가 $added_count = 0;
$updated = 0; $modified_count = 0;
$errors = [];
// 누락된 컬럼 추가
foreach ($missing_columns as $column => $definition) { foreach ($missing_columns as $column => $definition) {
$sql = "ALTER TABLE `{$write_table}` ADD `{$column}` {$definition}"; $sql = "ALTER TABLE `{$write_table}` ADD `{$column}` {$definition}";
if (sql_query($sql)) { if (sql_query($sql)) {
$updated++; $added_count++;
} else {
$errors[] = "컬럼 추가 실패: {$column}";
}
}
// 변경된 컬럼 수정
foreach ($modified_columns as $column => $info) {
$sql = "ALTER TABLE `{$write_table}` MODIFY `{$column}` {$info['standard']}";
if (sql_query($sql)) {
$modified_count++;
} else {
$errors[] = "컬럼 수정 실패: {$column}";
} }
} }
@ -187,7 +251,18 @@ function migrate_board_table($bo_table)
$sql = "UPDATE {$g5['board_table']} SET bo_version = '" . BOARD_MIGRATION_VERSION . "' WHERE bo_table = '{$bo_table}'"; $sql = "UPDATE {$g5['board_table']} SET bo_version = '" . BOARD_MIGRATION_VERSION . "' WHERE bo_table = '{$bo_table}'";
sql_query($sql); sql_query($sql);
return ['success' => true, 'message' => '마이그레이션이 완료되었습니다.', 'updated' => $updated]; $message = '마이그레이션이 완료되었습니다.';
if (!empty($errors)) {
$message .= ' (일부 오류: ' . implode(', ', $errors) . ')';
}
return [
'success' => true,
'message' => $message,
'added' => $added_count,
'modified' => $modified_count,
'errors' => $errors
];
} }
// 모든 게시판 체크 // 모든 게시판 체크
@ -205,15 +280,40 @@ function check_all_boards_migration()
while ($row = sql_fetch_array($result)) { while ($row = sql_fetch_array($result)) {
if ($row['bo_version'] != BOARD_MIGRATION_VERSION) { if ($row['bo_version'] != BOARD_MIGRATION_VERSION) {
$write_table = $g5['write_prefix'] . $row['bo_table']; $write_table = $g5['write_prefix'] . $row['bo_table'];
$missing = compare_table_structure($write_table); $comparison = compare_table_structure($write_table);
$boards_need_update[] = [ $boards_need_update[] = [
'bo_table' => $row['bo_table'], 'bo_table' => $row['bo_table'],
'current_version' => $row['bo_version'], 'current_version' => $row['bo_version'],
'missing_columns' => count($missing) 'missing_columns' => count($comparison['missing']),
'modified_columns' => count($comparison['modified'])
]; ];
} }
} }
return $boards_need_update; return $boards_need_update;
} }
// 특정 게시판의 상세 차이점 확인
function get_board_migration_details($bo_table)
{
global $g5;
$write_table = $g5['write_prefix'] . $bo_table;
// 테이블 존재 확인
$sql = "SHOW TABLES LIKE '{$write_table}'";
$result = sql_query($sql);
if (sql_num_rows($result) == 0) {
return ['success' => false, 'message' => '테이블이 존재하지 않습니다.'];
}
$comparison = compare_table_structure($write_table);
return [
'success' => true,
'bo_table' => $bo_table,
'missing_columns' => $comparison['missing'],
'modified_columns' => $comparison['modified']
];
}

View file

@ -3,7 +3,7 @@ th a {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
padding: 3px 10px; padding: 3px 10px;
background: var(--theme-color-a); background: var(--theme-sub-500);
color: #fff; color: #fff;
margin: 5px 0 0; margin: 5px 0 0;
} }
@ -12,33 +12,26 @@ th a+a {
margin-top: 3px; margin-top: 3px;
} }
#wrap { html>body #container {
height: 100%; padding: 0;
}
#container {
padding: 0 !important;
min-height: 100%;
}
#wrapper {
height: 100%;
box-sizing: border-box;
} }
#container section.addon_config { #container section.addon_config {
display: flex; display: flex;
height: 100%; height: auto;
padding: 8px;
gap: 8px; gap: 8px;
box-sizing: border-box;
margin-bottom: 0;
padding: 0;
width: calc(100% - 8px);
height: 100%
} }
.addon_config>nav { .addon_config>nav {
min-width: 200px; min-width: 200px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
border: 1px solid var(--theme-color-d); background: var(--theme-gray-800);
border-radius: 4px;
overflow:hidden; overflow:hidden;
} }
@ -48,12 +41,13 @@ th a+a {
} }
.addon_config>nav>a.selected { .addon_config>nav>a.selected {
background: var(--theme-color-a); background: var(--theme-sub-300);
color: var(--black);
font-weight: bold; font-weight: bold;
} }
.addon_config>nav>span { .addon_config>nav>span {
background: var(--theme-color-d); background: var(--theme-gray-500);
color: #FFF; color: #FFF;
line-height: 48px; line-height: 48px;
font-size: 14px; font-size: 14px;
@ -71,10 +65,6 @@ td a {
color: var(--theme-color-d); color: var(--theme-color-d);
} }
.footer-copyright {
padding: 20px !important;
}
span.empty { span.empty {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -23,7 +23,7 @@ $g5['title'] = "테마설정";
include_once "./admin.head.php"; include_once "./admin.head.php";
?> ?>
<script src="<?php echo G5_ADMIN_URL; ?>/js/theme.js"></script> <script src="<?php echo G5_ADMIN_URL; ?>/js/theme.js"></script>
<div class="local_wr"> <div class="local_wr admin_theme">
<span class="btn_ov01"><span class="ov_txt">설치된 테마</span><span class="ov_num"> <span class="btn_ov01"><span class="ov_txt">설치된 테마</span><span class="ov_num">
<?php echo number_format($total_count); ?></span></span> <?php echo number_format($total_count); ?></span></span>
</div> </div>

View file

@ -6,7 +6,7 @@
/******************************************************************************* /*******************************************************************************
** 공통 변수, 상수, 코드 ** 공통 변수, 상수, 코드
*******************************************************************************/ *******************************************************************************/
error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_PARSE | E_USER_ERROR); error_reporting(E_CORE_ERROR | E_COMPILE_ERROR | E_ERROR | E_PARSE | E_USER_ERROR);
// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정 // 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"'); header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
@ -422,7 +422,7 @@ if (file_exists($dbconfig_file)) {
<body> <body>
<?php <?php
$RIGHT_MESSAGE = "Message"; $RIGHT_MESSAGE = "Message";
include_once "./install/install_header.php"; include G5_PATH . "/install/install_header.php";
?> ?>
<h1>아보카도 에디션을 먼저 설치해주십시오.</h1> <h1>아보카도 에디션을 먼저 설치해주십시오.</h1>
<div class="ins_inner"> <div class="ins_inner">
@ -464,7 +464,7 @@ if (!defined('G5_IS_ADMIN')) {
<body> <body>
<?php <?php
$RIGHT_MESSAGE = "Message"; $RIGHT_MESSAGE = "Message";
include_once "./install/install_header.php"; include G5_PATH . "/install/install_header.php";
?> ?>
<h1>아보카도 에디션 설정을 완료해주십시오.</h1> <h1>아보카도 에디션 설정을 완료해주십시오.</h1>
<br /> <br />

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,55 @@
@charset "utf-8";
@font-face {
font-family: 'SCDream';
font-weight: 900;
src: url(./fonts/SCDream9.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 800;
src: url(./fonts/SCDream8.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 700;
src: url(./fonts/SCDream7.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 600;
src: url(./fonts/SCDream6.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 500;
src: url(./fonts/SCDream5.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 400;
src: url(./fonts/SCDream4.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 300;
src: url(./fonts/SCDream3.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 200;
src: url(./fonts/SCDream2.otf);
}
@font-face {
font-family: 'SCDream';
font-weight: 100;
src: url(./fonts/SCDream1.otf);
}

View file

@ -87,9 +87,10 @@ $html_class .= $_COOKIE['header_close'] == 'close' ? " close-header" : "";
include_once __DIR__ . "/_extra_font.php"; include_once __DIR__ . "/_extra_font.php";
if (defined('G5_IS_ADMIN')) { if (defined('G5_IS_ADMIN')) {
echo get_embed_file("css", G5_ADMIN_PATH . '/css/admin.css') . PHP_EOL; // echo get_embed_file("css", G5_ADMIN_PATH . '/css/admin.css') . PHP_EOL;
echo get_embed_file("css", G5_ADMIN_PATH . '/css/admin.layout.css') . PHP_EOL; // echo get_embed_file("css", G5_ADMIN_PATH . '/css/admin.layout.css') . PHP_EOL;
echo get_embed_file("css", G5_ADMIN_PATH . '/css/admin.amber.lib.css') . PHP_EOL; // echo get_embed_file("css", G5_ADMIN_PATH . '/css/admin.amber.lib.css') . PHP_EOL;
echo get_embed_file("css", G5_ADMIN_PATH . '/css/default.css') . PHP_EOL;
echo get_embed_file("css", G5_ADMIN_PATH . '/css/amberstone.cp.css') . PHP_EOL; echo get_embed_file("css", G5_ADMIN_PATH . '/css/amberstone.cp.css') . PHP_EOL;
} else { } else {
if (defined('G5_THEME_PATH') && file_exists(G5_THEME_PATH . "/css/default.css")) { if (defined('G5_THEME_PATH') && file_exists(G5_THEME_PATH . "/css/default.css")) {

View file

@ -17,7 +17,9 @@ if (!$title)
</head> </head>
<body> <body>
<?php include_once "./install_header.php"; ?> <?php
include "./install_header.php";
?>
<?php <?php
// 파일이 존재한다면 설치할 수 없다. // 파일이 존재한다면 설치할 수 없다.
$dbconfig_file = $data_path . '/' . G5_DBCONFIG_FILE; $dbconfig_file = $data_path . '/' . G5_DBCONFIG_FILE;

View file

@ -32,7 +32,6 @@ $admin_id = $_POST['admin_id'];
$admin_pass = $_POST['admin_pass']; $admin_pass = $_POST['admin_pass'];
$admin_name = $_POST['admin_name']; $admin_name = $_POST['admin_name'];
$admin_email = $_POST['admin_email']; $admin_email = $_POST['admin_email'];
$absolute_password = $_POST['absolute_password'];
$table_url = $_POST['table_url']; $table_url = $_POST['table_url'];
$dblink = sql_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db); $dblink = sql_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db);
@ -273,6 +272,7 @@ unset($row);
// 디렉토리 생성 // 디렉토리 생성
$dir_arr = array( $dir_arr = array(
$data_path . '/css',
$data_path . '/cache', $data_path . '/cache',
$data_path . '/editor', $data_path . '/editor',
$data_path . '/file', $data_path . '/file',
@ -366,16 +366,9 @@ EOD;
//------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------
// CSS 설정 파일 생성 // CSS 설정 파일 생성
$css_data_path = $g5_path['path'] . "/css"; $css_data_path = $data_path . "/css";
$css_data_url = $g5_path['url'] . "/css";
@mkdir($css_data_path, G5_DIR_PERMISSION); $file = $css_data_path . '/_design.config.css';
@chmod($css_data_path, G5_DIR_PERMISSION);
$file = '../' . G5_CSS_DIR . '/_design.config.css';
$file_path = $css_data_path . '/_design.config.css';
@unlink($file_path);
$f = @fopen($file, 'a'); $f = @fopen($file, 'a');
?> ?>
<li style="display:none;"> <li style="display:none;">
@ -403,6 +396,8 @@ EOD;
sql_query(" set time_zone = '" . G5_TIMEZONE . "'"); sql_query(" set time_zone = '" . G5_TIMEZONE . "'");
} }
$g5['css_table'] = $table_prefix . 'css_config';
ob_start(); ob_start();
include "../adm/design_form_css.php"; include "../adm/design_form_css.php";
$css = ob_get_contents(); $css = ob_get_contents();

View file

@ -1,5 +1,2 @@
<?php <?php
if (!$RIGHT_MESSAGE) { ?><div id="ins_bar"><span id="bar_img">AVOCADO EDITION: AMBER</span><span id="bar_txt"><?php echo $RIGHT_MESSAGE ? $RIGHT_MESSAGE : "INSTALLATION" ?></span></div>
$RIGHT_MESSAGE = "INSTALLATION";
}
?><div id="ins_bar"><span id="bar_img">AVOCADO EDITION: AMBER</span><span id="bar_txt"><?php echo $RIGHT_MESSAGE ?></span></div>

View file

@ -33,7 +33,7 @@ body {
right: 0; right: 0;
height: 50%; height: 50%;
box-sizing: border-box; box-sizing: border-box;
border-top: 8px solid #ecc6c6; border-top: 8px solid #ffbf00;
background: url('./img/bak_admin_login_top_pattern.png'); background: url('./img/bak_admin_login_top_pattern.png');
z-index: 0; z-index: 0;
} }
@ -84,7 +84,7 @@ body {
#login_title em { #login_title em {
font-style: normal; font-style: normal;
color: #ecc6c6; color: #ffbf00;
text-align: center; text-align: center;
line-height: 1.5em; line-height: 1.5em;
} }
@ -119,7 +119,7 @@ body {
width: 500px; width: 500px;
height: 260px; height: 260px;
border-top: 5px solid #ecc6c6; border-top: 5px solid #ffbf00;
transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%);
background: #fff; background: #fff;
@ -173,7 +173,7 @@ body {
} }
#mb_login fieldset.input input:focus { #mb_login fieldset.input input:focus {
border: 2px solid #ecc6c6; border: 2px solid #ffbf00;
} }
#mb_login fieldset.input label { #mb_login fieldset.input label {
@ -204,7 +204,7 @@ body {
} }
#mb_login fieldset.input input:focus+label:before { #mb_login fieldset.input input:focus+label:before {
color: #ecc6c6; color: #ffbf00;
} }
#mb_login fieldset.input label.login_id:before { #mb_login fieldset.input label.login_id:before {
@ -249,7 +249,7 @@ body {
display: block; display: block;
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #ecc6c6; background: #ffbf00;
font-family: 'Noto Sans KR', sans-serif; font-family: 'Noto Sans KR', sans-serif;
font-size: 18px; font-size: 18px;
border: none; border: none;