first
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5><%=__(pageTitle)%></h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
<% if (infos.loc === '/admin/info') { %>
|
||||
|
||||
<%- include("../widgets/admin-info", { infos: infos, businessInfo: businessInfo }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/statistics') {%>
|
||||
|
||||
<%- include("../widgets/blank", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/notice') {%>
|
||||
|
||||
<%- include("../widgets/admin-list", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/notice/edit') {%>
|
||||
|
||||
<%- include("../widgets/admin-edit", { infos: infos, hero: hero }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/faq') {%>
|
||||
|
||||
<%- include("../widgets/admin-list", { infos: infos }) %>
|
||||
|
||||
<%} else if (infos.loc === '/admin/faq/edit') {%>
|
||||
|
||||
<%- include("../widgets/admin-edit", { infos: infos, hero: hero }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/support') {%>
|
||||
|
||||
<%- include("../widgets/support", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/support/detail') {%>
|
||||
|
||||
<%- include("../widgets/support-detail", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/users') {%>
|
||||
|
||||
<%- include("../widgets/admin-list", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/logs') {%>
|
||||
|
||||
<%- include("../widgets/admin-list", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/logs/user') {
|
||||
if (hero === null) {
|
||||
%><%- include("../widgets/admin-list", { infos: infos, hero: hero }) %><%
|
||||
} else {
|
||||
%><%- include("../widgets/admin-list", { infos: infos, hero: hero }) %><%
|
||||
}
|
||||
%>
|
||||
|
||||
<%} else if (infos.loc === '/admin/logs/credit') {
|
||||
if (hero === null) {
|
||||
%><%- include("../widgets/admin-list", { infos: infos, hero: hero }) %><%
|
||||
} else {
|
||||
%><%- include("../widgets/admin-list", { infos: infos, hero: hero }) %><%
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/logs/credit') {%>
|
||||
|
||||
<%- include("../widgets/admin-list", { infos: infos }) %>
|
||||
|
||||
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/etc') {%>
|
||||
|
||||
<%- include("../widgets/admin-etc", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/maintenance') {%>
|
||||
|
||||
<%- include("../widgets/admin-maintenance", { infos: infos, maintenanceInfo: maintenanceInfo }) %>
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin/upload') {%>
|
||||
|
||||
<%- include("../widgets/admin-upload", { infos: infos }) %>
|
||||
|
||||
|
||||
<%} %>
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Blank Page Sample</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
<%- include("../widgets/dummy", { infos: infos }) %>
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>폰드원(Pond One)이 뭔가요?</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
<%- include("../widgets/home", { infos: infos }) %>
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
116
safekiso-server/modules/base/views/main/partials/content-hub.ejs
Normal file
116
safekiso-server/modules/base/views/main/partials/content-hub.ejs
Normal file
@@ -0,0 +1,116 @@
|
||||
<% if (infos.loc === '/') { %>
|
||||
|
||||
<%- include("./content-home", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/my') {%>
|
||||
|
||||
<%- include("./content-my", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/notice') {%>
|
||||
|
||||
<%- include("./content-notice", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/support') {%>
|
||||
|
||||
<%- include("./content-support", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/privacy') {%>
|
||||
|
||||
<% if (infos.rawLoc === '/privacy?lang=ko') { %>
|
||||
|
||||
<%- include("./content-privacy-ko", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<%} else {%>
|
||||
|
||||
<%- include("./content-privacy-en", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<%}%>
|
||||
|
||||
<%} else if (infos.loc === '/sample') {%>
|
||||
|
||||
<%- include("./content-sample", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/admin') {%>
|
||||
|
||||
<%- include("./content-admin", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
<%} else if (infos.loc === '/blank') {%>
|
||||
|
||||
<%- include("./content-blank", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
|
||||
<%} else {%>
|
||||
|
||||
<%- include("./content-unknown", { infos: infos }) %>
|
||||
<!-- <div class="page-header card"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="pcoded-inner-content"> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="styleSelector"> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
<%} %>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>나의 정보</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
<%- include("../widgets/my", { infos: infos }) %>
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>알리는 말씀</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
<%- include("../widgets/notice", { infos: infos, list: list, moment: moment }) %>
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Privacy policy</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
<%- include("../widgets/privacy-en", { infos: infos }) %>
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>개인정보 보호 정책</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
<%- include("../widgets/privacy-ko", { infos: infos }) %>
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<div class="page-header card">
|
||||
<div class="row align-items-end">
|
||||
<div class="col-lg-8">
|
||||
<div class="page-header-title">
|
||||
<i class="feather icon-watch bg-c-blue"></i>
|
||||
<div class="d-inline">
|
||||
<h5>Sample page</h5>
|
||||
<span>lorem ipsum dolor sit amet, consectetur adipisicing elit</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="page-header-breadcrumb">
|
||||
<ul class=" breadcrumb breadcrumb-title">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="index.html"><i class="feather icon-home"></i></a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="#!">Sample page</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%- include("./content-blank", { infos: infos }) %>
|
||||
@@ -0,0 +1,69 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>자주 묻는 질문과 답변</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
<%- include("../widgets/support-faq", { infos: infos }) %>
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<% if (infos.userInfo.loginFlag === true) {%>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>일대일 문의 <small>(실시간 채팅이 아니며, 관리자가 업무시간중에 확인 후 답변 드립니다.)</small></h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
<%- include("../widgets/support-1to1", { infos: infos }) %>
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% } %>
|
||||
|
||||
<% if (businessInfo !== null) { %>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>사업자 정보</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
<%- include("../widgets/support-infos", { infos: infos, businessInfo: businessInfo }) %>
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%} %>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Unknown Page Location</h5>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
<%- include("../widgets/unknown", { infos: infos }) %>
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
<script src="/admindek/js/rocket-loader.min.js" data-cf-settings="9359117a77ba86f2cd9f4ff3-|49" defer=""></script>
|
||||
109
safekiso-server/modules/base/views/main/partials/head.ejs
Normal file
109
safekiso-server/modules/base/views/main/partials/head.ejs
Normal file
@@ -0,0 +1,109 @@
|
||||
|
||||
<title><%=__(infos.appInfo.name)%></title>
|
||||
<!--[if lt IE 10]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimal-ui">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
|
||||
<!--[if IE ]>
|
||||
<meta http-equiv="refresh" content="0; url=http://www.inspond.com/">
|
||||
<![endif]-->
|
||||
|
||||
<link rel="icon" href="/favicon.ico" type="image/x-icon">
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Quicksand:500,700" rel="stylesheet">
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/bootstrap/css/bootstrap.min.css">
|
||||
|
||||
<link rel="stylesheet" href="/admindek/pages/waves/css/waves.min.css" type="text/css" media="all">
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/icon/feather/css/feather.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/css/font-awesome-n.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/fontawesome-stars.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/bars-1to10.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/bars-horizontal.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/bars-movie.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/bars-pill.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/bars-reversed.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/bars-square.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/css-stars.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery-bar-rating/css/fontawesome-stars-o.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/animate.css/css/animate.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/icon/icofont/css/icofont.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/css/widget.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/datatables.net-bs4/css/dataTables.bootstrap4.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/pages/data-table/css/buttons.dataTables.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/icon/themify-icons/themify-icons.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/bower_components/jquery.steps/css/jquery.steps.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/css/style.css">
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/css/pages.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/json-browse/jquery.json-browse.css">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/admindek/pages/notification/notification.css">
|
||||
|
||||
|
||||
<style>
|
||||
.ui-autocomplete {
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
/* prevent horizontal scrollbar */
|
||||
overflow-x: auto;
|
||||
/* add padding to account for vertical scrollbar */
|
||||
padding-right: 20px;
|
||||
background: #87ceeb;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.post-imv-cover {
|
||||
object-fit: scale-down;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<% if (infos.loc === '/note/new') {%>
|
||||
<style>
|
||||
|
||||
.note-editable script {
|
||||
display: inline-table;
|
||||
visibility: hidden;
|
||||
height: 0px !important;
|
||||
width: 0px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
font-size: 0 !important;
|
||||
}
|
||||
.note-editable script:before {
|
||||
display: block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
content: "";
|
||||
visibility: visible;
|
||||
background-image: url(http://png-1.findicons.com/files/icons/1861/xml_docs_x_tended/128/crystal_js.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 32px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<%} %>
|
||||
41
safekiso-server/modules/base/views/main/partials/hub.ejs
Normal file
41
safekiso-server/modules/base/views/main/partials/hub.ejs
Normal file
@@ -0,0 +1,41 @@
|
||||
<%
|
||||
|
||||
if (infos.loc === '/') {
|
||||
%><%-include("./content-home", { infos: infos })%><%
|
||||
|
||||
} else if (infos.loc === '/my' || infos.loc === '/my/new' || infos.loc === '/my/edit') {
|
||||
%><%-include(infos.basePath + "/partials/my", { infos: infos })%><%
|
||||
|
||||
|
||||
} else if (infos.loc === '/note' || infos.loc === '/note/new' || infos.loc === '/note/edit' || infos.loc === '/note/detail') {
|
||||
%><%-include(infos.basePath + "/partials/note", { infos: infos })%><%
|
||||
|
||||
|
||||
} else if (infos.loc === '/notice') {
|
||||
%><%-include(infos.basePath + "/partials/content-notice", { infos: infos })%><%
|
||||
|
||||
} else if (infos.loc === '/support') {
|
||||
|
||||
%><%-include(infos.basePath + "/partials/content-support", { infos: infos })%><%
|
||||
|
||||
} else if (infos.loc === '/privacy') {
|
||||
if (infos.rawLoc === '/privacy?lang=ko') {
|
||||
%><%-include(infos.basePath + "/partials/content-privacy-ko", { infos: infos })%><%
|
||||
} else {
|
||||
%><%-include(infos.basePath + "/partials/content-privacy-en", { infos: infos })%><%
|
||||
}
|
||||
|
||||
} else if (infos.loc.startsWith('/admin')) {
|
||||
%><%-include(infos.basePath + "/partials/content-admin", { infos: infos })%><%
|
||||
|
||||
} else if (infos.loc === '/blank') {
|
||||
%><%-include(infos.basePath + "/partials/content-blank", { infos: infos })%><%
|
||||
|
||||
} else if (infos.loc === '/sample') {
|
||||
%><%-include(infos.basePath + "/partials/content-sample", { infos: infos })%><%
|
||||
|
||||
} else {
|
||||
%><%-include(infos.basePath + "/partials/content-unknown", { infos: infos })%><%
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -0,0 +1,6 @@
|
||||
<script type="text/javascript" src="/admindek/bower_components/jquery/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/admindek/bower_components/jquery-ui/js/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="/admindek/bower_components/popper.js/js/popper.min.js"></script>
|
||||
<script type="text/javascript" src="/admindek/bower_components/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="/admindek/pages/waves/js/waves.min.js"></script>
|
||||
<script type="text/javascript" src="/admindek/bower_components/jquery-slimscroll/js/jquery.slimscroll.js"></script>
|
||||
40
safekiso-server/modules/base/views/main/partials/my.ejs
Normal file
40
safekiso-server/modules/base/views/main/partials/my.ejs
Normal file
@@ -0,0 +1,40 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<% if (infos.loc === '/my') { %>
|
||||
<h5>나의 정보</h5>
|
||||
<%} else if (infos.loc === '/my/new') {%>
|
||||
<h5>나의 정보 수정</h5>
|
||||
<%} else if (infos.loc === '/my/edit') {%>
|
||||
<h5>나의 정보 수정</h5>
|
||||
<%} %>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
|
||||
<% if (infos.loc === '/my') { %>
|
||||
<%- include("../widgets/my", { infos: infos }) %>
|
||||
<%} else if (infos.loc === '/my/new') {%>
|
||||
<%- include("../widgets/my-edit", { infos: infos }) %>
|
||||
<%} else if (infos.loc === '/my/edit') {%>
|
||||
<%- include("../widgets/my-edit", { infos: infos }) %>
|
||||
<%} %>
|
||||
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
46
safekiso-server/modules/base/views/main/partials/note.ejs
Normal file
46
safekiso-server/modules/base/views/main/partials/note.ejs
Normal file
@@ -0,0 +1,46 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<% if (infos.loc === '/note') { %>
|
||||
<h5 id="note-page-title">노트 리스트</h5>
|
||||
<%} else if (infos.loc === '/note/new') {%>
|
||||
<h5 id="note-page-title">새로운 노트 작성</h5>
|
||||
<%} else if (infos.loc === '/note/edit') {%>
|
||||
<h5>노트 수정</h5>
|
||||
<%} else if (infos.loc === '/note/detail') {%>
|
||||
<h5>노트 보기</h5>
|
||||
<%} %>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
|
||||
<% if (infos.loc === '/note') { %>
|
||||
<%- include("../widgets/note", { infos: infos }) %>
|
||||
<%} else if (infos.loc === '/note/new') {%>
|
||||
<%- include("../widgets/note-edit", { infos: infos }) %>
|
||||
<%} else if (infos.loc === '/note/edit') {%>
|
||||
<%- include("../widgets/note-edit", { infos: infos }) %>
|
||||
<%} else if (infos.loc === '/note/detail') {%>
|
||||
<%- include("../widgets/note-detail", { infos: infos }) %>
|
||||
<%} %>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
9438
safekiso-server/modules/base/views/main/partials/scripts-body.ejs
Normal file
9438
safekiso-server/modules/base/views/main/partials/scripts-body.ejs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,229 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
'use strict';
|
||||
|
||||
function __removeHash () {
|
||||
var scrollV, scrollH, loc = window.location;
|
||||
if ("pushState" in history)
|
||||
history.pushState("", document.title, loc.pathname + loc.search);
|
||||
else {
|
||||
// Prevent scrolling by storing the page's current scroll offset
|
||||
scrollV = document.body.scrollTop;
|
||||
scrollH = document.body.scrollLeft;
|
||||
|
||||
loc.hash = "";
|
||||
|
||||
// Restore the scroll offset, should be flicker free
|
||||
document.body.scrollTop = scrollV;
|
||||
document.body.scrollLeft = scrollH;
|
||||
}
|
||||
}
|
||||
|
||||
function getJsonFromUrl (url) {
|
||||
__removeHash ()
|
||||
if(!url) url = location.href;
|
||||
var question = url.indexOf("?");
|
||||
var hash = url.indexOf("#");
|
||||
if(hash==-1 && question==-1) return {};
|
||||
if(hash==-1) hash = url.length;
|
||||
var query = question==-1 || hash==question+1 ? url.substring(hash) :
|
||||
url.substring(question+1,hash);
|
||||
var result = {};
|
||||
query.split("&").forEach(function(part) {
|
||||
if(!part) return;
|
||||
part = part.split("+").join(" "); // replace every + with space, regexp-free version
|
||||
var eq = part.indexOf("=");
|
||||
var key = eq>-1 ? part.substr(0,eq) : part;
|
||||
var val = eq>-1 ? decodeURIComponent(part.substr(eq+1)) : "";
|
||||
var from = key.indexOf("[");
|
||||
if(from==-1) result[decodeURIComponent(key)] = val;
|
||||
else {
|
||||
var to = key.indexOf("]",from);
|
||||
var index = decodeURIComponent(key.substring(from+1,to));
|
||||
key = decodeURIComponent(key.substring(0,from));
|
||||
if(!result[key]) result[key] = [];
|
||||
if(!index) result[key].push(val);
|
||||
else result[key][index] = val;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
function doSignin (tag) {
|
||||
|
||||
var getParams = getJsonFromUrl()
|
||||
var xCommFlag = (typeof xCommApp == 'object')
|
||||
var nextUrl = ''
|
||||
|
||||
switch (tag) {
|
||||
|
||||
case 'google':
|
||||
nextUrl = '/signin/google' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
case 'facebook':
|
||||
nextUrl = '/signin/facebook' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
case 'kakao':
|
||||
nextUrl = '/signin/kakao' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
case 'apple':
|
||||
nextUrl = '/signin/apple' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
console.log('in doSignin(), tag = ', tag)
|
||||
console.log('in doSignin(), getParams = ', getParams)
|
||||
console.log('in doSignin(), xCommFlag = ', xCommFlag)
|
||||
console.log('in doSignin(), nextUrl = ', nextUrl)
|
||||
|
||||
if (nextUrl == '') {
|
||||
alert('error! unknown signin tag : ' + tag)
|
||||
} else {
|
||||
if (xCommFlag == true && tag == 'google') {
|
||||
var toAppMessage = {
|
||||
cmd: 'local/op',
|
||||
target: 'signin',
|
||||
tag: tag,
|
||||
}
|
||||
xCommApp.postMessage(JSON.stringify(toAppMessage))
|
||||
} else {
|
||||
window.location.href = nextUrl
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function setCookie(name,value,days) {
|
||||
var expires = "";
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (days*24*60*60*1000));
|
||||
expires = "; expires=" + date.toUTCString();
|
||||
}
|
||||
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function eraseCookie(name) {
|
||||
document.cookie = name+'=; Max-Age=-99999999;';
|
||||
}
|
||||
|
||||
function makeRandomID (len) {
|
||||
var text = "";
|
||||
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
|
||||
for (var i = 0; i < len; i++)
|
||||
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
var uid = 'anonymous'
|
||||
var randomID = null
|
||||
|
||||
|
||||
|
||||
function reportToServer (tag, data) {
|
||||
if (randomID === null) {
|
||||
var randomIDCookieName = 'init_003'
|
||||
var randomIDCookie = getCookie(randomIDCookieName)
|
||||
|
||||
if (randomIDCookie === null) {
|
||||
randomID = makeRandomID(8)
|
||||
} else {
|
||||
randomID = randomIDCookie
|
||||
}
|
||||
setCookie(randomIDCookieName, randomID, 3)
|
||||
}
|
||||
|
||||
var repotData = {
|
||||
tag: tag,
|
||||
randomID: randomID
|
||||
}
|
||||
|
||||
switch (tag) {
|
||||
case 'stat_done':
|
||||
case 'stat_error':
|
||||
case 'stat_stopped':
|
||||
repotData.fileInfo = data.remote.fileInfo
|
||||
repotData.hashElapsedTime = data.hashElapsedTime ? data.hashElapsedTime : 'N/A'
|
||||
repotData.uploadElapsedTime = data.uploadElapsedTime ? data.uploadElapsedTime : 'N/A'
|
||||
repotData.statElapsedTime = data.statElapsedTime ? data.statElapsedTime : 'N/A'
|
||||
repotData.totalElapsedTime = data.totalElapsedTime ? data.totalElapsedTime : 'N/A'
|
||||
repotData.statMesureInfo = data.statMesureInfo ? data.statMesureInfo : 'N/A'
|
||||
repotData.statMesureInfo.start = undefined
|
||||
repotData.statMesureInfo.end = undefined
|
||||
break;
|
||||
|
||||
case 'page_load':
|
||||
repotData.url = data.url
|
||||
repotData.documentReadyElapsedTime = data.documentReadyElapsedTime ? data.documentReadyElapsedTime : 'N/A'
|
||||
repotData.windowLoadElapsedTime = data.windowLoadElapsedTime ? data.windowLoadElapsedTime : 'N/A'
|
||||
break;
|
||||
|
||||
case 'dev_no_report':
|
||||
repotData = null
|
||||
break;
|
||||
|
||||
default:
|
||||
repotData.raw = data
|
||||
|
||||
}
|
||||
if (repotData !== null) {
|
||||
axios.post('/report?tag=' + tag, repotData, { withCredentials: true })
|
||||
.then(function (response) {
|
||||
// console.log('report response from axios:', response)
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.error('report response from axios. errro =', error)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function addWindowOnloadEvent(func) {
|
||||
var oldWindowOnload = window.onload;
|
||||
if (typeof func === 'function') {
|
||||
if (typeof window.onload === 'function') {
|
||||
window.onload = function () {
|
||||
oldWindowOnload();
|
||||
func();
|
||||
}
|
||||
} else {
|
||||
window.onload = func;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addWindowOnloadEvent(function () {
|
||||
pageLoadingInfo.windowLoadAt = Date.now();
|
||||
pageLoadingInfo.windowLoadElapsedTime = (pageLoadingInfo.windowLoadAt - pageLoadingInfo.timerInitAt) / 1000
|
||||
// console.log('window.onload(), pageLoadingInfo=', pageLoadingInfo)
|
||||
reportToServer('page_load', pageLoadingInfo)
|
||||
})
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
|
||||
|
||||
<script src="/admindek/js/rocket-loader.min.js" data-cf-settings="f4ce04a230934521555bcbbf-|49" defer=""></script>
|
||||
@@ -0,0 +1,187 @@
|
||||
<script type="text/javascript">
|
||||
'use strict';
|
||||
|
||||
var pageLoadingInfo = {
|
||||
url: window.location.href
|
||||
}
|
||||
|
||||
pageLoadingInfo.timerInitAt = Date.now();
|
||||
|
||||
if (!String.prototype.includes) {
|
||||
String.prototype.includes = function(search, start) {
|
||||
'use strict';
|
||||
if (typeof start !== 'number') {
|
||||
start = 0;
|
||||
}
|
||||
|
||||
if (start + search.length > this.length) {
|
||||
return false;
|
||||
} else {
|
||||
return this.indexOf(search, start) !== -1;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
if (!String.prototype.trim) {
|
||||
String.prototype.trim = function () {
|
||||
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
||||
};
|
||||
}
|
||||
if (typeof Object.assign != 'function') {
|
||||
// Must be writable: true, enumerable: false, configurable: true
|
||||
Object.defineProperty(Object, "assign", {
|
||||
value: function assign(target, varArgs) { // .length of function is 2
|
||||
'use strict';
|
||||
if (target == null) { // TypeError if undefined or null
|
||||
throw new TypeError('Cannot convert undefined or null to object');
|
||||
}
|
||||
|
||||
var to = Object(target);
|
||||
|
||||
for (var index = 1; index < arguments.length; index++) {
|
||||
var nextSource = arguments[index];
|
||||
|
||||
if (nextSource != null) { // Skip over if undefined or null
|
||||
for (var nextKey in nextSource) {
|
||||
// Avoid bugs when hasOwnProperty is shadowed
|
||||
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
|
||||
to[nextKey] = nextSource[nextKey];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return to;
|
||||
},
|
||||
writable: true,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
|
||||
Array.prototype.remove = Array.prototype.remove || function(val){
|
||||
var i = this.length;
|
||||
while(i--){
|
||||
if (this[i] === val){
|
||||
this.splice(i,1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (!String.prototype.startsWith) {
|
||||
String.prototype.startsWith = function(searchString, position) {
|
||||
position = position || 0;
|
||||
return this.indexOf(searchString, position) === position;
|
||||
};
|
||||
}
|
||||
|
||||
function doAllThingsInSafe(opType, param) {
|
||||
// console.log('typeof _doAllThingsInSafe = ', typeof _doAllThingsInSafe)
|
||||
if (typeof _doAllThingsInSafe === 'function') {
|
||||
_doAllThingsInSafe(opType, param)
|
||||
} else {
|
||||
alert('page not loaded yet. try again after few seconds...')
|
||||
}
|
||||
}
|
||||
|
||||
function getDomain (url) {
|
||||
url = url.replace(/(https?:\/\/)?(www.)?/i, '')
|
||||
if (url.indexOf('/') !== -1) {
|
||||
return url.split('/')[0].toLowerCase()
|
||||
}
|
||||
return url
|
||||
}
|
||||
|
||||
var currentHost = window.location.host.toLowerCase()
|
||||
|
||||
var domainKey = null
|
||||
|
||||
var currentDomain = getDomain(window.location.href)
|
||||
|
||||
if (currentDomain.indexOf(':') != -1) {
|
||||
var tmpAry = currentDomain.split(':')
|
||||
currentDomain = tmpAry[0]
|
||||
}
|
||||
var apiUrl = '/api'
|
||||
// console.log('currentHost = ' + currentHost)
|
||||
// console.log('currentDomain = ' + currentDomain)
|
||||
|
||||
// console.log('apiUrl = ' + apiUrl)
|
||||
// console.log('domainKey = ' + domainKey)
|
||||
|
||||
var eventAryPool = {}
|
||||
|
||||
function pushDataToLayer(data) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
window.dataLayer.push(data);
|
||||
// console.log('window.dataLayer=', window.dataLayer)
|
||||
}
|
||||
|
||||
function numberWithCommas(x) {
|
||||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* detect IE
|
||||
* returns version of IE or false, if browser is not Internet Explorer
|
||||
*/
|
||||
function detectIE() {
|
||||
var ua = window.navigator.userAgent;
|
||||
|
||||
// Test values; Uncomment to check result …
|
||||
|
||||
// IE 10
|
||||
// ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';
|
||||
|
||||
// IE 11
|
||||
// ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';
|
||||
|
||||
// Edge 12 (Spartan)
|
||||
// ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';
|
||||
|
||||
// Edge 13
|
||||
// ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
|
||||
|
||||
var msie = ua.indexOf('MSIE ');
|
||||
if (msie > 0) {
|
||||
// IE 10 or older => return version number
|
||||
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
|
||||
}
|
||||
|
||||
var trident = ua.indexOf('Trident/');
|
||||
if (trident > 0) {
|
||||
// IE 11 => return version number
|
||||
var rv = ua.indexOf('rv:');
|
||||
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
|
||||
}
|
||||
|
||||
var edge = ua.indexOf('Edge/');
|
||||
if (edge > 0) {
|
||||
// Edge (IE 12+) => return version number
|
||||
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
|
||||
}
|
||||
|
||||
// other browser
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Get IE or Edge browser version
|
||||
var version = detectIE();
|
||||
|
||||
if (version === false) {
|
||||
// console.log('detectIE=IE/Edge')
|
||||
|
||||
} else if (version >= 12) {
|
||||
// console.log('detectIE=Edge ' + version)
|
||||
|
||||
} else {
|
||||
// console.log('detectIE=Ie ' + version)
|
||||
alert('본 사이트는 이 브라우저에서 사용하실 수 없습니다. 개발자에게 문의해 주세요.')
|
||||
}
|
||||
|
||||
// console.log('userAgent=', window.navigator.userAgent)
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,96 @@
|
||||
<nav class="pcoded-navbar">
|
||||
<div class="nav-list">
|
||||
<div class="pcoded-inner-navbar main-menu">
|
||||
|
||||
<div class="pcoded-navigation-label">메뉴</div>
|
||||
<ul class="pcoded-item pcoded-left-item">
|
||||
<li class="<%=(infos.loc =='/notice') ? 'active' : ''%>">
|
||||
<a href="/notice" class="waves-effect waves-dark">
|
||||
<span class="pcoded-micon">
|
||||
<i class="fa fa-microphone"></i>
|
||||
</span>
|
||||
<span class="pcoded-mtext">공지사항</span>
|
||||
</a>
|
||||
</li>
|
||||
<% if (infos.userInfo.loginFlag === true) { %>
|
||||
<li class="<%=(infos.loc =='/my') ? 'active' : ''%>">
|
||||
<a href="/my" class="waves-effect waves-dark">
|
||||
<span class="pcoded-micon">
|
||||
<i class="fa fa-user"></i>
|
||||
</span>
|
||||
<span class="pcoded-mtext">나의 정보</span>
|
||||
</a>
|
||||
</li>
|
||||
<%} %>
|
||||
<li class="<%=(infos.loc =='/support') ? 'active' : ''%>">
|
||||
<a href="/support" class="waves-effect waves-dark">
|
||||
<span class="pcoded-micon">
|
||||
<i class="fa fa-question"></i>
|
||||
</span>
|
||||
<span class="pcoded-mtext">고객지원</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="pcoded-hasmenu <%=(infos.loc ==='/privacy') ? 'active pcoded-trigger' : ''%>">
|
||||
<a href="javascript:void(0)" class="waves-effect waves-dark">
|
||||
<span class="pcoded-micon"><i class="fa fa-lock"></i></span>
|
||||
<span class="pcoded-mtext">개인정보 보호</span>
|
||||
</a>
|
||||
<ul class="pcoded-submenu">
|
||||
<li class="<%=(infos.rawLoc ==='/privacy?lang=ko') ? 'active' : ''%>">
|
||||
<a href="/privacy?lang=ko" class="waves-effect waves-dark">
|
||||
<span class="pcoded-mtext">한국어</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<%=(infos.rawLoc ==='/privacy?lang=en') ? 'active' : ''%>">
|
||||
<a href="/privacy?lang=en" class="waves-effect waves-dark">
|
||||
<span class="pcoded-mtext">영어</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="pcoded-hasmenu <%=(infos.loc ==='/sample' || infos.loc ==='/blank') ? 'active pcoded-trigger' : ''%>">
|
||||
<a href="javascript:void(0)" class="waves-effect waves-dark">
|
||||
<span class="pcoded-micon"><i class="feather icon-home"></i></span>
|
||||
<span class="pcoded-mtext">기타 페이지</span>
|
||||
</a>
|
||||
<ul class="pcoded-submenu">
|
||||
<li class="<%=(infos.loc ==='/blank') ? 'active' : ''%>">
|
||||
<a href="/blank" class="waves-effect waves-dark">
|
||||
<span class="pcoded-mtext">기본 빈 페이지</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<%=(infos.loc ==='/sample') ? 'active' : ''%>">
|
||||
<a href="/sample" class="waves-effect waves-dark">
|
||||
<span class="pcoded-mtext">기본 틀 페이지</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<%=(infos.loc ==='/404') ? 'active' : ''%>">
|
||||
<a href="/404" class="waves-effect waves-dark">
|
||||
<span class="pcoded-mtext">404 페이지</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<% if (infos.userInfo.loginFlag === true) { %>
|
||||
<% if (infos.userInfo.adminFlag === true) { %>
|
||||
<li class="<%=(infos.loc =='/admin') ? 'active' : ''%>">
|
||||
<a href="/admin" class="waves-effect waves-dark">
|
||||
<span class="pcoded-micon">
|
||||
<i class="fa fa-cog"></i>
|
||||
</span>
|
||||
<span class="pcoded-mtext">관리자</span>
|
||||
</a>
|
||||
</li>
|
||||
<%} %>
|
||||
<%} %>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
36
safekiso-server/modules/base/views/main/partials/support.ejs
Normal file
36
safekiso-server/modules/base/views/main/partials/support.ejs
Normal file
@@ -0,0 +1,36 @@
|
||||
<div class="pcoded-inner-content">
|
||||
<div class="main-body">
|
||||
<div class="page-wrapper">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<% if (infos.loc === '/support') { %>
|
||||
<h5>1:1 문의 리스트</h5>
|
||||
<%} else if (infos.loc === '/support/detail') {%>
|
||||
<h5>1:1 문의</h5>
|
||||
<%} %>
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<!-- start of body -->
|
||||
|
||||
|
||||
<% if (infos.loc === '/support') { %>
|
||||
<%- include("../widgets/support", { infos: infos }) %>
|
||||
<%} else if (infos.loc === '/support/detail') {%>
|
||||
<%- include("../widgets/support-detail", { infos: infos }) %>
|
||||
<%} %>
|
||||
|
||||
|
||||
<!-- end of body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
112
safekiso-server/modules/base/views/main/partials/top-navbar.ejs
Normal file
112
safekiso-server/modules/base/views/main/partials/top-navbar.ejs
Normal file
@@ -0,0 +1,112 @@
|
||||
|
||||
<nav class="navbar header-navbar pcoded-header">
|
||||
<div class="navbar-wrapper">
|
||||
<div class="navbar-logo">
|
||||
<a href="/">
|
||||
<font size="+1" color="white"><%=__(infos.appInfo.name)%> </font>
|
||||
<% if (infos.appInfo.type === 'chachachak') { %>
|
||||
<font size="-1" color="white"> 車에 관한 지식과 경험 공유</font>
|
||||
<% } else { %>
|
||||
<% } %>
|
||||
</a>
|
||||
|
||||
<% if (infos.appInfo.type === 'chachachak') { %>
|
||||
|
||||
<a class="mobile-menu" id="mobile-collapse" href="#!">
|
||||
<i class="feather icon-menu icon-toggle-right"></i>
|
||||
</a>
|
||||
<a class="mobile-options waves-effect waves-light">
|
||||
<i class="feather icon-more-horizontal"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<% } else { %>
|
||||
<a class="mobile-menu" id="mobile-collapse" href="#!">
|
||||
<i class="feather icon-menu icon-toggle-right"></i>
|
||||
</a>
|
||||
<a class="mobile-options waves-effect waves-light">
|
||||
<i class="feather icon-more-horizontal"></i>
|
||||
</a>
|
||||
|
||||
<% } %>
|
||||
|
||||
</div>
|
||||
<div class="navbar-container container-fluid">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="nav-left">
|
||||
<!--
|
||||
Search, full-screen
|
||||
-->
|
||||
|
||||
</ul>
|
||||
<ul class="nav-right">
|
||||
<li class="header-notification">
|
||||
<div class="dropdown-primary dropdown">
|
||||
<div class="displayChatbox dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="feather icon-message-square"></i>
|
||||
<% if (infos.userInfo.loginFlag === true) { %>
|
||||
<% if (infos.userInfo.messageCount > 0) { %>
|
||||
<span class="badge bg-c-green"><%=infos.userInfo.messageCount%></span>
|
||||
<%} %>
|
||||
<%} %>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="user-profile header-notification">
|
||||
<div class="dropdown-primary dropdown">
|
||||
|
||||
|
||||
|
||||
<% if (infos.userInfo.loginFlag === true) { %>
|
||||
|
||||
|
||||
<div class="dropdown-toggle" data-toggle="dropdown">
|
||||
<% if (infos.userInfo.loginFlag === true) { %>
|
||||
<% if (infos.userInfo.profileUrl === '') { %>
|
||||
<!--<img src="/images/user-anonym.png" class="img-radius" alt="User-Profile-Image">-->
|
||||
<%} else {%>
|
||||
<!--<img src="<%=infos.userInfo.profileUrl%>" class="img-radius" alt="User-Profile-Image">-->
|
||||
<%} %>
|
||||
<span><%=infos.userInfo.profile.display_name%></span>
|
||||
<%} %>
|
||||
<i class="feather icon-chevron-down"></i>
|
||||
</div>
|
||||
<%} else {%>
|
||||
<div>
|
||||
<!--<img src="/images/user-anonym.png" class="img-radius" alt="User-Profile-Image">-->
|
||||
<a href="/signin?loc=<%=infos.rawLoc%>">
|
||||
<span><b style='color:red;'>로그인</b></span>
|
||||
</a>
|
||||
</div>
|
||||
<%} %>
|
||||
<ul class="show-notification profile-notification dropdown-menu" data-dropdown-in="fadeIn" data-dropdown-out="fadeOut">
|
||||
<% if (infos.userInfo.loginFlag === true) { %>
|
||||
<li>
|
||||
<a href="/my">
|
||||
<i class="feather icon-user"></i> 내 정보
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/signout">
|
||||
<i class="feather icon-log-out"></i> 로그아웃
|
||||
</a>
|
||||
</li>
|
||||
<%} else {%>
|
||||
<li>
|
||||
<a href="/signin">
|
||||
<i class="feather icon-log-in"></i> <b style='color:red;'>로그인</b>
|
||||
</a>
|
||||
</li>
|
||||
<%} %>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
Reference in New Issue
Block a user