first
This commit is contained in:
29
modules/domain/admin/_info.php
Normal file
29
modules/domain/admin/_info.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
$license_local = $g['path_module'].$module.'/LICENSE';
|
||||
$license_global = $g['path_root'].'LICENSE';
|
||||
|
||||
if (file_exists($license_local)) $license = $license_local;
|
||||
else $license = $license_global;
|
||||
?>
|
||||
|
||||
<link href="<?php echo $g['s']?>/_core/css/github-markdown.css" rel="stylesheet">
|
||||
<?php getImport('jquery-markdown','jquery.markdown','0.0.10','js')?>
|
||||
|
||||
<?php @include $g['path_module'].$module.'/var/var.moduleinfo.php' ?>
|
||||
|
||||
<article class="rb-docs markdown-body px-5 pt-3">
|
||||
<h1><?php echo sprintf('%s 모듈정보',ucfirst($MD['name']))?></h1>
|
||||
|
||||
<div class="pb-5 readme">
|
||||
<?php readfile($g['path_module'].$module.'/README.md')?>
|
||||
</div>
|
||||
|
||||
<div class="pb-5">
|
||||
<h2>라이센스</h2>
|
||||
<textarea class="form-control" rows="10"><?php readfile($license)?></textarea>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(".markdown-body .readme").markdown();
|
||||
</script>
|
||||
144
modules/domain/admin/main.css
Normal file
144
modules/domain/admin/main.css
Normal file
@@ -0,0 +1,144 @@
|
||||
.rb-tree a { font-size:14px; }
|
||||
|
||||
|
||||
.rb-none {
|
||||
|
||||
line-height: 300px;
|
||||
|
||||
text-align: center;
|
||||
|
||||
color: #999
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.rb-help {
|
||||
|
||||
margin-top: 20px
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (max-width: 1199px) {
|
||||
|
||||
.form-horizontal .control-label {
|
||||
|
||||
margin-bottom: 5px;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.form-horizontal .has-feedback.rb-outside .form-control-feedback {
|
||||
|
||||
right: -925px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
.form-horizontal .has-feedback.rb-outside .form-control-feedback {
|
||||
|
||||
width: 46px;
|
||||
|
||||
height: 46px;
|
||||
|
||||
line-height: 46px;
|
||||
|
||||
right: -25px;
|
||||
|
||||
}
|
||||
|
||||
#menu-settings .panel-body {
|
||||
|
||||
padding-left:0;
|
||||
|
||||
padding-right:0;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
* Nestable
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
.dd {
|
||||
|
||||
position: relative;
|
||||
|
||||
display: block;
|
||||
|
||||
margin: 0;
|
||||
|
||||
padding: 0;
|
||||
|
||||
list-style: none;
|
||||
|
||||
font-size: 13px;
|
||||
|
||||
line-height: 20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.dd-list {
|
||||
|
||||
display: block;
|
||||
|
||||
position: relative;
|
||||
|
||||
margin: 0;
|
||||
|
||||
padding: 0;
|
||||
|
||||
list-style: none;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.dd-item,
|
||||
|
||||
.dd-empty,
|
||||
|
||||
.dd-placeholder {
|
||||
|
||||
display: block;
|
||||
|
||||
position: relative;
|
||||
|
||||
margin: 0;
|
||||
|
||||
padding: 0;
|
||||
|
||||
min-height: 20px;
|
||||
|
||||
line-height: 20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.dd-handle {
|
||||
|
||||
display: block;
|
||||
|
||||
margin: 5px 0;
|
||||
|
||||
padding: 10px;
|
||||
|
||||
text-decoration: none;
|
||||
282
modules/domain/admin/main.php
Normal file
282
modules/domain/admin/main.php
Normal file
@@ -0,0 +1,282 @@
|
||||
<?php
|
||||
include_once $g['path_core'].'function/menu.func.php';
|
||||
$ISCAT = getDbRows($table['s_domain'],'');
|
||||
|
||||
if($cat)
|
||||
{
|
||||
$CINFO = getUidData($table['s_domain'],$cat);
|
||||
$ctarr = getMenuCodeToPath($table['s_domain'],$cat,0);
|
||||
$ctnum = count($ctarr);
|
||||
for ($i = 0; $i < $ctnum; $i++) $CXA[] = $ctarr[$i]['uid'];
|
||||
}
|
||||
|
||||
$is_fcategory = $CINFO['uid'] && $vtype != 'sub';
|
||||
$is_regismode = !$CINFO['uid'] || $vtype == 'sub';
|
||||
if ($is_regismode)
|
||||
{
|
||||
$_fdomain = '.'.str_replace('www.','',$CINFO['name']);
|
||||
$CINFO['name'] = '';
|
||||
$CINFO['site'] = '';
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-4 col-md-4 col-xl-3 d-none d-sm-block sidebar">
|
||||
|
||||
<div class="panel-group" id="accordion">
|
||||
<div class="card">
|
||||
<div class="card-header p-0">
|
||||
<a class="accordion-toggle muted-link d-block" data-toggle="collapse" href="#domainList">
|
||||
<i class="fa fa-globe fa-lg fa-fw"></i>
|
||||
연결 도메인
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="panel-collapse collapse show" id="domainList" data-parent="#accordion">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div style="height: calc(100vh - 13.5rem);">
|
||||
<?php if($ISCAT):?>
|
||||
<link href="<?php echo $g['s']?>/_core/css/tree.css" rel="stylesheet">
|
||||
<?php $_treeOptions=array('table'=>$table['s_domain'])?>
|
||||
<?php $_treeOptions['link'] = $g['adm_href'].'&cat='?>
|
||||
<?php echo getTreeMenu($_treeOptions,$code,0,0,'')?>
|
||||
<?php else:?>
|
||||
<div class="p-4 text-muted text-center">
|
||||
<small>등록된 도메인이 없습니다.</small>
|
||||
</div>
|
||||
<?php endif?>
|
||||
|
||||
</div>
|
||||
<a href="<?php echo $g['adm_href']?>&type=makedomain" class="btn btn-outline-primary btn-block">1차 도메인 추가</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header p-0">
|
||||
<a class="accordion-toggle collapsed muted-link d-block" data-toggle="collapse" href="#domainOrder">
|
||||
<i class="fa fa-retweet fa-lg fa-fw"></i>
|
||||
순서 조정
|
||||
</a>
|
||||
</div>
|
||||
<div class="panel-collapse collapse" id="domainOrder" data-parent="#accordion" >
|
||||
<?php if($CINFO['is_child']||(!$cat&&$ISCAT)):?>
|
||||
<form role="form" action="<?php echo $g['s']?>/" method="post">
|
||||
<input type="hidden" name="r" value="<?php echo $r?>">
|
||||
<input type="hidden" name="m" value="<?php echo $module?>">
|
||||
<input type="hidden" name="a" value="modifygid">
|
||||
|
||||
<div class="card-body" style="border-top:1px solid #DEDEDE;">
|
||||
<div class="dd" id="nestable-menu">
|
||||
<ol class="dd-list">
|
||||
<?php $_MENUS=getDbSelect($table['s_domain'],'parent='.intval($CINFO['uid']).' and depth='.($CINFO['depth']+1).' order by gid asc','*')?>
|
||||
<?php $_i=1;while($_M=db_fetch_array($_MENUS)):?>
|
||||
<li class="dd-item" data-id="<?php echo $_i?>">
|
||||
<input type="checkbox" name="menumembers[]" value="<?php echo $_M['uid']?>" checked hidden>
|
||||
<div class="dd-handle"><i class="fa fa-arrows fa-fw"></i> <?php echo $_M['name']?></div>
|
||||
</li>
|
||||
<?php $_i++;endwhile?>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- nestable : https://github.com/dbushell/Nestable -->
|
||||
<?php getImport('nestable','jquery.nestable',false,'js') ?>
|
||||
<script>
|
||||
$('#nestable-menu').nestable();
|
||||
$('.dd').on('change', function() {
|
||||
var f = document.forms[0];
|
||||
getIframeForAction(f);
|
||||
f.submit();
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php else:?>
|
||||
<div class="p-4 text-muted text-center">
|
||||
등록된 도메인이 없거나 2차 도메인입니다.
|
||||
</div>
|
||||
<?php endif?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="" class="col-sm-8 col-md-8 ml-sm-auto col-xl-9 pt-3">
|
||||
|
||||
<form class="form-horizontal rb-form" name="procForm" action="<?php echo $g['s']?>/" method="post" onsubmit="return saveCheck(this);">
|
||||
<input type="hidden" name="r" value="<?php echo $r?>" />
|
||||
<input type="hidden" name="m" value="<?php echo $module?>" />
|
||||
<input type="hidden" name="a" value="regisdomain" />
|
||||
<input type="hidden" name="cat" value="<?php echo $CINFO['uid']?>" />
|
||||
<input type="hidden" name="code" value="<?php echo $code?>" />
|
||||
<input type="hidden" name="depth" value="<?php echo intval($CINFO['depth'])?>" />
|
||||
<input type="hidden" name="parent" value="<?php echo intval($CINFO['uid'])?>" />
|
||||
<input type="hidden" name="vtype" value="<?php echo $vtype?>" />
|
||||
<input type="hidden" name="_fdomain" value="<?php echo $_fdomain?>" />
|
||||
|
||||
<div class="page-header mt-0">
|
||||
<h4>
|
||||
<?php if($is_regismode):?>
|
||||
<?php if($vtype == 'sub'):?>2차 도메인 추가<?php else:?>1차 도메인 추가<?php endif?>
|
||||
<?php else:?>
|
||||
도메인 연결정보
|
||||
<?php endif?>
|
||||
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<?php if($vtype == 'sub'):?>
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label text-lg-right">소속 도메인</label>
|
||||
<div class="col-lg-10 col-xl-9">
|
||||
<p class="pt-2">
|
||||
<?php for ($i = 0; $i < $ctnum; $i++):$subcode=$subcode.($i?'/'.$ctarr[$i]['uid']:$ctarr[$i]['uid'])?>
|
||||
<a class="muted-link" href="<?php echo $g['adm_href']?>&cat=<?php echo $ctarr[$i]['uid']?>&code=<?php echo $subcode?>"><?php echo $ctarr[$i]['name']?></a>
|
||||
<?php if($i < $ctnum-1):?> > <?php endif?>
|
||||
<?php endfor?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<?php if($cat):?>
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label text-lg-right">소속 도메인</label>
|
||||
<div class="col-lg-10 col-xl-9">
|
||||
<p class="pt-2">
|
||||
<?php for ($i = 0; $i < $ctnum-1; $i++):$subcode=$subcode.($i?'/'.$ctarr[$i]['uid']:$ctarr[$i]['uid'])?>
|
||||
<a class="muted-link" href="<?php echo $g['adm_href']?>&cat=<?php echo $ctarr[$i]['uid']?>&code=<?php echo $subcode?>"><?php echo $ctarr[$i]['name']?></a>
|
||||
<?php if($i < $ctnum-2):?> > <?php endif?>
|
||||
<?php $delparent=$ctarr[$i]['uid'];endfor?>
|
||||
<?php if(!$delparent):?>최상위 도메인<?php endif?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif?>
|
||||
<?php endif?>
|
||||
|
||||
<div class="form-group row rb-outside">
|
||||
<label class="col-lg-2 col-form-label text-lg-right">도메인 주소</label>
|
||||
<div class="col-lg-10 col-xl-9">
|
||||
|
||||
<?php if($is_fcategory):?>
|
||||
|
||||
<div class="input-group input-group-lg">
|
||||
<input class="form-control" placeholder="" type="text" name="name" value="<?php echo $CINFO['name']?>"<?php if(!$cat):?> autofocus<?php endif?>>
|
||||
<div class="input-group-append">
|
||||
<?php if($CINFO['depth']==1):?>
|
||||
<a href="<?php echo $g['adm_href']?>&cat=<?php echo $cat?>&code=<?php echo $code?>&vtype=sub" class="btn btn-light" data-tooltip="tooltip" title="2차도메인 등록">
|
||||
<i class="fa fa-share fa-rotate-90 fa-lg"></i>
|
||||
</a>
|
||||
<?php endif?>
|
||||
<a href="<?php echo $g['s']?>/?r=<?php echo $r?>&m=<?php echo $module?>&a=deletedomain&cat=<?php echo $cat?>&code=<?php echo $CINFO['depth']==1?$CINFO['uid']:$CINFO['parent']?>&parent=<?php echo $delparent?>" class="btn btn-light" data-tooltip="tooltip" title="삭제" onclick="return hrefCheck(this,true,'정말로 삭제하시겠습니까?');">
|
||||
<i class="fa fa-trash-o fa-lg"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<small class="form-text text-muted mt-2">
|
||||
1차 도메인을 삭제하면 소속된 2차 도메인 모두 삭제됩니다.
|
||||
</small>
|
||||
|
||||
<?php else:?>
|
||||
|
||||
<div class="input-group input-group-lg">
|
||||
<input class="form-control" placeholder="" type="text" name="name" value="<?php echo $CINFO['name']?>" autofocus>
|
||||
<div class="input-group-append">
|
||||
<?php if($vtype=='sub'):?><span class="input-group-text"><?php echo $_fdomain?></span><?php endif?>
|
||||
<button class="btn btn-light rb-help-btn" type="button" data-toggle="collapse" data-target="#guide_new" data-tooltip="tooltip" title="도움말"><i class="fa fa-question fa-lg text-muted"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<p id="guide_new" class="form-text text-muted mt-2 collapse"><code>http://</code> 또는 <code>https://</code> 를 제외하고 입력해주세요.</p>
|
||||
|
||||
<?php endif?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row rb-outside">
|
||||
<label class="col-lg-2 col-form-label text-lg-right">연결 사이트</label>
|
||||
<div class="col-lg-10 col-xl-9">
|
||||
|
||||
<select name="site" class="form-control form-control-lg custom-select">
|
||||
<option value="">지정안함</option>
|
||||
<?php $SITES = getDbArray($table['s_site'],'','*','gid','asc',0,$p)?>
|
||||
<?php while($S = db_fetch_array($SITES)):?>
|
||||
<option value="<?php echo $S['uid']?>"<?php if($CINFO['site']==$S['uid'] || $selsite==$S['uid']):?> selected<?php endif?>>ㆍ<?php echo $S['label']?></option>
|
||||
<?php endwhile?>
|
||||
<?php if(!db_num_rows($SITES)):?>
|
||||
<option value="">등록된 사이트가 없습니다.</option>
|
||||
<?php endif?>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="offset-lg-2 col-lg-9">
|
||||
|
||||
<button type="submit" class="btn btn-outline-primary btn-lg btn-block"><?php echo $is_fcategory?'속성 변경':'추가'?></button>
|
||||
<?php if($vtype=='sub'):?><button type="button" class="btn btn-light btn-lg btn-block" onclick="history.back();" />취소</button><?php endif?>
|
||||
<?php if($cat):?><button type="button" class="btn btn-light btn-lg btn-block" onclick="window.open('http://<?php echo $CINFO['name']?>');"><i class="fa fa-share fa-fw fa-lg"></i> 접속하기</button><?php endif?>
|
||||
|
||||
<div class="p-3 mt-4 text-muted">
|
||||
<small>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li>도메인 공급업체를 통해 <a href="#.">네임서버 설정</a>과 <a href="#.">웹서버 설정</a>이 필요합니다.</li>
|
||||
<li><code>http://</code> 또는 <code>https://</code> 를 제외하고 등록해 주세요.</li>
|
||||
<li>2차 도메인까지 등록할 수 있으며, 포트지정도 가능합니다.</li>
|
||||
<li>도메인 미 등록시 첫번째 사이트에 접속됩니다.</li>
|
||||
</ul>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- bootstrap Validator -->
|
||||
<?php getImport('bootstrap-validator','dist/css/bootstrapValidator.min',false,'css')?>
|
||||
<?php getImport('bootstrap-validator','dist/js/bootstrapValidator.min',false,'js')?>
|
||||
|
||||
<script>
|
||||
function saveCheck(f)
|
||||
{
|
||||
getIframeForAction(f);
|
||||
return true;
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$('.form-horizontal').bootstrapValidator({
|
||||
message: 'This value is not valid',
|
||||
feedbackIcons: {
|
||||
valid: 'glyphicon glyphicon-ok',
|
||||
invalid: 'glyphicon glyphicon-remove',
|
||||
validating: 'glyphicon glyphicon-refresh'
|
||||
},
|
||||
fields: {
|
||||
name: {
|
||||
message: 'The domain is not valid',
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '도메인을 입력해 주세요.'
|
||||
},
|
||||
regexp: {
|
||||
regexp: /^[a-z0-9_\-\.]+$/,
|
||||
message: '도메인은 영문소문자/숫자/_/-/. 만 사용할 수 있습니다.'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user