This commit is contained in:
shim
2023-04-17 11:06:08 +09:00
parent d0b393aa97
commit 76264e09ad
4686 changed files with 552713 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
<?php
if(!defined('__KIMS__')) exit;
$g['referer'] = $_SERVER['HTTP_REFERER'];
if (!$g['referer'] || !strpos($g['referer'],'&m=admin&'))
{
$_filterSet = array('nic','name','id');
foreach ($_filterSet as $_ft)
{
${$_ft} = preg_replace("(\.|\;|\\\)",'',strip_tags(${$_ft}));
}
}
if (strpos(',join,',$a))
{
if (!$g['referer'] || !strpos($g['referer'],$_SERVER['HTTP_HOST'])) exit;
}
$g['act_module0'] = $g['dir_module'].$a.'.php';
$g['act_module1'] = $g['dir_module'].'action/'.(strpos($a,'/')?str_replace('/','/a.',$a):'a.'.$a).'.php';
$g['act_module2'] = $g['dir_module'].'action/a.'.$a.'.php';
$g['act_module3'] = $g['referer'] && strpos($g['referer'],'&m=admin&') ? ($_HMD['lang']?$_HMD['lang']:$d['admin']['syslang']) : ($_HS['lang']?$_HS['lang']:$d['admin']['syslang']);
include getLangFile($g['dir_module'].'language/',$g['act_module3'],'/lang.action.php');
if (is_file($g['act_module0'])) include $g['act_module0'];
if (is_file($g['act_module1'])) include $g['act_module1'];
if (is_file($g['act_module2'])) include $g['act_module2'];
?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

View File

@@ -0,0 +1,658 @@
body {
background-color: #343a40
}
/*************** theme ******************/
.form-control,
.input-group-lg>.form-control {
border-radius: 0
}
.btn-light {
color: #24292e;
user-select: none;
background-color: #eff3f6;
background-image: linear-gradient(-180deg, #fafbfc 0%, #eff3f6 90%);
background-repeat: repeat-x;
background-position: -1px -1px;
background-size: 110% 110%;
border: 1px solid rgba(27, 31, 35, 0.2);
border-radius: 0.25em;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
}
.btn-light:hover {
text-decoration: none;
background-repeat: repeat-x;
}
.btn-light:hover,
.btn-light.hover {
background-color: #e6ebf1;
background-image: linear-gradient(-180deg, #f0f3f6 0%, #e6ebf1 90%);
background-position: 0 -0.5em;
border-color: rgba(27, 31, 35, 0.35);
}
.btn-light:active,
.btn-light.active,
.btn-light.selected {
background-color: #e9ecef !important;
background-image: none !important;
border-color: rgba(27, 31, 35, 0.35) !important;
}
.btn-light:disabled,
.btn-light.disabled {
color: rgba(36, 41, 46, 0.4);
background-color: #eff3f6;
background-image: none;
border: 1px solid rgba(27, 31, 35, 0.2);
border-color: rgba(27, 31, 35, 0.2);
box-shadow: none;
}
.btn:focus {
outline: 0;
}
.btn-light:focus,
.btn-light.focus {
box-shadow: 0 0 0 0.2em rgba(3, 102, 214, 0.3);
}
.rb-system-site .card-header a {
color: #888;
}
.rb-system-site .card-header.bg-primary a {
color: #fff
}
[data-toggle="buttons"].btn-group .btn-light {
color: #777 !important;
font-weight: normal;
}
[data-toggle="buttons"].btn-group .btn-light.active,
[data-toggle="buttons"].btn-group .btn-light:active {
color: #eee !important;
background-color: rgba(0, 0, 0, .09) !important;
border-color: #222 !important;
-webkit-box-shadow: inset 1px 1px 3px #222;
-moz-box-shadow: inset 1px 1px 3px #222;
box-shadow: inset 1px 1px 3px #222;
}
.btn-sm {
padding: 3px 10px;
font-size: 12px;
line-height: 20px;
}
.btn,
[role="button"] {
cursor: pointer !important;
}
.btn-danger {
color: #cb2431;
border: 1px solid rgba(27, 31, 35, 0.2);
background-color: #fafbfc;
background-image: linear-gradient(-180deg, #fafbfc 0%, #eff3f6 90%);
}
.btn-danger:hover {
color: #fff;
background-color: #cb2431;
background-image: linear-gradient(-180deg, #de4450 0%, #cb2431 90%);
border-color: rgba(27, 31, 35, 0.5);
}
.btn-danger:active,
.btn-danger.active {
color: #fff;
background-color: #b5202c;
background-image: none;
border-color: rgba(27, 31, 35, 0.5);
box-shadow: inset 0 0.15em 0.3em rgba(27, 31, 35, 0.15);
}
.btn-danger:disabled,
.btn-danger.disabled {
color: rgba(203, 36, 49, 0.4);
background-color: #eff3f6;
background-image: none;
border-color: rgba(27, 31, 35, 0.2);
box-shadow: none;
}
/*tooltip*/
.tooltip-inner {
background-color: #0366d6;
}
.tooltip.bs-tooltip-top .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before {
border-top-color: #0366d6
}
/*************** sidebar-inverse ******************/
.rb-system-sidebar.rb-inverse {
display: block;
background-color: #343a40;
min-height: 100%;
border-right: 1px solid #222;
}
.rb-hidden-system-admin .rb-system-sidebar.rb-inverse,
.rb-minified-sidebar .rb-system-sidebar.rb-inverse {
box-shadow: 1px 0 3px rgba(0, 0, 0, 0.5);
}
.rb-system-admin .btn-toolbar .btn {
color: #A8A8A8
}
.rb-system-admin .btn-toolbar .btn:hover {
color: #fff
}
.rb-system-admin .btn-toolbar .btn:active {
color: #428BCA
}
.rb-system-sidebar.rb-inverse .rb-buttons .rb-content-padded {
border-bottom: 1px solid #1A1817;
}
.rb-system-sidebar.rb-inverse .rb-buttons .rb-inner {
border-bottom: 1px solid #1A1817;
}
.rb-system-sidebar.rb-inverse nav ul li a:focus {
color: #c9c9c9
}
.rb-system-sidebar.rb-inverse nav ul li.active a,
.rb-system-sidebar.rb-inverse nav ul li.active a:hover {
color: #fff
}
.rb-system-sidebar.rb-inverse nav ul li.open>a,
.rb-system-sidebar.rb-inverse nav ul li.open>a b {
color: #fff !important;
}
.rb-system-admin nav>ul li.active ul li.active>a {
background-color: #272c32
}
.rb-system-sidebar.rb-inverse nav ul li:hover,
.rb-system-sidebar.rb-inverse nav ul li:hover .menu-item-parent {
color: #428bca;
}
.rb-system-sidebar.rb-inverse nav ul li.active:hover,
.rb-system-sidebar.rb-inverse nav ul li.active:hover .menu-item-parent {
color: #fff;
}
.rb-system-sidebar.rb-inverse nav ul li a {
color: #a8a8a8;
}
#sidebar-modules .list-group-item.active a {
background-color: #272c32;
color: #fff
}
.rb-system-sidebar.rb-inverse nav ul li .menu-item-parent {
color: #ccc;
}
.rb-system-sidebar.rb-inverse nav ul li a:focus {
color: #c9c9c9
}
.rb-system-sidebar.rb-inverse nav ul ul {
/*background: rgba(69, 69, 69, .7);*/
}
.rb-system-sidebar.rb-inverse nav ul .active ul {
/*background: rgba(69, 69, 69, 1);*/
}
.rb-system-sidebar.rb-inverse nav>ul>li>ul::before {
border-left: 1px dotted #7A7A7A;
}
.rb-system-sidebar.rb-inverse nav>ul li.active>a.collapsed:before {
color: #eee;
}
.rb-system-sidebar.rb-inverse nav>ul li.active ul li.active>a:before {
color: #eee;
}
.rb-system-sidebar.rb-inverse nav ul li a:active {
background: #000 !important
}
.rb-system-sidebar.rb-inverse nav>ul ul li::before {
border-top: 1px dotted #7A7A7A;
}
.rb-system-sidebar.rb-inverse nav>ul>li>a>i>em {
background: #ED1C24;
color: #fff;
border: 1px solid rgba(255, 255, 255, .1);
}
/*login-info*/
.rb-system-sidebar.rb-inverse .login-info a.rb-username {
color: #a8a8a8;
}
.rb-system-sidebar.rb-inverse .login-info>a:hover {
color: #fff
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse .login-info {
border-bottom: 1px solid #181818
}
@media (max-width: 992px) and (min-width: 768px) {
.rb-system-sidebar.rb-inverse .rb-minify-sidebar {
color: #A8A8A8;
}
}
/* minified-sidebar */
.rb-system-sidebar.rb-inverse .rb-minify-sidebar {
background: transparent;
color: #A8A8A8;
}
.rb-system-sidebar.rb-inverse .rb-minify-sidebar:hover {
/*background: #646464;*/
color: #E4E4E4;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse .rb-minify-sidebar {
color: #A8A8A8;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse .rb-inbox-badge {
background: #ED1C24;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>ul {
background: #ed1c24 !important
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>a>.menu-item-parent {
background-color: #f5f5f5;
color: #333 !important;
text-shadow: none;
-webkit-box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, .2);
-moz-box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, .2);
box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, .2);
border-left: 1px solid #bfbfbf;
border-top: 1px solid #D8D4D4;
border-bottom: 1px solid #fff;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>ul {
border: 1px solid #bfbfbf;
-webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .2);
-moz-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .2);
box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .2);
background: #222222;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>ul>li {
background-color: rgba(69, 69, 69, .9)
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>ul>li>ul>li {
background-color: #484B50
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li {
border-bottom: 1px solid #1A1817;
border-top: 1px solid #525151
}
/* hide-sidebar */
.rb-system-sidebar.rb-inverse .rb-hide-sidebar2 {
border-bottom: 1px solid #302F2F;
background: transparent;
color: #A8A8A8;
}
.rb-hidden-sidebar .rb-system-sidebar.rb-inverse {
-moz-box-shadow: 0 0 6px rgba(3, 3, 3, 0.6);
-webkit-box-shadow: 0 0 6px rgba(3, 3, 3, 0.6);
box-shadow: 0 0 6px rgba(3, 3, 3, 0.6);
}
.rb-hidden-sidebar .rb-system-sidebar.rb-inverse .rb-hide-sidebar {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.rb-system-sidebar.rb-system-site {
background-color: #343a40;
border-left: 1px solid #222;
}
.rb-system-site .rb-panel-top {
background-color: #272c32 !important;
border-bottom: 1px solid #222;
color: #eee
}
.rb-system-site .rb-icon-hide {
color: #eee
}
.rb-hidden-system-site .rb-system-site .rb-icon-hide:hover .rb-icon:before,
.rb-system-site .rb-icon-hide:hover .rb-icon:before {
color: #eee;
}
/* tabs-below */
.rb-system-sidebar.rb-inverse .nav-tabs {
border-bottom: 1px solid #c9c9c9;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li>a {
border: 1px solid #c9c9c9;
background: -moz-linear-gradient(top, #999 0%, #444 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #999), color-stop(100%, #444));
background: -webkit-linear-gradient(top, #999 0%, #444 100%);
background: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background: -ms-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#99999999', endColorstr='#44444444', GradientType=0);
-webkit-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
color: #333;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li>a.active {
color: #eee;
background: #ffffff;
border: 1px solid #c9c9c9;
border-right: 1px solid transparent;
border-bottom-color: transparent;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li>a:hover {
color: #62aeef;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li:last-child>a,
.rb-system-sidebar.rb-inverse .nav-tabs>li.last-child>a {
border-right: 1px solid #c9c9c9
}
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs {
border-color: #c5d0dc;
}
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a:hover,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a:focus {
margin-left: -1px
}
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a.active,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a.active:hover,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a.active:focus {
box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.15);
background-color: transparent;
border-color: transparent;
border: none;
}
.rb-system-main {
background-color: #343a40
}
.rb-system-site {
color: #999;
}
.rb-system-site .list-group-item {
line-height: 1.2
}
.rb-system-site .custom-control-description {
line-height: 1.9
}
.custom-checkbox,
.custom-radio {
line-height: 1.7rem;
}
.custom-control-label::before {
background-color: #1f2227;
border-radius: .15rem;
}
.rb-system-site .rb-content-padded {
padding: 0;
}
.rb-system-site .nav-tabs .nav-link {
border-radius: 0;
background-color: #272c32;
color: #999
}
.rb-system-sidebar .nav-tabs {
border-bottom: 1px solid transparent;
}
.rb-system-sidebar .nav-tabs .nav-item {
width: 25%
}
.rb-system-sidebar .nav-tabs .nav-link {
padding: .5rem;
border-right: 1px solid #222;
border-bottom: 1px solid #222;
}
.rb-system-sidebar .nav-tabs .nav-link:hover {
border-color: #222;
border-top-color: transparent;
border-left-color: transparent
}
.rb-system-sidebar .nav-tabs .nav-link.active {
color: #eee;
background-color: inherit;
border: 1px solid #222;
border-top: 0;
border-bottom: 0
}
.rb-system-sidebar .nav-tabs .nav-link.active:first-child {
border-left: 0
}
.rb-system-site fieldset[disabled] .btn-light,
.rb-system-site fieldset[disabled] .btn-light.active {
background-image: none;
background-color: inherit
}
.rb-system-site .card {
background-color: inherit;
color: #eee
}
.rb-system-site .form-control {
background-color: #1f2227;
color: #abafb5;
border-color: #272c31
}
.rb-system-site .form-control:focus {
color: #abafb5;
background-color: #1f2227;
border-color: #5792ef;
border-width: 1px;
outline: 0;
box-shadow: none;
}
.bg-light {
background-color: rgba(0, 0, 0, .03) !important;
}
.btn.btn-light {
background-color: #343a40;
background-image: none;
color: #ccc !important;
border-color: #181a1e;
font-weight: normal;
}
.btn.btn-block {
border-radius: 4rem;
}
.btn-outline-primary {
color: #ccc;
border-color: #ccc;
}
.rb-hidden-system-site .rb-system-site .rb-opener {
background-color: inherit;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
box-shadow: -1px 0 2px rgba(0, 0, 0, 0.5);
color: #9ea6b3;
display: block;
left: -20px;
padding: 0 5px;
}
.rb-system-site .custom-select {
background-color: #272c32;
display: inline-block;
max-width: 100%;
height: calc(2.25rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
line-height: 1.5;
/*color: #495057;*/
vertical-align: middle;
background: #272c32 url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#abafb5' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
background-size: 8px 10px;
border: 1px solid #222;
border-radius: 0.15rem;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.rb-system-site .table td,
.rb-system-site .table th {
border-top: 1px solid #222;
}
.rb-system-site .table {
color: #999
}
.table thead th {
border-bottom: 1px solid #222;
}
#emuldevices {
left: 0;
}
#emuldevices .table th:first-child,
#emuldevices .table td:first-child {
padding-left: 15px
}
#emuldevices .table tbody tr.active td,
#emuldevices .table tbody tr.active th {
color: #fff;
background-color: #007bff;
}
/*utility*/
/*color*/
.muted-link {
color: #ccc !important;
}
.muted-link:hover {
color: #eee !important;
text-decoration: none;
}
.text-gray {
color: #586069 !important;
}
.text-gray-light {
color: #959da5 !important;
}
.text-gray-dark {
color: #24292e !important;
}
.link-gray {
color: #586069 !important;
}
.link-gray-dark {
color: #24292e !important;
}
.link-gray-dark:hover {
color: #0366d6 !important;
}
.border-top {
border-top: 1px #e1e4e8 solid !important;
}
.border-gray-light {
border-color: #eaecef !important;
}

View File

@@ -0,0 +1,581 @@
body {
background-color: #F4F4F4;
font-family: 'Noto Sans KR', sans-serif, '돋움', dotum, sans-serif;
}
/*************** theme ******************/
.form-control,
.input-group-lg>.form-control {
border-radius: 0
}
.btn-light {
color: #24292e;
user-select: none;
background-color: #F4F4F4;
border: 1px solid rgba(0, 0, 0, .1);
border-radius: 0.25em;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
}
.btn-light:hover {
text-decoration: none;
background-repeat: repeat-x;
}
.btn-light:hover,
.btn-light.hover {
background-color: #e6ebf1;
}
.btn-light:active,
.btn-light.active,
.btn-light.selected {
background-color: #e9ecef !important;
background-image: none !important;
border-color: rgba(27, 31, 35, 0.35) !important;
}
.btn-light:disabled,
.btn-light.disabled {
color: rgba(36, 41, 46, 0.4);
background-color: #eff3f6;
background-image: none;
border: 1px solid rgba(27, 31, 35, 0.2);
border-color: rgba(27, 31, 35, 0.2);
box-shadow: none;
}
.btn:focus {
outline: 0;
}
.btn-light:focus,
.btn-light.focus {
box-shadow: 0 0 0 0.2em rgba(3, 102, 214, 0.3);
}
.rb-system-site .card-header a {
color: #888;
}
.rb-system-site .card-header.bg-primary a {
color: #fff
}
[data-toggle="buttons"].btn-group .btn-light {
color: #999;
font-weight: normal;
background-color: #fff;
font-weight: 300
}
[data-toggle="buttons"].btn-group .btn-light.active,
[data-toggle="buttons"].btn-group .btn-light:active {
color: #666 !important;
background-color: rgba(0, 0, 0, .05) !important;
border-color: rgba(0, 0, 0, .1) !important;
-webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .1);
-moz-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .1);
box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .1);
}
.btn-sm {
padding: 3px 10px;
font-size: 12px;
line-height: 20px;
}
.btn,
[role="button"] {
cursor: pointer !important;
}
.btn-danger {
color: #cb2431;
border: 1px solid rgba(27, 31, 35, 0.2);
background-color: #fafbfc;
background-image: linear-gradient(-180deg, #fafbfc 0%, #eff3f6 90%);
}
.btn-danger:hover {
color: #fff;
background-color: #cb2431;
background-image: linear-gradient(-180deg, #de4450 0%, #cb2431 90%);
border-color: rgba(27, 31, 35, 0.5);
}
.btn-danger:active,
.btn-danger.active {
color: #fff;
background-color: #b5202c;
background-image: none;
border-color: rgba(27, 31, 35, 0.5);
box-shadow: inset 0 0.15em 0.3em rgba(27, 31, 35, 0.15);
}
.btn-danger:disabled,
.btn-danger.disabled {
color: rgba(203, 36, 49, 0.4);
background-color: #eff3f6;
background-image: none;
border-color: rgba(27, 31, 35, 0.2);
box-shadow: none;
}
/*************** sidebar-inverse ******************/
.rb-system-sidebar.rb-inverse {
display: block;
background-color: #F4F4F4;
min-height: 100%;
border-right: 1px solid rgba(0, 0, 0, .1);
}
.rb-hidden-system-admin .rb-system-sidebar.rb-inverse,
.rb-minified-sidebar .rb-system-sidebar.rb-inverse {
box-shadow: 1px 0 3px rgba(0, 0, 0, 0.5);
}
.rb-system-admin .btn-toolbar .btn {
color: #666
}
.rb-system-admin .btn-toolbar .btn:hover {
color: #333
}
.rb-system-admin .btn-toolbar .btn:active {
color: #428BCA
}
.rb-system-sidebar.rb-inverse .rb-buttons .rb-content-padded {
border-bottom: 1px solid #1A1817;
}
.rb-system-sidebar.rb-inverse .rb-buttons .rb-inner {
border-bottom: 1px solid #1A1817;
}
.rb-system-sidebar.rb-inverse nav ul li a:focus {
color: #c9c9c9
}
.rb-system-admin .rb-icon-minify:hover .rb-icon:before {
color: #999;
}
.rb-system-sidebar.rb-inverse nav ul li.active a,
.rb-system-sidebar.rb-inverse nav ul li.active a:hover {
color: #555
}
.rb-system-sidebar.rb-inverse nav ul li.open>a,
.rb-system-sidebar.rb-inverse nav ul li.open>a b {
color: #fff !important;
}
.rb-system-admin nav>ul li.active ul li.active>a {
background-color: #D5D5D5
}
.rb-system-admin #sidebar-sites nav .list-group-item.active {
background-color: #D5D5D5;
}
.rb-system-sidebar.rb-inverse nav ul li:hover,
.rb-system-sidebar.rb-inverse nav ul li:hover .menu-item-parent {
color: #428bca;
}
.rb-system-sidebar.rb-inverse nav ul li.active:hover,
.rb-system-sidebar.rb-inverse nav ul li.active:hover .menu-item-parent {
color: #333;
}
.rb-system-sidebar.rb-inverse nav ul li a {
color: #444;
}
#sidebar-modules .list-group-item.active a {
background-color: #D5D5D5;
}
.rb-system-sidebar.rb-inverse nav ul li .menu-item-parent {
color: #444;
}
.rb-system-sidebar.rb-inverse nav ul li a:focus {
/* color: #c9c9c9 */
}
.rb-system-sidebar.rb-inverse nav ul ul {
/*background: rgba(69, 69, 69, .7);*/
}
.rb-system-sidebar.rb-inverse nav ul .active ul {
/*background: rgba(69, 69, 69, 1);*/
}
.rb-system-sidebar.rb-inverse nav>ul>li>ul::before {
border-left: 1px dotted #7A7A7A;
}
.rb-system-sidebar.rb-inverse nav>ul li.active>a.collapsed:before {
color: #D5D5D5;
}
.rb-system-sidebar.rb-inverse nav>ul li.active ul li.active>a:before {
color: #D5D5D5;
}
.rb-system-sidebar.rb-inverse nav ul li a:active {
background: rgba(0, 0, 0, .04);
!important
}
.rb-system-sidebar.rb-inverse nav>ul ul li::before {
border-top: 1px dotted #7A7A7A;
}
.rb-system-sidebar.rb-inverse nav>ul>li>a>i>em {
background: #ED1C24;
color: #fff;
border: 1px solid rgba(255, 255, 255, .1);
}
/*login-info*/
.rb-system-sidebar.rb-inverse .login-info a.rb-username {
color: #444;
}
.rb-system-sidebar.rb-inverse .login-info>a:hover {
color: #fff
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse .login-info {
border-bottom: 1px solid rgba(0, 0, 0, .1)
}
@media (max-width: 992px) and (min-width: 768px) {
.rb-system-sidebar.rb-inverse .rb-minify-sidebar {
color: #A8A8A8;
}
}
/* minified-sidebar */
.rb-system-sidebar.rb-inverse .rb-minify-sidebar {
background: transparent;
color: #A8A8A8;
}
.rb-system-sidebar.rb-inverse .rb-minify-sidebar:hover {
/*background: #646464;*/
color: #E4E4E4;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse .rb-minify-sidebar {
color: #A8A8A8;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse .rb-inbox-badge {
background: #ED1C24;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>ul {
background: #ed1c24 !important
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>a>.menu-item-parent {
background-color: #f5f5f5;
color: #333 !important;
text-shadow: none;
-webkit-box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, .2);
-moz-box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, .2);
box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, .2);
border-left: 1px solid #bfbfbf;
border-top: 1px solid #D8D4D4;
border-bottom: 1px solid #fff;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>ul {
border: 1px solid rgba(0, 0, 0, .1);
-webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .2);
-moz-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .2);
box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .2);
background: #fff;
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>ul>li {
background-color: #ffff
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li>ul>li>ul>li {
background-color: #fff
}
.rb-minified-sidebar .rb-system-sidebar.rb-inverse nav>ul>li {
border-bottom: 1px solid rgba(0, 0, 0, .1);
border-top: 1px solid rgba(0, 0, 0, .1)
}
/* hide-sidebar */
.rb-system-sidebar.rb-inverse .rb-hide-sidebar2 {
border-bottom: 1px solid #302F2F;
background: transparent;
color: #A8A8A8;
}
.rb-hidden-sidebar .rb-system-sidebar.rb-inverse {
-moz-box-shadow: 0 0 6px rgba(3, 3, 3, 0.6);
-webkit-box-shadow: 0 0 6px rgba(3, 3, 3, 0.6);
box-shadow: 0 0 6px rgba(3, 3, 3, 0.6);
}
.rb-hidden-sidebar .rb-system-sidebar.rb-inverse .rb-hide-sidebar {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.rb-system-sidebar.rb-system-site {
background-color: #fff;
border-left: 1px solid rgba(0, 0, 0, .1);
}
.rb-system-site .rb-panel-top {
background-color: #F4F4F4 !important;
border-bottom: 1px solid rgba(0, 0, 0, .1);
color: #eee
}
.rb-system-site .rb-icon-hide {
color: #999
}
.rb-hidden-system-site .rb-system-site .rb-icon-hide:hover .rb-icon:before,
.rb-system-site .rb-icon-hide:hover .rb-icon:before {
color: #999;
}
/* tabs-below */
.rb-system-sidebar.rb-inverse .nav-tabs {
border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.rb-system-sidebar.rb-inverse .nav-tabs>li>a {
border: 1px solid rgba(0, 0, 0, .1);
color: #777;
background-color: #fff;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li>a.active {
color: #444;
background: #ffffff;
border: 1px solid #c9c9c9;
border-right: 1px solid transparent;
border-bottom-color: transparent;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li>a:hover {
color: #62aeef;
}
.rb-system-sidebar.rb-inverse .nav-tabs>li:last-child>a,
.rb-system-sidebar.rb-inverse .nav-tabs>li.last-child>a {
border-right: 1px solid #c9c9c9
}
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs {
border-color: #c5d0dc;
}
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a:hover,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a:focus {
margin-left: -1px
}
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a.active,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a.active:hover,
.rb-system-sidebar.rb-inverse .tabs-below>.nav-tabs>li>a.active:focus {
background-color: transparent;
border-color: transparent;
border: none;
}
.rb-system-main {
background-color: #fff
}
.rb-system-site .list-group-item {
line-height: 1.2
}
.rb-system-site .custom-control-description {
line-height: 1.9
}
.custom-checkbox,
.custom-radio {
line-height: 1.7rem;
}
.custom-control-label::before {
border-radius: .15rem;
}
.rb-system-site .rb-content-padded {
padding: 0;
}
.rb-system-site .nav-tabs .nav-link {
border-radius: 0;
color: #999
}
.rb-system-sidebar .nav-tabs {
border-bottom: 1px solid transparent;
}
.rb-system-sidebar .nav-tabs .nav-item {
width: 25%
}
.rb-system-sidebar .nav-tabs .nav-link {
padding: .5rem;
border-right: 1px solid rgba(0, 0, 0, .1);
border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.rb-system-sidebar .nav-tabs .nav-link:hover {
border-color: rgba(0, 0, 0, .1);
border-top-color: transparent;
border-left-color: transparent
}
.rb-system-sidebar .nav-tabs .nav-link.active {
color: #444;
background-color: inherit;
border: 1px solid rgba(0, 0, 0, .1);
border-top: 0;
border-bottom: 0
}
.rb-system-sidebar .nav-tabs .nav-link.active:first-child {
border-left: 0
}
.rb-system-site fieldset[disabled] .btn-light,
.rb-system-site fieldset[disabled] .btn-light.active {
background-image: none;
background-color: inherit
}
.rb-system-site .card {
background-color: inherit;
color: #555;
}
.btn.btn-block {
border-radius: 4rem;
}
.btn-outline-primary {
color: #555;
border-color: #ccc;
}
.rb-hidden-system-site .rb-system-site .rb-opener {
background-color: inherit;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
box-shadow: -1px 0 2px rgba(0, 0, 0, 0.5);
color: #9ea6b3;
display: block;
left: -20px;
padding: 0 5px;
}
.rb-system-site .table td,
.rb-system-site .table th {
border-top: 1px solid rgba(0, 0, 0, .1);
}
.table thead th {
border-bottom: 1px solid rgba(0, 0, 0, .1);
}
#emuldevices {
left: 0;
}
#emuldevices .table th:first-child,
#emuldevices .table td:first-child {
padding-left: 15px
}
#emuldevices .table tbody tr.active td,
#emuldevices .table tbody tr.active th {}
/*utility*/
/*color*/
.muted-link {
color: #ccc !important;
}
.muted-link:hover {
color: #eee !important;
text-decoration: none;
}
.text-gray {
color: #586069 !important;
}
.text-gray-light {
color: #959da5 !important;
}
.text-gray-dark {
color: #24292e !important;
}
.link-gray {
color: #586069 !important;
}
.link-gray-dark {
color: #24292e !important;
}
.link-gray-dark:hover {
color: #0366d6 !important;
}
.border-top {
border-top: 1px #e1e4e8 solid !important;
}
.border-gray-light {
border-color: #eaecef !important;
}

View File

@@ -0,0 +1,79 @@
<?php
if(!defined('__KIMS__')) exit;
if (is_file($g['main']))
{
if (!$system)
{
if(!$g['mobile'] || $_SESSION['pcmode']=='Y')
{
if (!$g['head']['cod'])
{
$g['codhead'] = $g['path_page'].$r.'-menus/'.$_HM['id'].'.header.php';
if(is_file($g['codhead'])) include $g['codhead'];
}
if ($_HM['imghead'])
{
if (strstr($_HM['imghead'],'swf')) echo '<div><embed id="swf_menu_header" src="'.$g['s'].'/_var/menu/'.$_HM['imghead'].'"></embed></div>';
else echo '<div><img id="img_menu_header" src="'.$g['s'].'/_var/menu/'.$_HM['imghead'].'" alt="" /></div>';
}
}
$d['cachetime'] = file_exists($d['page']['cctime']) ? implode('',file($d['page']['cctime'])) : 0;
if ($d['cachetime'] && substr($d['page']['source'],0,8)=='./pages/')
{
$g['cache'] = str_replace('.php','.cache',$d['page']['source']);
$g['recache'] = true;
if(file_exists($g['cache']))
{
if(mktime() - filemtime($g['cache']) > $d['cachetime'] * 60) unlink($g['cache']);
else
{
readfile($g['cache']);
$g['recache'] = false;
}
}
if ($g['recache'])
{
ob_start();
include $g['main'];
$g['buffer'] = ob_get_contents();
ob_end_clean();
echo $g['buffer'];
$fp = fopen($g['cache'],'w');
fwrite($fp,$g['buffer']);
fclose($fp);
@chmod($g['cache'],0707);
}
}
else {
include $g['main'];
}
if(!$g['mobile'] || $_SESSION['pcmode']=='Y')
{
if ($_HM['imgfoot'])
{
if (strstr($_HM['imgfoot'],'swf')) echo '<div><embed id="swf_menu_footer" src="'.$g['s'].'/_var/menu/'.$_HM['imgfoot'].'"></embed></div>';
else echo '<div><img id="img_menu_footer" src="'.$g['s'].'/_var/menu/'.$_HM['imgfoot'].'" alt="" /></div>';
}
if (!$g['foot']['cod'])
{
$g['codfoot'] = $g['path_page'].$r.'-menus/'.$_HM['id'].'.footer.php';
if(is_file($g['codfoot'])) include $g['codfoot'];
}
}
}
else {
include $g['main'];
}
}
else
{
getLink($g['s'].'/?r='.$r,'','','');
}
?>

View File

@@ -0,0 +1,75 @@
<?php
if(!defined('__KIMS__')) exit;
$g['incdir'] = $g['incdir']?$g['incdir']:$g['path_layout'].$d['layout']['dir'].'/_includes/';
$g['wcache'] = $d['admin']['cache_flag']?'?nFlag='.$date[$d['admin']['cache_flag']]:'';
$g['cssset'] = array
(
$g['dir_module'].'_main'=>$g['url_module'].'/_main',
$g['dir_module_skin'].'_main'=>$g['url_module_skin'].'/_main',
$g['dir_module_comm']=>$g['url_module_comm'],
$g['dir_module_mode']=>$g['url_module_mode'],
$g['dir_module_admin']=>$g['url_module_admin'],
);
$NT_DATA = explode('|',$my['noticeconf']);
$nt_web = $NT_DATA[0];
$nt_email = $NT_DATA[1];
$nt_fcm = $NT_DATA[2];
?>
<script>
var rooturl = '<?php echo $g['url_root']?>';
var rootssl = '<?php echo $g['ssl_root']?>';
var raccount= '<?php echo $r?>';
var moduleid= '<?php echo $m?>';
var memberid= '<?php echo $my['id']?>';
var is_admin= '<?php echo $my['admin']?>';
var num_mynoti = '<?php echo $my['num_notice']==0?'':$my['num_notice']?>';
var connect_naver= '<?php echo getConnectUrl('naver',$d['connect']['key_n'],$d['connect']['secret_n'],$g['url_root'].'/'.$r.'/oauth/naver',false)?>';
var connect_kakao= '<?php echo getConnectUrl('kakao',$d['connect']['key_k'],$d['connect']['secret_k'],$g['url_root'].'/'.$r.'/oauth/kakao',false)?>';
var connect_google= '<?php echo getConnectUrl('google',$d['connect']['key_g'],$d['connect']['secret_g'],$g['url_root'].'/'.$r.'/oauth/google',false)?>';
var connect_facebook= '<?php echo getConnectUrl('facebook',$d['connect']['key_f'],$d['connect']['secret_f'],$g['url_root'].'/'.$r.'/oauth/facebook',false)?>';
var connect_instagram= '<?php echo getConnectUrl('instagram',$d['connect']['key_i'],$d['connect']['secret_i'],$g['url_root'].'/'.$r.'/oauth/instagram',false)?>';
var nt_web = '<?php echo $nt_web ?>';
var nt_email = '<?php echo $nt_email ?>';
var nt_fcm = '<?php echo $nt_fcm ?>';
var broswer = '<?php echo $g['broswer'] ?>';
var deviceKind = '<?php echo $g['mobile'] ?>';
var deviceType = '<?php echo $g['deviceType'] ?>';
var kakao_jskey = '<?php echo $d['connect']['jskey_k'] ?>';
var post_skin_main = '<?php echo $d['post']['skin_main'] ?>';
var post_skin_mobile = '<?php echo $d['post']['skin_mobile'] ?>';
var ios_Token = window.localStorage.getItem('setTokenTolocal');
var is_pwa = navigator.share === undefined?1:'';
</script>
<!-- is-loading : https://github.com/hekigan/is-loading-->
<?php getImport('is-loading','jquery.isloading.min','1.0.6','js')?>
<!-- js-cookie : https://github.com/js-cookie/js-cookie -->
<?php getImport('js-cookie','js.cookie.min','2.2.1','js')?>
<?php if (!$g['mobile'] && $_SESSION['pcmode'] == 'Y'): ?>
<!-- bootstrap-notify : https://github.com/mouse0270/bootstrap-notify -->
<?php getImport('bootstrap-notify','bootstrap-notify.min','3.1.3','js')?>
<?php endif; ?>
<link href="<?php echo $g['s']?>/_core/css/sys.css<?php echo $g['wcache']?>" rel="stylesheet">
<script src="<?php echo $g['s']?>/_core/js/sys.js<?php echo $g['wcache']?>"></script>
<?php if ($g['broswer']!='MSIE 10' && $g['broswer']!='MSIE 11'): ?>
<script src="<?php echo $g['s']?>/_core/js/ckeditor5.js<?php echo $g['wcache']?>"></script>
<?php endif; ?>
<?php foreach ($g['cssset'] as $_key => $_val):?>
<?php if (is_file($_key.'.css')):?>
<link href="<?php echo $_val?>.css<?php echo $g['wcache']?>" rel="stylesheet">
<?php endif?>
<?php if (is_file($_key.'.js')):?>
<script src="<?php echo $_val?>.js<?php echo $g['wcache']?>"></script>
<?php endif?>
<?php endforeach?>
<!-- 헤더 스위치 -->
<?php foreach($g['switch_2'] as $_switch) include $_switch ?>

View File

@@ -0,0 +1,96 @@
<!-- 사이트 풋터 코드 -->
<?php echo $_HS['footercode'] ?>
<!-- 푸터 스위치 -->
<?php foreach($g['switch_3'] as $_switch) include $_switch ?>
<?php if($g['mobile']&&$_SESSION['pcmode']=='Y'&&$iframe!='Y'):?>
<div id="pctomobile" class="bg-faded" style="width:100%">
<a href="<?php echo $g['s']?>/?r=<?php echo $r?>&amp;a=mobilemode" class="btn btn-block btn-secondary" style="font-size: 4rem;padding: 3rem">
<i class="fa fa-mobile fa-lg" aria-hidden="true"></i> 모바일 모드 전환
</a>
</div>
<?php endif?>
<div id="_box_layer_"></div>
<div id="_action_layer_"></div>
<div id="_hidden_layer_"></div>
<div id="_overLayer_"></div>
<iframe hidden name="_action_frame_<?php echo $m?>" width="0" height="0" frameborder="0" scrolling="no" title="iframe"></iframe>
<!-- 알림처리 -->
<iframe hidden name="pushframe" src="" title="iframe"></iframe>
<?php
if ($g['mobile']&&$_SESSION['pcmode']!='Y') {
$g['wdgcod'] = $g['path_tmp'].'widget/c'.$_HM['uid'].'.p'.$_HP['uid'].'.mobile.cache';
} else {
$g['wdgcod'] = $g['path_tmp'].'widget/c'.$_HM['uid'].'.p'.$_HP['uid'].'.desktop.cache';
}
if(is_file($g['wdgcod'])) include $g['wdgcod'];
if($g['widget_cssjs']) include $g['path_core'].'engine/widget.cssjs.php';
if($my['uid']) include $g['path_core'].'engine/notification.engine.php';
?>
<script>
$(function() {
Iframely('oembed[url]') // oembed 미디어 변환
// 회원가입 작동중단 처리
<?php if (!$d['member']['join_enable']): ?>
$('#modal-join').on('show.<?php echo ($g['mobile']&&$_SESSION['pcmode']!='Y')?'rc':'bs' ?>.modal', function (e) {
alert('죄송합니다. 지금은 회원가입을 하실 수 없습니다.')
location.reload();
})
<?php endif; ?>
// 알림 기본 셋팅값 정의
<?php if ($g['mobile'] && $_SESSION['pcmode'] != 'Y'): ?>
$.notifyDefaults({
placement: {
from: "bottom",
align: "center"
},
allow_dismiss: false,
offset: 20,
type: "default",
timer: 100,
delay: 1500,
animate: {
enter: "animated fadeInUp",
exit: "animated fadeOutDown"
}
});
<?php else: ?>
$.notifyDefaults({
placement: {
from: "top",
align: "right"
},
allow_dismiss: false,
offset: 20,
type: "success",
timer: 100,
delay: 1500,
animate: {
enter: "animated fadeInDown",
exit: "animated fadeOutUp"
}
});
<?php endif; ?>
});
<?php if($_HS['dtd']):?>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '<?php echo $_HS['dtd']?>', 'auto');
ga('send', 'pageview');
<?php endif?>
</script>

View File

@@ -0,0 +1,431 @@
<?php
if(!defined('__KIMS__')) exit;
if ($d['admin']['ssl_type'] == 1)
if($_SERVER['HTTPS'] != 'on') getLink($g['ssl_root'].'/?'.$_SERVER['QUERY_STRING'],'','','');
$DB_CONNECT = isConnectedToDB($DB);
$g['mobile']= isMobileConnect($_SERVER['HTTP_USER_AGENT']);
$g['device']= $g['mobile'] && $_SESSION['pcmode'] != 'Y';
$g['broswer'] = getBrowzer($_SERVER['HTTP_USER_AGENT']);
$g['deviceType']=getDeviceKind($_SERVER['HTTP_USER_AGENT'],$g['mobile']);
$my = array();
$my['level'] = 0;
if ($_SESSION['mbr_uid'])
{
$my = array_merge(getUidData($table['s_mbrid'],$_SESSION['mbr_uid']),getDbData($table['s_mbrdata'],"memberuid='".$_SESSION['mbr_uid']."'",'*'));
if (!$my['uid'] || $my['pw'] != $_SESSION['mbr_pw']) { // 로그인 상태에서 관리자 회원삭제 된 경우
$_SESSION['mbr_uid'] = '';
$_SESSION['mbr_pw'] = '';
$_SESSION['mbr_logout'] = '1';
setAccessToken($my['uid'],'logout');
setrawcookie('site_common_result', rawurlencode('로그아웃 되었습니다.|danger'),time() + (60 * 30), '/');
getLink('reload','','','');
}
}
// 로그인 상태 유지 프로세스 추가
if($_COOKIE[$DB['head'].'_token'])
{
$memberuid=getArrayCookie($_COOKIE[$DB['head'].'_token'],'|',0);
$access_token=getArrayCookie($_COOKIE[$DB['head'].'_token'],'|',1);
$_now=time();
$t_que="memberuid='".$memberuid."' and access_token='".$access_token."' and expire > '".$_now."' ";
$is_token=getDbData($DB['head'].'_s_mbrtoken',$t_que,'*');
if($is_token['uid']){
$my = array_merge(getUidData($table['s_mbrid'],$memberuid),getDbData($table['s_mbrdata'],"memberuid='".$memberuid."'",'*'));
}
}
if ($r)
{
$_HS = getDbData($table['s_site'],"id='".$r."'",'*');
$s = $_HS['uid'];
}
if (!$s)
{
if ($g['mobile'])
{
$_HH = getDbData($table['s_mobile'],'','*');
if ($_HH['usemobile'] == 1) $_HS = getUidData($table['s_site'],$_HH['startsite']);
else if($_HH['usemobile'] == 2) if($g['url_host'] != $_HH['startdomain']) getLink($_HH['startdomain'],'','','');
}
if (!$_HS['uid'])
{
$_HD = getDbData($table['s_domain'],"name='".str_replace('www.','',$_SERVER['HTTP_HOST'])."'",'*');
if ($_HD['site']) $_HS = getUidData($table['s_site'],$_HD['site']);
else $_HS = db_fetch_array(getDbArray($table['s_site'],'','*','gid','asc',1,1));
}
$s = $_HS['uid'];
$r = $_HS['id'];
}
else $_HS = getUidData($table['s_site'],$s);
$_SEO = getDbData($table['s_seo'],'rel=0 and parent='.$_HS['uid'],'*');
include getLangFile($g['path_module'].'admin/language/',($_HS['lang']?$_HS['lang']:$d['admin']['syslang']),'/lang.function.php');
include getLangFile($g['path_module'].'admin/language/',($_HS['lang']?$_HS['lang']:$d['admin']['syslang']),'/lang.engine.php');
$_CA = array();
$date = getVDate($_HS['timecal']);
$g['s'] = str_replace('/index.php','',$_SERVER['SCRIPT_NAME']);
$g['r'] = $_HS['rewrite'] ? $g['s'].($_HS['usescode']?'/'.$r:'') : '.';
$g['img_core'] = $g['s'].'/_core/images';
$g['meta_tit'] = $_SEO['title'];
$g['meta_key'] = $_SEO['keywords'];
$g['meta_des'] = $_SEO['description'];
$g['meta_bot'] = $_SEO['classification'];
$g['meta_img'] = $_SEO['image_src']?getMetaImage($_SEO['image_src']):$g['img_core'].'/noimage_kimsq.png';
$g['sys_module'] = $d['admin']['sysmodule'];
$g['sys_action'] = $a && !$c ? true : false;
$m = $m && !strstr($m,'.') ? $m : $g['sys_module'];
$_m = $m;
$_mod = $mod;
if (!$g['sys_action'] && !$system)
{
if ($c)
{
$c=substr($c,-1)=='/'?str_replace('/','',$c):$c;
$_CA = explode('/',$c);
$_tmp['count'] = count($_CA);
$_tmp['id'] = $_CA[$_tmp['count']-1];
$_HM = getDbData($table['s_menu'],"id='".$_tmp['id']."' and site=".$s,'*');
if ($_tmp['count']>1) $_FHM = getDbData($table['s_menu'],"id='".$_CA[0]."' and site=".$s,'*');
else $_FHM = $_HM;
if ($_HM['reject']&&!$my['admin']) getLink('','',_LANG('em001','admin'),'-1');
if ($_HM['site']!=$_HS['uid']) getLink('','',_LANG('em002','admin'),'-1');
if($_HM['menutype']==1)
{
if ($_HM['redirect']) getLink($_HM['joint'],'','','');
$_tmpexp = explode('?',$_HM['joint']);
if ($_tmpexp[1])
{
$_tmparr = explode('&',$_tmpexp[1]);
foreach($_tmparr as $_tmpval)
{
if(!$_tmpval) continue;
$_tmparr = explode('=',$_tmpval);
${$_tmparr[0]} = $_tmparr[1];
}
}
}
if($_HM['menutype']==3)
{
getLink(RW('c='.$_HM['joint']),'','','');
}
}
if (!$c && $m == $g['sys_module'])
{
if (!$mod) $_HP = getUidData($table['s_page'],$g['mobile']&&$_SESSION['pcmode']!='Y'?($_HS['m_startpage']?$_HS['m_startpage']:$_HS['startpage']):$_HS['startpage']);
else $_HP = getDbData($table['s_page'],"id='".$mod."'",'*');
if($_HP['uid']) $_HM['layout'] = $_HP['layout'];
if ($_HP['pagetype']==1)
{
$_HM['layout'] = $_HP['layout'];
$_tmpexp = explode('?',$_HP['joint']);
if ($_tmpexp[1])
{
$_tmparr = explode('&',$_tmpexp[1]);
foreach($_tmparr as $_tmpval)
{
if(!$_tmpval) continue;
$_tmparr = explode('=',$_tmpval);
${$_tmparr[0]} = $_tmparr[1];
}
if ($_m == $g['sys_module']) $_mod = '';
if ($m != $g['sys_module']) $mod = $_mod;
}
}
}
if ($d['admin']['ssl_type'] == 2)
{
if ($_HP['uid'])
{
if (strpos(',,'.$d['admin']['ssl_page'].',',','.$_HP['id'].','))
{
if($_SERVER['HTTPS'] != 'on') getLink($g['ssl_root'].'/?'.$_SERVER['QUERY_STRING'],'','','');
}
else {
if($_SERVER['HTTPS'] == 'on') getLink(str_replace(':'.$d['admin']['ssl_port'],'',str_replace('https://','http://',$g['url_root'])).'/?'.$_SERVER['QUERY_STRING'],'','','');
}
}
else if ($_HM['uid'])
{
if (strpos(',,'.$d['admin']['ssl_menu'].',',','.$_HM['id'].','))
{
if($_SERVER['HTTPS'] != 'on') getLink($g['ssl_root'].'/?'.$_SERVER['QUERY_STRING'],'','','');
}
else {
if($_SERVER['HTTPS'] == 'on') getLink(str_replace(':'.$d['admin']['ssl_port'],'',str_replace('https://','http://',$g['url_root'])).'/?'.$_SERVER['QUERY_STRING'],'','','');
}
}
else {
if (strpos(',,'.$d['admin']['ssl_module'].',',','.$m.','))
{
if($_SERVER['HTTPS'] != 'on') getLink($g['ssl_root'].'/?'.$_SERVER['QUERY_STRING'],'','','');
}
else {
if($_SERVER['HTTPS'] == 'on') getLink(str_replace(':'.$d['admin']['ssl_port'],'',str_replace('https://','http://',$g['url_root'])).'/?'.$_SERVER['QUERY_STRING'],'','','');
}
}
}
}
$_HMD = getDbData($table['s_module'],"id='".$m."'",'*');
$g['switch_1'] = getSwitchInc('top');
$g['switch_2'] = getSwitchInc('head');
$g['switch_3'] = getSwitchInc('foot');
$g['switch_4'] = getSwitchInc('end');
//사이트별 회원설정 변수
$g['memberVarForSite'] = $g['path_var'].'site/'.$r.'/member.var.php'; // 사이트 회원모듈 변수파일
include_once file_exists($g['memberVarForSite']) ? $g['memberVarForSite'] : $g['path_module'].'member/var/var.php';
//사이트별 포스트설정 변수
$g['postVarForSite'] = $g['path_var'].'site/'.$r.'/post.var.php';
include_once file_exists($g['postVarForSite']) ? $g['postVarForSite'] : $g['path_module'].'post/var/var.php';
$d['post']['writeperm'] = true;
$d['post']['categoryperm'] = true;
$d['post']['goodsperm'] = true;
if (!$my['admin']) {
if ($d['post']['perm_l_write'] > $my['level'] || strpos('_'.$d['post']['perm_g_write'],'['.$my['mygroup'].']') || !$my['uid']) {
$d['post']['writeperm'] = false;
}
if ($d['post']['perm_l_category'] > $my['level'] || strpos('_'.$d['post']['perm_g_category'],'['.$my['mygroup'].']') || !$my['uid']) {
$d['post']['categoryperm'] = false;
}
if ($d['post']['perm_l_goods'] > $my['level'] || strpos('_'.$d['post']['perm_g_goods'],'['.$my['mygroup'].']') || !$my['uid']) {
$d['post']['goodsperm'] = false;
}
}
//사이트별 게시판 공통설정 변수
$g['bbsVarForSite'] = $g['path_var'].'site/'.$r.'/bbs.var.php';
include_once file_exists($g['bbsVarForSite']) ? $g['bbsVarForSite'] : $g['path_module'].'bbs/var/var.php';
//사이트별 댓글설정 변수
$g['commentVarForSite'] = $g['path_var'].'site/'.$r.'/comment.var.php';
include_once file_exists($g['commentVarForSite']) ? $g['commentVarForSite'] : $g['path_module'].'comment/var/var.php';
// 회원가입을 위한 이메일/휴대폰 본인인증 후 관련세션 존재유무
if (isset($_SESSION['JOIN']['email']) || isset($_SESSION['JOIN']['phone'])) {
$call_modal_join_site=1; // 인증후,가입 모달 호출
}
//사이트별 외부연결 설정
if (file_exists($g['path_var'].'site/'.$r.'/connect.var.php')) {
include $g['path_var'].'site/'.$r.'/connect.var.php';
}
// 푸시알림 지원여부
if ( $g['mobile']!='ipad' && $g['mobile']!='iphone') {
if ($g['broswer']!='MSIE 11' && $g['broswer']!='MSIE 10' && $g['broswer']!='MSIE 9' && $g['broswer']!='Safari') {
$g['pwa_supported']=1;
if (file_exists($g['path_var'].'fcm.info.js')) {
$g['push_active']=1;
} else {
$g['push_active']=2;
}
}
}
// 포스트 공개관련
$d['displaySet'] = "||비공개,lock||일부공개,how_to_reg||미등록,insert_link||회원공개,people_alt||전체공개,public";
$g['displaySet']['label'] = [];
$g['displaySet']['icon'] = [];
$displaySet=explode('||',$d['displaySet']);
foreach ($displaySet as $displayLine) {
$dis=explode(',',$displayLine);
array_push($g['displaySet']['label'], $dis[0]);
array_push($g['displaySet']['icon'], $dis[1]);
}
//소셜로그인 세션 존재유무
if(isset($_SESSION['SL']['naver'])||isset($_SESSION['SL']['kakao'])||isset($_SESSION['SL']['facebook'])||isset($_SESSION['SL']['google'])||isset($_SESSION['SL']['instagram'])||isset($_SESSION['SL']['twitter'])){
if (is_array($_SESSION['SL']['naver']) || is_array($_SESSION['SL']['kakao']) || is_array($_SESSION['SL']['facebook']) || is_array($_SESSION['SL']['google']) || is_array($_SESSION['SL']['instagram']) || is_array($_SESSION['SL']['twitter'])){
$is_socialUserinfoSession = 1;
}
}
//소셜로그인을 사용할때
if ($d['member']['login_social'] || $d['member']['join_bySocial']) {
if ($is_socialUserinfoSession) {
if (isset($_SESSION['SL']['naver'])) {
$sns_code = 'n';
$sns_name = 'naver';
$sns_name_ko = '네이버';
$sns_access_token = $_SESSION['SL']['naver']['userinfo']['access_token']; //소셜미디어 접근토큰
$sns_refresh_token = $_SESSION['SL']['naver']['userinfo']['refresh_token']; //소셜미디어 갱신토큰
$sns_expires_in = $_SESSION['SL']['naver']['userinfo']['expires_in']; //소셜미디어 접근 토큰 유효기간(초)
$snsuid = $_SESSION['SL']['naver']['userinfo']['uid']; //소셜미디어 고유번호
$name = $_SESSION['SL']['naver']['userinfo']['name'];
$email = $_SESSION['SL']['naver']['userinfo']['email'];
$_photo = $_SESSION['SL']['naver']['userinfo']['photo'];
}
if (isset($_SESSION['SL']['kakao'])) {
$sns_code = 'k';
$sns_name = 'kakao';
$sns_name_ko = '카카오';
$sns_access_token = $_SESSION['SL']['kakao']['userinfo']['access_token']; //소셜미디어 접근토큰
$sns_refresh_token = $_SESSION['SL']['kakao']['userinfo']['refresh_token']; //소셜미디어 갱신토큰
$sns_expires_in = $_SESSION['SL']['kakao']['userinfo']['expires_in']; //소셜미디어 접근 토큰 유효기간(초)
$snsuid = $_SESSION['SL']['kakao']['userinfo']['uid']; //소셜미디어 고유번호
$name = $_SESSION['SL']['kakao']['userinfo']['name'];
$email = $_SESSION['SL']['kakao']['userinfo']['email'];
$_photo = $_SESSION['SL']['kakao']['userinfo']['photo'];
}
if (isset($_SESSION['SL']['facebook'])) {
$sns_code = 'f';
$sns_name = 'facebook';
$sns_name_ko = '페이스북';
$sns_access_token = $_SESSION['SL']['facebook']['userinfo']['access_token']; //소셜미디어 접근토큰
$sns_refresh_token = $_SESSION['SL']['facebook']['userinfo']['refresh_token']; //소셜미디어 갱신토큰
$sns_expires_in = $_SESSION['SL']['facebook']['userinfo']['expires_in']; //소셜미디어 접근 토큰 유효기간(초)
$snsuid = $_SESSION['SL']['facebook']['userinfo']['uid']; //소셜미디어 고유번호
$name = $_SESSION['SL']['facebook']['userinfo']['name'];
$email = $_SESSION['SL']['facebook']['userinfo']['email'];
$_photo = $_SESSION['SL']['facebook']['userinfo']['photo'];
}
if (isset($_SESSION['SL']['google'])) {
$sns_code = 'g';
$sns_name = 'google';
$sns_name_ko = '구글';
$sns_access_token = $_SESSION['SL']['google']['userinfo']['access_token']; //소셜미디어 접근토큰
$sns_refresh_token = $_SESSION['SL']['google']['userinfo']['refresh_token']; //소셜미디어 갱신토큰
$sns_expires_in = $_SESSION['SL']['google']['userinfo']['expires_in']; //소셜미디어 접근 토큰 유효기간(초)
$snsuid = $_SESSION['SL']['google']['userinfo']['uid']; //소셜미디어 고유번호
$name = $_SESSION['SL']['google']['userinfo']['name'];
$email = $_SESSION['SL']['google']['userinfo']['email'];
$_photo = $_SESSION['SL']['google']['userinfo']['photo'];
}
if (isset($_SESSION['SL']['instagram'])) {
$sns_code = 'i';
$sns_name = 'instagram';
$sns_name_ko = '인스타그램';
$sns_access_token = $_SESSION['SL']['instagram']['userinfo']['access_token']; //소셜미디어 접근토큰
$snsuid = $_SESSION['SL']['instagram']['userinfo']['uid']; //소셜미디어 고유번호
$name = $_SESSION['SL']['instagram']['userinfo']['name'];
$_photo = $_SESSION['SL']['instagram']['userinfo']['photo'];
}
$mbr_sns = getDbData($table['s_mbrsns'],'id='.$snsuid.' and sns="'.$sns_name.'"','mbruid');
$mbr_email = getDbData($table['s_mbremail'],"email='".$email."'",'*');
$d_regis = $date['totime'];
if ($my['uid']) {
// 개인정보관리 > 연결계정 > 추가 연결
if ($mbr_sns['mbruid'] && ($mbr_sns['mbruid'] != $my['uid'])) {
setrawcookie('site_common_result', rawurlencode($sns_name_ko.' 계정이 이미 다른계정에 연결되어 있습니다.|danger'),time() + (60 * 30), '/');
$_SESSION['SL'] = ''; // 세션비우기
getLink('reload','','','');
}
if ($mbr_sns['mbruid']) {
$msg = ' 계정이 재인증 되었습니다.'; //개인정보관리 > 개인정보잠금 > 재인증
} else { //신규연결
$msg = ' 계정이 연결 되었습니다.'; // 개인정보관리 > 연결계정 > 추가 연결
getDbInsert($table['s_mbrsns'],'mbruid,sns,id,access_token,refresh_token,expires_in,d_regis',"'".$my['uid']."','".$sns_name."','$snsuid','$sns_access_token','$sns_refresh_token','$sns_expires_in','$d_regis'");
}
getDbUpdate($table['s_mbrdata'],"last_log='".$date['totime']."'",'memberuid='.$my['uid']);
setrawcookie('site_common_result', rawurlencode($sns_name_ko.$msg.'|default'),time() + (60 * 30), '/'); // 알림레이어 출력를 위한 로그인 상태 cookie 저장
$_SESSION['SL'] = ''; // 세션비우기
getLink('reload','','','');
} else { // 비로그인 상태
//결과값 못 받은 경우
if (!$name) {
$_SESSION['SL'] = '';
setrawcookie('site_common_result',rawurlencode($sns_name_ko.' 에서 정보를 수신하지 못했습니다.|danger'),time() + (60 * 30), '/');
getLink('reload','','','');
}
// 정상 소셜로그인 (이미 연결된 소셜미디어 고유번호가 있을 경우, 해당회원 로그인 처리)
if ($mbr_sns['mbruid']) {
$M = getUidData($table['s_mbrid'],$mbr_sns['mbruid']);
getDbUpdate($table['s_mbrdata'],"tmpcode='',now_log=1,last_log='".$date['totime']."',sns='".$sns_name."'",'memberuid='.$M['uid']);
$_SESSION['mbr_uid'] = $M['uid'];
$_SESSION['mbr_pw'] = $M['pw'];
setAccessToken($mbr_sns['mbruid'],'login'); //로그인 유지 기본적용
setrawcookie('site_common_result',rawurlencode($sns_name_ko.' 계정으로 로그인 되었습니다.|default'),time() + (60 * 30), '/'); // 알림레이어 출력를 위한 로그인 상태 cookie 저장
$_SESSION['SL'] = ''; //세션 비우기
getLink('reload','','','');
}
// 소셜미디어에서 획득한 이메일이 기존 회원의 동일한 이메일에 있을 경우,
if ($mbr_email['mbruid']) {
if ($mbr_email['d_verified']) {
// 본인 인증된 메일일 경우, 자동 로그인 및 연결처리 (동일인 중복가입을 막기위해)
$M = getUidData($table['s_mbrid'],$mbr_email['mbruid']);
$d_regis = $date['totime'];
getDbUpdate($table['s_mbrdata'],"tmpcode='',now_log=1,last_log='".$date['totime']."',sns='".$sns_name."'",'memberuid='.$M['uid']);
getDbInsert($table['s_mbrsns'],'mbruid,sns,id,access_token,refresh_token,expires_in,d_regis',"'".$M['uid']."','".$sns_name."','$snsuid','$sns_access_token','$sns_refresh_token','$sns_expires_in','$d_regis'");
$_SESSION['mbr_uid'] = $M['uid'];
$_SESSION['mbr_pw'] = $M['pw'];
setrawcookie('site_common_result', rawurlencode($sns_name_ko.' 계정으로 로그인 되었습니다.|default'),time() + (60 * 30), '/'); // 알림레이어 출력를 위한 로그인 상태 cookie 저장
$_SESSION['SL'] = ''; //세션 비우기
getLink('reload','','','');
} else {
// 계정연결 모달 호출
$is_sns = getDbData($table['s_mbrsns'],'mbruid="'.$mbr_email['mbruid'].'"','sns');
$has_sns = $is_sns['sns'];
if ($is_sns['sns']=='naver') $has_sns_ko = '네이버';
if ($is_sns['sns']=='kakao') $has_sns_ko = '카카오';
if ($is_sns['sns']=='google') $has_sns_ko = '구글';
if ($is_sns['sns']=='facebook') $has_sns_ko = '페이스북';
if ($is_sns['sns']=='instagram') $has_sns_ko = '인스타그램';
setrawcookie('site_common_result', rawurlencode($sns_name_ko.' 사용자 인증 되었습니다. 계정을 연결해 주세요.|default'),time() + (60 * 30), '/'); // 알림레이어 출력를 위한 로그인 상태 cookie 저장
if ($m!='member' || $front!="login") {
$call_modal_combine=1; // 계정통합 모달 호출
}
}
} else {
if ($d['member']['join_enable']) { // 회원가입 작동 중지
setrawcookie('site_common_result', rawurlencode($sns_name_ko.' 사용자 인증 되었습니다.|default'),time() + (60 * 30), '/'); // 알림레이어 출력를 위한 로그인 상태 cookie 저장
if ($m!='member' || $front!="join") {
$call_modal_join_social=1; // 소셜로그인 인증후,가입 모달 호출
}
} else {
$call_modal_join_social=0;
$_SESSION['SL'] = ''; //세션 비우기
setrawcookie('site_common_result', rawurlencode(' 죄송합니다. 지금은 회원가입을 하실 수 없습니다.|danger'),time() + (60 * 30), '/'); // 알림레이어 출력를 위한 로그인 상태 cookie 저장
}
}
}
} //소셜미디어에서 확득한 사용자 정보배열 세션이 있을때 끝
// 연결계정 정보
$my_naver = getDbData($table['s_mbrsns'],"mbruid='".$my['uid']."' and sns='naver'",'*');
$my_kakao = getDbData($table['s_mbrsns'],"mbruid='".$my['uid']."' and sns='kakao'",'*');
$my_google = getDbData($table['s_mbrsns'],"mbruid='".$my['uid']."' and sns='google'",'*');
$my_facebook = getDbData($table['s_mbrsns'],"mbruid='".$my['uid']."' and sns='facebook'",'*');
$my_instagram = getDbData($table['s_mbrsns'],"mbruid='".$my['uid']."' and sns='instagram'",'*');
}
?>

View File

@@ -0,0 +1,58 @@
<?php
if(!defined('__KIMS__')) exit;
$g['notiVarForSite'] = $g['path_var'].'site/'.$r.'/notification.var.php';
include_once file_exists($g['notiVarForSite']) ? $g['notiVarForSite'] : $g['path_module'].'notification/var/var.php';
$NT_DATA = explode('|',$my['noticeconf']);
?>
<script>
$('.rb-notifications-toggle').on('click', function () {
if(getId('rb-notifications-layer'))
{
getId('rb-notifications-layer').innerHTML = getAjaxData('<?php echo $g['s']?>/?r=<?php echo $r?>&m=notification&a=notice_check&noticedata=Y');
setTimeout("loadNotification();",1000);
}
});
$('.rb-notifications-modal').on('click',function() {
modalSetting('modal_window','<?php echo getModalLink('&amp;system=popup.notification')?>');
});
$('.rb-notifications-modal-view').on('click',function() {
modalSetting('modal_window','<?php echo getModalLink('&amp;system=popup.notification&amp;callMod=view')?>');
});
$('.rb-notifications-modal-config').on('click',function() {
modalSetting('modal_window','<?php echo getModalLink('&amp;system=popup.notification&amp;callMod=config')?>');
});
function pushNotification(num)
{
var _num = (num >= <?php echo $d['ntfc']['num']?> ? '+<?php echo $d['ntfc']['num']?>' : num);
if (parent.getId('rb-notification-name'))
{
parent.getId('rb-notification-name').innerHTML = _num;
parent.getId('rb-notification-name').className = 'badge rb-notification-layer rb-notification-active' + (num == 0 ? ' hidden':'');
parent.getId('rb-notification-badge').innerHTML = num;
}
if (getId('rb-notification-badge'))
{
getId('rb-notification-badge').innerHTML = _num;
getId('rb-notification-badge').className = getId('rb-notification-badge').className.replace(' rb-notification-active','') + (num == 0 ? '':' rb-notification-active');
}
if (getId('rb-notification-badge-other'))
{
getId('rb-notification-badge-other').innerHTML = _num;
getId('rb-notification-badge-other').className = getId('rb-notification-badge').className.replace(' rb-notification-active','') + (num == 0 ? '':' rb-notification-active');
}
<?php if($NT_DATA[1] && !$_SESSION['sh_notify_popup']):?>
<?php endif?>
}
function loadNotification()
{
frames._action_frame_<?php echo $m?>.location.href = '<?php echo $g['s']?>/?r=<?php echo $r?>&m=notification&a=notice_check';
}
setTimeout("loadNotification();",<?php echo $d['ntfc']['sec']?>000);
pushNotification(<?php echo $my['num_notice']?>);
</script>

View File

@@ -0,0 +1,30 @@
<?php
if(!defined('__KIMS__')) exit;
$g['notiVarForSite'] = $g['path_var'].'site/'.$r.'/notification.var.php';
include_once file_exists($g['notiVarForSite']) ? $g['notiVarForSite'] : $g['path_module'].'notification/var/var.php';
$N = explode('|',$my['noticeconf']);
$send_email = $N[1]?1:0;
$send_push = $N[2]?1:0;
?>
<?php if ($my['uid'] && $g['push_active']==1): ?>
<!-- FCM -->
<script src="<?php echo $g['s']?>/_var/fcm.info.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.2.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.2.0/firebase-messaging.js"></script>
<script src="<?php echo $g['url_layout']?>/_js/noti.js"></script>
<div class="token" hidden></div>
<?php if (!$send_push): ?>
<script>
console.log('푸시알림이 비활성화 되어 <?php echo $d['ntfc']['sec']?>초 마다 알림사항을 체크합니다.')
setTimeout(function(){
var src = '<?php echo $g['s']?>/?r=<?php echo $r?>&m=notification&a=get_notiNum&browtitle=<?php echo $g['browtitle']?>'
$("iframe[name=pushframe]").attr('src',src)
}, <?php echo $d['ntfc']['sec']?>000);
</script>
<?php endif; ?>
<?php endif; ?>

View File

@@ -0,0 +1,7 @@
<?php
if(!defined('__KIMS__')) exit;
if ($m != 'admin' && (($_HS['open']==2&&!$my['admin'])||$_HS['open']==3)) $iframe = 'Y';
if ($_HS['open'] == 2) if (!$my['admin'] && $m != 'admin' && $system != 'guide.stopsite') getLink($g['s'].'/?r='.$r.'&system=guide.stopsite','','','');
if ($_HS['open'] == 3) if ($m != 'admin' && $system != 'guide.stopsite') getLink($g['s'].'/?r='.$r.'&system=guide.stopsite','','','');
?>

View File

View File