mirror of
https://github.com/tateck-develop/AvocadoEdition_Light.git
synced 2026-01-02 13:32:04 +09:00
캐릭터 게시판 옷장 기능 추가
캐릭터 게시판 옷장 기능 추가
This commit is contained in:
parent
97bc2234a0
commit
99280857a5
15 changed files with 9171 additions and 13 deletions
25
AvocadoEdition_Light/skin/board/character/_setting.php
Normal file
25
AvocadoEdition_Light/skin/board/character/_setting.php
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
$character_image_path = G5_DATA_PATH."/file/".$bo_table;
|
||||
$character_image_url = G5_DATA_URL."/file/".$bo_table;
|
||||
|
||||
@mkdir($character_image_path, G5_DIR_PERMISSION);
|
||||
@chmod($character_image_path, G5_DIR_PERMISSION);
|
||||
|
||||
|
||||
$version = "1.1";
|
||||
$g5['character_body_table'] = G5_TABLE_PREFIX.'board_ch_body';
|
||||
if(!sql_query(" DESC {$g5['character_body_table']} ")) {
|
||||
// 전신 이미지 저장하는 테이블이 생성되어 있지 않을 경우
|
||||
// 테이블을 생성합니다.
|
||||
|
||||
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['character_body_table']}` (
|
||||
`bd_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`bo_table` varchar(255) NOT NULL default '',
|
||||
`wr_id` int(11) NOT NULL default '0',
|
||||
`bd_url` varchar(255) NOT NULL default '',
|
||||
`bd_use` int(11) NOT NULL default '0',
|
||||
PRIMARY KEY (`bd_id`)
|
||||
) ", false);
|
||||
}
|
||||
621
AvocadoEdition_Light/skin/board/character/js/css/swiper.css
Normal file
621
AvocadoEdition_Light/skin/board/character/js/css/swiper.css
Normal file
|
|
@ -0,0 +1,621 @@
|
|||
/**
|
||||
* Swiper 4.5.0
|
||||
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
||||
* http://www.idangero.us/swiper/
|
||||
*
|
||||
* Copyright 2014-2019 Vladimir Kharlampidi
|
||||
*
|
||||
* Released under the MIT License
|
||||
*
|
||||
* Released on: February 22, 2019
|
||||
*/
|
||||
.swiper-container {
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
/* Fix of Webkit flickering */
|
||||
z-index: 1;
|
||||
}
|
||||
.swiper-container-no-flexbox .swiper-slide {
|
||||
float: left;
|
||||
}
|
||||
.swiper-container-vertical > .swiper-wrapper {
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
.swiper-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-transition-property: -webkit-transform;
|
||||
transition-property: -webkit-transform;
|
||||
-o-transition-property: transform;
|
||||
transition-property: transform;
|
||||
transition-property: transform, -webkit-transform;
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.swiper-container-android .swiper-slide,
|
||||
.swiper-wrapper {
|
||||
-webkit-transform: translate3d(0px, 0, 0);
|
||||
transform: translate3d(0px, 0, 0);
|
||||
}
|
||||
.swiper-container-multirow > .swiper-wrapper {
|
||||
-webkit-flex-wrap: wrap;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.swiper-container-free-mode > .swiper-wrapper {
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-o-transition-timing-function: ease-out;
|
||||
transition-timing-function: ease-out;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.swiper-slide {
|
||||
-webkit-flex-shrink: 0;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
-webkit-transition-property: -webkit-transform;
|
||||
transition-property: -webkit-transform;
|
||||
-o-transition-property: transform;
|
||||
transition-property: transform;
|
||||
transition-property: transform, -webkit-transform;
|
||||
}
|
||||
.swiper-slide-invisible-blank {
|
||||
visibility: hidden;
|
||||
}
|
||||
/* Auto Height */
|
||||
.swiper-container-autoheight,
|
||||
.swiper-container-autoheight .swiper-slide {
|
||||
height: auto;
|
||||
}
|
||||
.swiper-container-autoheight .swiper-wrapper {
|
||||
-webkit-box-align: start;
|
||||
-webkit-align-items: flex-start;
|
||||
-ms-flex-align: start;
|
||||
align-items: flex-start;
|
||||
-webkit-transition-property: height, -webkit-transform;
|
||||
transition-property: height, -webkit-transform;
|
||||
-o-transition-property: transform, height;
|
||||
transition-property: transform, height;
|
||||
transition-property: transform, height, -webkit-transform;
|
||||
}
|
||||
/* 3D Effects */
|
||||
.swiper-container-3d {
|
||||
-webkit-perspective: 1200px;
|
||||
perspective: 1200px;
|
||||
}
|
||||
.swiper-container-3d .swiper-wrapper,
|
||||
.swiper-container-3d .swiper-slide,
|
||||
.swiper-container-3d .swiper-slide-shadow-left,
|
||||
.swiper-container-3d .swiper-slide-shadow-right,
|
||||
.swiper-container-3d .swiper-slide-shadow-top,
|
||||
.swiper-container-3d .swiper-slide-shadow-bottom,
|
||||
.swiper-container-3d .swiper-cube-shadow {
|
||||
-webkit-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.swiper-container-3d .swiper-slide-shadow-left,
|
||||
.swiper-container-3d .swiper-slide-shadow-right,
|
||||
.swiper-container-3d .swiper-slide-shadow-top,
|
||||
.swiper-container-3d .swiper-slide-shadow-bottom {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: none;
|
||||
z-index: 10;
|
||||
}
|
||||
.swiper-container-3d .swiper-slide-shadow-left {
|
||||
background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
|
||||
background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
}
|
||||
.swiper-container-3d .swiper-slide-shadow-right {
|
||||
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
|
||||
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
}
|
||||
.swiper-container-3d .swiper-slide-shadow-top {
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
|
||||
background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
}
|
||||
.swiper-container-3d .swiper-slide-shadow-bottom {
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
|
||||
background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
||||
}
|
||||
/* IE10 Windows Phone 8 Fixes */
|
||||
.swiper-container-wp8-horizontal,
|
||||
.swiper-container-wp8-horizontal > .swiper-wrapper {
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
}
|
||||
.swiper-container-wp8-vertical,
|
||||
.swiper-container-wp8-vertical > .swiper-wrapper {
|
||||
-ms-touch-action: pan-x;
|
||||
touch-action: pan-x;
|
||||
}
|
||||
.swiper-button-prev,
|
||||
.swiper-button-next {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 27px;
|
||||
height: 44px;
|
||||
margin-top: -22px;
|
||||
z-index: 10;
|
||||
cursor: pointer;
|
||||
background-size: 27px 44px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.swiper-button-prev.swiper-button-disabled,
|
||||
.swiper-button-next.swiper-button-disabled {
|
||||
opacity: 0.35;
|
||||
cursor: auto;
|
||||
cursor: none;
|
||||
}
|
||||
.swiper-button-prev,
|
||||
.swiper-container-rtl .swiper-button-next {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
|
||||
left: 10px;
|
||||
right: auto;
|
||||
}
|
||||
.swiper-button-next,
|
||||
.swiper-container-rtl .swiper-button-prev {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
|
||||
right: 10px;
|
||||
left: auto;
|
||||
}
|
||||
.swiper-button-prev.swiper-button-white,
|
||||
.swiper-container-rtl .swiper-button-next.swiper-button-white {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
|
||||
}
|
||||
.swiper-button-next.swiper-button-white,
|
||||
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
|
||||
}
|
||||
.swiper-button-prev.swiper-button-black,
|
||||
.swiper-container-rtl .swiper-button-next.swiper-button-black {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
|
||||
}
|
||||
.swiper-button-next.swiper-button-black,
|
||||
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
|
||||
}
|
||||
.swiper-button-lock {
|
||||
display: none;
|
||||
}
|
||||
.swiper-pagination {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
-webkit-transition: 300ms opacity;
|
||||
-o-transition: 300ms opacity;
|
||||
transition: 300ms opacity;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
z-index: 10;
|
||||
}
|
||||
.swiper-pagination.swiper-pagination-hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
/* Common Styles */
|
||||
.swiper-pagination-fraction,
|
||||
.swiper-pagination-custom,
|
||||
.swiper-container-horizontal > .swiper-pagination-bullets {
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
/* Bullets */
|
||||
.swiper-pagination-bullets-dynamic {
|
||||
overflow: hidden;
|
||||
font-size: 0;
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
-webkit-transform: scale(0.33);
|
||||
-ms-transform: scale(0.33);
|
||||
transform: scale(0.33);
|
||||
position: relative;
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
|
||||
-webkit-transform: scale(0.66);
|
||||
-ms-transform: scale(0.66);
|
||||
transform: scale(0.66);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
|
||||
-webkit-transform: scale(0.33);
|
||||
-ms-transform: scale(0.33);
|
||||
transform: scale(0.33);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
|
||||
-webkit-transform: scale(0.66);
|
||||
-ms-transform: scale(0.66);
|
||||
transform: scale(0.66);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
|
||||
-webkit-transform: scale(0.33);
|
||||
-ms-transform: scale(0.33);
|
||||
transform: scale(0.33);
|
||||
}
|
||||
.swiper-pagination-bullet {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
display: inline-block;
|
||||
border-radius: 100%;
|
||||
background: #000;
|
||||
opacity: 0.2;
|
||||
}
|
||||
button.swiper-pagination-bullet {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
.swiper-pagination-clickable .swiper-pagination-bullet {
|
||||
cursor: pointer;
|
||||
}
|
||||
.swiper-pagination-bullet-active {
|
||||
opacity: 1;
|
||||
background: #007aff;
|
||||
}
|
||||
.swiper-container-vertical > .swiper-pagination-bullets {
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
-webkit-transform: translate3d(0px, -50%, 0);
|
||||
transform: translate3d(0px, -50%, 0);
|
||||
}
|
||||
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
|
||||
margin: 6px 0;
|
||||
display: block;
|
||||
}
|
||||
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
width: 8px;
|
||||
}
|
||||
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
display: inline-block;
|
||||
-webkit-transition: 200ms top, 200ms -webkit-transform;
|
||||
transition: 200ms top, 200ms -webkit-transform;
|
||||
-o-transition: 200ms transform, 200ms top;
|
||||
transition: 200ms transform, 200ms top;
|
||||
transition: 200ms transform, 200ms top, 200ms -webkit-transform;
|
||||
}
|
||||
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
|
||||
margin: 0 4px;
|
||||
}
|
||||
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
left: 50%;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
-webkit-transition: 200ms left, 200ms -webkit-transform;
|
||||
transition: 200ms left, 200ms -webkit-transform;
|
||||
-o-transition: 200ms transform, 200ms left;
|
||||
transition: 200ms transform, 200ms left;
|
||||
transition: 200ms transform, 200ms left, 200ms -webkit-transform;
|
||||
}
|
||||
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
-webkit-transition: 200ms right, 200ms -webkit-transform;
|
||||
transition: 200ms right, 200ms -webkit-transform;
|
||||
-o-transition: 200ms transform, 200ms right;
|
||||
transition: 200ms transform, 200ms right;
|
||||
transition: 200ms transform, 200ms right, 200ms -webkit-transform;
|
||||
}
|
||||
/* Progress */
|
||||
.swiper-pagination-progressbar {
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
position: absolute;
|
||||
}
|
||||
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
background: #007aff;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
transform: scale(0);
|
||||
-webkit-transform-origin: left top;
|
||||
-ms-transform-origin: left top;
|
||||
transform-origin: left top;
|
||||
}
|
||||
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
-webkit-transform-origin: right top;
|
||||
-ms-transform-origin: right top;
|
||||
transform-origin: right top;
|
||||
}
|
||||
.swiper-container-horizontal > .swiper-pagination-progressbar,
|
||||
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.swiper-container-vertical > .swiper-pagination-progressbar,
|
||||
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
|
||||
width: 4px;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.swiper-pagination-white .swiper-pagination-bullet-active {
|
||||
background: #ffffff;
|
||||
}
|
||||
.swiper-pagination-progressbar.swiper-pagination-white {
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
|
||||
background: #ffffff;
|
||||
}
|
||||
.swiper-pagination-black .swiper-pagination-bullet-active {
|
||||
background: #000000;
|
||||
}
|
||||
.swiper-pagination-progressbar.swiper-pagination-black {
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
|
||||
background: #000000;
|
||||
}
|
||||
.swiper-pagination-lock {
|
||||
display: none;
|
||||
}
|
||||
/* Scrollbar */
|
||||
.swiper-scrollbar {
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
-ms-touch-action: none;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.swiper-container-horizontal > .swiper-scrollbar {
|
||||
position: absolute;
|
||||
left: 1%;
|
||||
bottom: 3px;
|
||||
z-index: 50;
|
||||
height: 5px;
|
||||
width: 98%;
|
||||
}
|
||||
.swiper-container-vertical > .swiper-scrollbar {
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 1%;
|
||||
z-index: 50;
|
||||
width: 5px;
|
||||
height: 98%;
|
||||
}
|
||||
.swiper-scrollbar-drag {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
border-radius: 10px;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.swiper-scrollbar-cursor-drag {
|
||||
cursor: move;
|
||||
}
|
||||
.swiper-scrollbar-lock {
|
||||
display: none;
|
||||
}
|
||||
.swiper-zoom-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
.swiper-zoom-container > img,
|
||||
.swiper-zoom-container > svg,
|
||||
.swiper-zoom-container > canvas {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
-o-object-fit: contain;
|
||||
object-fit: contain;
|
||||
}
|
||||
.swiper-slide-zoomed {
|
||||
cursor: move;
|
||||
}
|
||||
/* Preloader */
|
||||
.swiper-lazy-preloader {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -21px;
|
||||
margin-top: -21px;
|
||||
z-index: 10;
|
||||
-webkit-transform-origin: 50%;
|
||||
-ms-transform-origin: 50%;
|
||||
transform-origin: 50%;
|
||||
-webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
|
||||
animation: swiper-preloader-spin 1s steps(12, end) infinite;
|
||||
}
|
||||
.swiper-lazy-preloader:after {
|
||||
display: block;
|
||||
content: '';
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
|
||||
background-position: 50%;
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.swiper-lazy-preloader-white:after {
|
||||
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
|
||||
}
|
||||
@-webkit-keyframes swiper-preloader-spin {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes swiper-preloader-spin {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
/* a11y */
|
||||
.swiper-container .swiper-notification {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
cursor: none;
|
||||
opacity: 0;
|
||||
z-index: -1000;
|
||||
}
|
||||
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-o-transition-timing-function: ease-out;
|
||||
transition-timing-function: ease-out;
|
||||
}
|
||||
.swiper-container-fade .swiper-slide {
|
||||
cursor: none;
|
||||
-webkit-transition-property: opacity;
|
||||
-o-transition-property: opacity;
|
||||
transition-property: opacity;
|
||||
}
|
||||
.swiper-container-fade .swiper-slide .swiper-slide {
|
||||
cursor: none;
|
||||
}
|
||||
.swiper-container-fade .swiper-slide-active,
|
||||
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
|
||||
cursor: auto;
|
||||
}
|
||||
.swiper-container-cube {
|
||||
overflow: visible;
|
||||
}
|
||||
.swiper-container-cube .swiper-slide {
|
||||
cursor: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
visibility: hidden;
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.swiper-container-cube .swiper-slide .swiper-slide {
|
||||
cursor: none;
|
||||
}
|
||||
.swiper-container-cube.swiper-container-rtl .swiper-slide {
|
||||
-webkit-transform-origin: 100% 0;
|
||||
-ms-transform-origin: 100% 0;
|
||||
transform-origin: 100% 0;
|
||||
}
|
||||
.swiper-container-cube .swiper-slide-active,
|
||||
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
|
||||
cursor: auto;
|
||||
}
|
||||
.swiper-container-cube .swiper-slide-active,
|
||||
.swiper-container-cube .swiper-slide-next,
|
||||
.swiper-container-cube .swiper-slide-prev,
|
||||
.swiper-container-cube .swiper-slide-next + .swiper-slide {
|
||||
cursor: auto;
|
||||
visibility: visible;
|
||||
}
|
||||
.swiper-container-cube .swiper-slide-shadow-top,
|
||||
.swiper-container-cube .swiper-slide-shadow-bottom,
|
||||
.swiper-container-cube .swiper-slide-shadow-left,
|
||||
.swiper-container-cube .swiper-slide-shadow-right {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
.swiper-container-cube .swiper-cube-shadow {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
opacity: 0.6;
|
||||
-webkit-filter: blur(50px);
|
||||
filter: blur(50px);
|
||||
z-index: 0;
|
||||
}
|
||||
.swiper-container-flip {
|
||||
overflow: visible;
|
||||
}
|
||||
.swiper-container-flip .swiper-slide {
|
||||
cursor: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
.swiper-container-flip .swiper-slide .swiper-slide {
|
||||
cursor: none;
|
||||
}
|
||||
.swiper-container-flip .swiper-slide-active,
|
||||
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
|
||||
cursor: auto;
|
||||
}
|
||||
.swiper-container-flip .swiper-slide-shadow-top,
|
||||
.swiper-container-flip .swiper-slide-shadow-bottom,
|
||||
.swiper-container-flip .swiper-slide-shadow-left,
|
||||
.swiper-container-flip .swiper-slide-shadow-right {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
.swiper-container-coverflow .swiper-wrapper {
|
||||
/* Windows 8 IE 10 fix */
|
||||
-ms-perspective: 1200px;
|
||||
}
|
||||
|
||||
|
||||
#main_visual .swiper-wrapper .swiper-slide.swiper-slide-active {z-index:1;}
|
||||
12
AvocadoEdition_Light/skin/board/character/js/css/swiper.min.css
vendored
Normal file
12
AvocadoEdition_Light/skin/board/character/js/css/swiper.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8134
AvocadoEdition_Light/skin/board/character/js/swiper.js
Normal file
8134
AvocadoEdition_Light/skin/board/character/js/swiper.js
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -2,6 +2,7 @@
|
|||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
//-- 리스트 정렬을 임의로 조정 하는 기능을 합니다.
|
||||
include_once($board_skin_path.'/_setting.php');
|
||||
include_once($board_skin_path.'/list.order.skin.php');
|
||||
|
||||
$category_list = get_category_list($bo_table, $sca);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
<?php
|
||||
include_once('../../../../common.php');
|
||||
include_once($board_skin_path.'/_setting.php');
|
||||
?>
|
||||
38
AvocadoEdition_Light/skin/board/character/proc/add_body.php
Normal file
38
AvocadoEdition_Light/skin/board/character/proc/add_body.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?
|
||||
include_once('./_common.php');
|
||||
|
||||
// 권한 확인
|
||||
if(!$is_admin) {
|
||||
if($member['mb_id'] && $write['mb_id'] == $member['mb_id']) {
|
||||
exit;
|
||||
} else if ($member['mb_level'] < $board['bo_write_level']) {
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$update_href = true;
|
||||
|
||||
$sql_article = "";
|
||||
|
||||
if($add_new_body_type == 'file') {
|
||||
// -- 전신이미지
|
||||
if($_FILES['add_new_body_file']['name']) {
|
||||
// 확장자 따기
|
||||
$exp = explode(".", $_FILES['add_new_body_file']['name']);
|
||||
$exp = $exp[count($exp)-1];
|
||||
$image_name = "body_{$wr_id}_".time().".".$exp;
|
||||
upload_file($_FILES['add_new_body_file']['tmp_name'], $image_name, $character_image_path);
|
||||
$sql_article = "bd_url = '{$character_image_url}/{$image_name}' ";
|
||||
}
|
||||
} else if($add_new_body_type == 'url' && $add_new_body != "") {
|
||||
$sql_article = "bd_url = '{$add_new_body}' ";
|
||||
}
|
||||
|
||||
if($sql_article != "") {
|
||||
$sql_article = $sql_article.", bo_table = '{$bo_table}', wr_id = '{$wr_id}'";
|
||||
$sql = "insert into {$g5['character_body_table']} set {$sql_article}";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
include($board_skin_path."/view_body.skin.php");
|
||||
?>
|
||||
27
AvocadoEdition_Light/skin/board/character/proc/del_body.php
Normal file
27
AvocadoEdition_Light/skin/board/character/proc/del_body.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?
|
||||
include_once('./_common.php');
|
||||
|
||||
// 권한 확인
|
||||
if(!$is_admin) {
|
||||
if($member['mb_id'] && $write['mb_id'] == $member['mb_id']) {
|
||||
exit;
|
||||
} else if ($member['mb_level'] < $board['bo_write_level']) {
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$update_href = true;
|
||||
|
||||
// 삭제 원하는 DB 정보 가져오기
|
||||
$bd = sql_fetch("select * from {$g5['character_body_table']} where bd_id = '{$bd_id}'");
|
||||
if($bd['bd_url']) {
|
||||
$prev_file_path = str_replace(G5_URL, G5_PATH, $bd['bd_url']);
|
||||
@unlink($prev_file_path);
|
||||
|
||||
$sql = "delete from {$g5['character_body_table']} where bd_id = '{$bd_id}'";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
include($board_skin_path."/view_body.skin.php");
|
||||
|
||||
?>
|
||||
27
AvocadoEdition_Light/skin/board/character/proc/set_body.php
Normal file
27
AvocadoEdition_Light/skin/board/character/proc/set_body.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?
|
||||
include_once('./_common.php');
|
||||
|
||||
// 권한 확인
|
||||
if(!$is_admin) {
|
||||
if($member['mb_id'] && $write['mb_id'] == $member['mb_id']) {
|
||||
exit;
|
||||
} else if ($member['mb_level'] < $board['bo_write_level']) {
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$bd = sql_fetch("select * from {$g5['character_body_table']} where bd_id = '{$bd_id}'");
|
||||
if($bd['bd_id']) {
|
||||
$sql = " update {$g5['character_body_table']}
|
||||
set bd_use = '1'
|
||||
where bd_id = '{$bd['bd_id']}'";
|
||||
sql_query($sql);
|
||||
} else {
|
||||
$sql = " update {$g5['character_body_table']}
|
||||
set bd_use = ''
|
||||
where wr_id = '{$wr_id}'";
|
||||
sql_query($sql);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -1,5 +1,30 @@
|
|||
@charset "utf-8";
|
||||
|
||||
.loading {display:none; position:fixed; z-index:99999; top:0; left:0; right:0; bottom:0; text-align:center; background:rgba(0,0,0,.5); backdrop-filter:blur(2px);}
|
||||
.loading.mask {display:block;}
|
||||
.loading > div {display:block; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%);}
|
||||
.loading p {font-size:15px; font-weight:600; color:#fff;}
|
||||
.lds-roller {display: inline-block; position: relative; width: 80px; height: 80px;}
|
||||
.lds-roller div {animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; transform-origin: 40px 40px;}
|
||||
.lds-roller div:after {content: " "; display: block; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #fff; margin: -4px 0 0 -4px;}
|
||||
.lds-roller div:nth-child(1) {animation-delay: -0.036s;}
|
||||
.lds-roller div:nth-child(1):after {top: 63px; left: 63px;}
|
||||
.lds-roller div:nth-child(2) {animation-delay: -0.072s;}
|
||||
.lds-roller div:nth-child(2):after {top: 68px; left: 56px;}
|
||||
.lds-roller div:nth-child(3) {animation-delay: -0.108s;}
|
||||
.lds-roller div:nth-child(3):after {top: 71px; left: 48px;}
|
||||
.lds-roller div:nth-child(4) {animation-delay: -0.144s;}
|
||||
.lds-roller div:nth-child(4):after {top: 72px; left: 40px;}
|
||||
.lds-roller div:nth-child(5) {animation-delay: -0.18s;}
|
||||
.lds-roller div:nth-child(5):after {top: 71px; left: 32px;}
|
||||
.lds-roller div:nth-child(6) {animation-delay: -0.216s;}
|
||||
.lds-roller div:nth-child(6):after {top: 68px; left: 24px;}
|
||||
.lds-roller div:nth-child(7) {animation-delay: -0.252s;}
|
||||
.lds-roller div:nth-child(7):after {top: 63px; left: 17px;}
|
||||
.lds-roller div:nth-child(8) {animation-delay: -0.288s;}
|
||||
.lds-roller div:nth-child(8):after {top: 56px; left: 12px;}
|
||||
@keyframes lds-roller {0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}}
|
||||
|
||||
.empty_list {display:block; width:100% !important; text-align:center; line-height:150px; float:none !important; margin:0;}
|
||||
|
||||
/** Thumb Frame */
|
||||
|
|
@ -107,6 +132,31 @@
|
|||
.characterViewer .ch-pannel * ~ .sub-title {margin-top:2em;}
|
||||
.characterViewer .ch-pannel .descript {margin:1em 0; font-size:1em; line-height:1.8;}
|
||||
|
||||
|
||||
.ch-pannel .body-add-form {display:none; margin-top:10px;}
|
||||
.body-add-form input[type="radio"] {display:none;}
|
||||
.body-add-form label {display:block; float:left; width:50%; text-align:center; opacity:.4; height:30px; line-height:30px;}
|
||||
.body-add-form input[type="radio"]:checked + label {font-weight:800; opacity:1;}
|
||||
.body-add-form input#add_new_body_type1:checked ~ * input[type="file"] {display:none;}
|
||||
.body-add-form input#add_new_body_type2:checked ~ * input[type="text"] {display:none;}
|
||||
.body-add-form input[type="file"],
|
||||
.body-add-form input[type="text"] {width:100%;}
|
||||
.body-add-form button {margin-top:10px; height:30px; padding:0; width:100%;}
|
||||
.body-add-form .input-box {clear:both; padding-top:10px;}
|
||||
.body-add-form .input-box > * {height:25px !important;}
|
||||
|
||||
.chaBodyList {display:block; position:relative; overflow:hidden; clear:both; padding:10px 40px;}
|
||||
.chaBodyList .control > * {position:absolute; width:40px; height:40px; top:50%; margin-top:-20px; font-size:20px;}
|
||||
.chaBodyList .control .prev {left:0;}
|
||||
.chaBodyList .control .next {right:0;}
|
||||
.chaBodyList .swiper-slide {width:60px; height:60px;}
|
||||
.chaBodyList .swiper-slide > a {display:block; position:relative; width:100%; height:100%; overflow:hidden; padding:0 !important;}
|
||||
.chaBodyList .swiper-slide > a > img {display:block; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); max-width:500%; transition:.3s all; -webkit-transition:.3s all;}
|
||||
.chaBodyList .swiper-slide > a.checked > img {opacity:.2;}
|
||||
|
||||
#control_body_box {position: relative; text-align:center; }
|
||||
#control_body_box .body-control > * + * {margin-left:5px;}
|
||||
|
||||
@media all and (max-width:1024px) {
|
||||
.characterViewer .ch-body {right:0;}
|
||||
.characterViewer .ch-body .img,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once($board_skin_path.'/_setting.php');
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
if($write['wr_type'] == 'pair') {
|
||||
|
|
@ -8,6 +9,17 @@ if($write['wr_type'] == 'pair') {
|
|||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/js/css/swiper.css">', 0);
|
||||
|
||||
$body_cnt = sql_fetch("select count(*) as cnt from {$g5['character_body_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}'");
|
||||
$body_cnt = $body_cnt['cnt'];
|
||||
|
||||
$check_body = $write['wr_2'];
|
||||
if($body_cnt > 0) {
|
||||
$check_bodys = sql_fetch("select bd_url from {$g5['character_body_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bd_use = '1'");
|
||||
$check_body = $check_bodys['bd_url'] ? $check_bodys['bd_url'] : $check_body;
|
||||
}
|
||||
|
||||
|
||||
$color_bak = get_style('color_bak');
|
||||
$color_line_color = $color_bak['cs_value'];
|
||||
|
|
@ -17,7 +29,10 @@ $color_bak_over = hex2rgba($color_bak['cs_value'], 5);
|
|||
$default_font = get_style('default_font');
|
||||
$default_font = hex2rgba($default_font['cs_value'], $default_font['cs_etc_1']);
|
||||
?>
|
||||
|
||||
<script>
|
||||
var skin_path = "<?=$board['bo_skin']?>";
|
||||
var skin_url = g5_url + "/skin/board/" + skin_path;
|
||||
</script>
|
||||
<style>
|
||||
:root {
|
||||
--pannel-line:<?=$color_line_color?>;
|
||||
|
|
@ -25,13 +40,18 @@ $default_font = hex2rgba($default_font['cs_value'], $default_font['cs_etc_1']);
|
|||
--pannel-bak-over:<?=$color_bak_over?>;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="loading">
|
||||
<div>
|
||||
<div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
||||
<p>Loading...</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="characterViewer">
|
||||
|
||||
<? if($write['wr_2']) { ?>
|
||||
<div class="ch-body" onclick="$(this).toggleClass('pop');">
|
||||
<div class="img">
|
||||
<div><em style="background-image:url(<?=$write['wr_2']?>);"></em><img src="<?=$write['wr_2']?>" alt="" onerror="this.remove();"/></div>
|
||||
<div><em style="background-image:url(<?=$check_body?>);"></em><img src="<?=$check_body?>" alt="" onerror="this.remove();"/></div>
|
||||
</div>
|
||||
</div>
|
||||
<? } ?>
|
||||
|
|
@ -75,10 +95,69 @@ $default_font = hex2rgba($default_font['cs_value'], $default_font['cs_etc_1']);
|
|||
<div class="control">
|
||||
<?php if ($update_href) { ?><a href="<?php echo $update_href ?>" class="ui-btn etc"><i class="material-icons">edit</i> 수정</a><?php } ?>
|
||||
<?php if ($delete_href) { ?><a href="<?php echo $delete_href ?>" class="ui-btn etc" onclick="del(this.href); return false;"><i class="material-icons">delete</i> 삭제</a><?php } ?>
|
||||
<?php if ($update_href && $write['wr_2'] != '') { ?><a href="javascript:$('.body-add-form').toggle();" class="ui-btn point"><i class="material-icons">checkroom</i> 전신추가</a><? } ?>
|
||||
<a href="<?php echo $list_href ?><?=$qstr?>" class="ui-btn etc"><i class="material-icons">list</i> 목록</a>
|
||||
</div>
|
||||
<?php if ($update_href && $write['wr_2'] != '') { ?>
|
||||
<div class="body-add-form theme-box">
|
||||
<form method="post" id="frm_add_body" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="bo_table" value="<?=$bo_table?>" />
|
||||
<input type="hidden" name="wr_id" value="<?=$wr_id?>" />
|
||||
|
||||
<input type="radio" name="add_new_body_type" id="add_new_body_type1" value="url" checked/>
|
||||
<label for="add_new_body_type1">URL등록</label>
|
||||
|
||||
<input type="radio" name="add_new_body_type" id="add_new_body_type2" value="file" />
|
||||
<label for="add_new_body_type2">FILE등록</label>
|
||||
|
||||
<div class="input-box">
|
||||
<input type="text" name="add_new_body" value="" />
|
||||
<input type="file" name="add_new_body_file" title="용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" accept="image/*"/>
|
||||
<button type="button" onclick="fn_body_add_form('frm_add_body');" class="ui-btn">등록</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
function fn_body_add_form(frm) {
|
||||
var form = $("#" + frm)[0];
|
||||
var formData = new FormData(form);
|
||||
var url = skin_url;
|
||||
$('.loading').addClass('mask');
|
||||
|
||||
$.ajax({
|
||||
cache : false,
|
||||
url : url + "/proc/add_body.php", // 요기에
|
||||
type : 'POST',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data : formData,
|
||||
success: function(data) {
|
||||
// Toss
|
||||
var response = data;
|
||||
$('.char-body-list').empty().append(response);
|
||||
form.reset();
|
||||
},
|
||||
error: function(data, status, err) {
|
||||
console.log("error!!");
|
||||
},
|
||||
complete: function() {
|
||||
// Complete
|
||||
$('.loading').removeClass('mask');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<? } ?>
|
||||
|
||||
|
||||
<hr class="line" />
|
||||
<div class='char-body-list'>
|
||||
<? if($body_cnt > 0 && $write['wr_2'] != '') {
|
||||
// 전신 리스트 출력 (단, 추가로 등록한 전신이 있을 경우에만)
|
||||
include_once($board_skin_path."/view_body.skin.php");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<? if ($write['wr_4']) { ?><div class="sub-title txt-default"><?=$write['wr_4']?></div><? } ?>
|
||||
<? if ($write['wr_4_txt']) { ?><div class="descript"><?=nl2br($write['wr_4_txt'])?></div><? } ?>
|
||||
|
|
|
|||
147
AvocadoEdition_Light/skin/board/character/view_body.skin.php
Normal file
147
AvocadoEdition_Light/skin/board/character/view_body.skin.php
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
$body_cnt = sql_fetch("select count(*) as cnt from {$g5['character_body_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}'");
|
||||
$body_cnt = $body_cnt['cnt'];
|
||||
|
||||
if($body_cnt > 0) {
|
||||
?>
|
||||
<div class="chaBodyList">
|
||||
<div class="control">
|
||||
<button type="button" class="prev txt-point"><span class="material-icons">arrow_back_ios</span></button>
|
||||
<button type="button" class="next txt-point"><span class="material-icons">arrow_forward_ios</span></button>
|
||||
</div>
|
||||
<div class="slider">
|
||||
<div class="swiper-container">
|
||||
<ul class="swiper-wrapper">
|
||||
<?
|
||||
$body_list = sql_query("select * from {$g5['character_body_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' order by bd_id asc");
|
||||
for($i=0; $bd = sql_fetch_array($body_list); $i++) {
|
||||
if($i==0 && $write['wr_2'] != '') {
|
||||
?>
|
||||
<li class="swiper-slide">
|
||||
<a href="#"; onclick="fn_viewer_chBody('', '<?=$write['wr_2']?>', this); return false;" class="theme-box"><img src="<?=$write['wr_2']?>" alt="" /></a>
|
||||
</li>
|
||||
<?
|
||||
}
|
||||
?>
|
||||
<li class="swiper-slide">
|
||||
<a href="#"; onclick="fn_viewer_chBody('<?=$bd['bd_id']?>', '<?=$bd['bd_url']?>', this); return false;" class="theme-box"><img src="<?=$bd['bd_url']?>" alt="" /></a>
|
||||
</li>
|
||||
<?
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="<?php echo $board_skin_url ?>/js/swiper.js"></script>
|
||||
<script>
|
||||
fn_slider_chaBodyList();
|
||||
var slider_chaBodyList = null;
|
||||
function fn_slider_chaBodyList() {
|
||||
/* 중복 호출될 경우 이전에 생성된 슬라이더를 1회 초기화한 이후에 진행한다.*/
|
||||
if(slider_chaBodyList != null) {
|
||||
slider_chaBodyList.destroy(true, true);
|
||||
slider_chaBodyList = null;
|
||||
}
|
||||
|
||||
/* 슬라이더 생성 : 자세한 옵션은 데모 페이지 확인 */
|
||||
slider_chaBodyList = new Swiper('.chaBodyList .slider .swiper-container', {
|
||||
slidesPerView: 'auto',
|
||||
spaceBetween: 10,
|
||||
navigation: {
|
||||
prevEl: '.chaBodyList .prev',
|
||||
nextEl: '.chaBodyList .next'
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
<? if($update_href) { ?>
|
||||
var control_idx = "";
|
||||
var originam_url = "<?=$write['wr_2']?>";
|
||||
|
||||
function fn_set_chBody(type, bo_table, wr_id) {
|
||||
var url = skin_url;
|
||||
var formData = new FormData();
|
||||
formData.append("bo_table", bo_table);
|
||||
formData.append("wr_id", wr_id);
|
||||
formData.append("bd_id", control_idx);
|
||||
|
||||
if(type == 'del') {
|
||||
if(confirm("해당 데이터를 정말 삭제하시겠습니까?")) {
|
||||
$('.loading').addClass('mask');
|
||||
$.ajax({
|
||||
cache : false,
|
||||
url : url + "/proc/del_body.php", // 요기에
|
||||
type : 'POST',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data : formData,
|
||||
success: function(data) {
|
||||
// Toss
|
||||
var response = data;
|
||||
$('.char-body-list').empty().append(response);
|
||||
$('.ch-body .img img').attr('src', originam_url);
|
||||
$('#control_body_box').empty();
|
||||
},
|
||||
error: function(data, status, err) {},
|
||||
complete: function() {
|
||||
// Complete
|
||||
$('.loading').removeClass('mask');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if(type == 'set') {
|
||||
if(confirm("해당 데이터를 기본 전신으로 설정하시겠습니까?")) {
|
||||
$('.loading').addClass('mask');
|
||||
$.ajax({
|
||||
cache : false,
|
||||
url : url + "/proc/set_body.php", // 요기에
|
||||
type : 'POST',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data : formData,
|
||||
success: function(data) {
|
||||
$('#control_body_box').empty();
|
||||
},
|
||||
error: function(data, status, err) {},
|
||||
complete: function() {
|
||||
// Complete
|
||||
$('.loading').removeClass('mask');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
<? } ?>
|
||||
|
||||
function fn_viewer_chBody(idx, img, obj) {
|
||||
var control_html = '';
|
||||
|
||||
<? if($update_href) { ?>
|
||||
if(idx) {
|
||||
// 추가된 전신 정보
|
||||
var control_html = '<div class="body-control"><a href="javascript:fn_set_chBody(\'set\', \'<?=$bo_table?>\', \'<?=$wr_id?>\');" class="ui-btn">기본설정</a><a href="javascript:fn_set_chBody(\'del\', \'<?=$bo_table?>\', \'<?=$wr_id?>\');" class="ui-btn etc">삭제</a></div>';
|
||||
} else {
|
||||
var control_html = '<div class="body-control"><a href="javascript:fn_set_chBody(\'set\', \'<?=$bo_table?>\', \'<?=$wr_id?>\');" class="ui-btn">기본설정</a></div>';
|
||||
}
|
||||
control_idx = idx;
|
||||
$('#control_body_box').html(control_html);
|
||||
<? } ?>
|
||||
|
||||
if(img) {
|
||||
$('.ch-body .img img').attr('src', img);
|
||||
}
|
||||
|
||||
$('.chaBodyList .checked').removeClass('checked');
|
||||
$(obj).addClass('checked');
|
||||
}
|
||||
</script>
|
||||
|
||||
<div id="control_body_box"></div>
|
||||
|
||||
<hr class='line' />
|
||||
<? } ?>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
include_once($board_skin_path.'/_setting.php');
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,8 @@
|
|||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
include_once($board_skin_path.'/_setting.php');
|
||||
// 두상 및 전신 저장 처리
|
||||
|
||||
|
||||
$character_image_path = G5_DATA_PATH."/file/".$bo_table;
|
||||
$character_image_url = G5_DATA_URL."/file/".$bo_table;
|
||||
|
||||
@mkdir($character_image_path, G5_DIR_PERMISSION);
|
||||
@chmod($character_image_path, G5_DIR_PERMISSION);
|
||||
|
||||
|
||||
$sql_article = " wr_ing = '{$wr_ing}',
|
||||
wr_4_txt = '{$wr_4_txt}',
|
||||
wr_5_txt = '{$wr_5_txt}',
|
||||
|
|
|
|||
Loading…
Reference in a new issue