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,11 @@
<div class="jumbotron jumbotron-fluid bg-light py-5 mb-0">
<div class="container">
<h1 class="display-2 text-center">404</h1>
<p class="lead text-center text-muted">페이지를 찾을수 없습니다.</p>
</div>
</div>
<script type="text/javascript">
// $('.navbar').attr('hidden',true)
document.title = 'Page not found · <?php echo $g['browtitle']?>';
</script>

View File

@@ -0,0 +1,148 @@
.page-wrapper {
margin-top: 20px
}
.page-nav {
padding-right: 16px !important;
}
.page-nav .btn::after {
content: ''
}
.page-nav .btn.active::after {
content: ' 취소'
}
.vcard-fullname {
margin-bottom: 2px;
font-size: 26px;
line-height: 30px;
}
.vcard-username {
font-size: 16px;
font-style: normal;
font-weight: 300;
line-height: 24px;
color: #666;
}
.vcard-detail {
padding-left: 22px;
font-size: 14px
}
.vcard-detail .fa {
margin-left: -22px;
}
.avatar-group-item {
display: inline-block;
margin-bottom: 3px;
}
.avatar {
display: inline-block;
overflow: hidden;
line-height: 1;
vertical-align: middle;
border-radius: 3px;
}
.page-main {
padding-left: 8px !important;
}
.user-profile-nav {
background-color: #fff;
border-bottom: solid 1px #d1d5da;
}
.user-profile-nav .underline-nav {
height: 62px;
display: table;
}
.user-profile-nav .underline-nav .nav-link {
display: table-cell;
padding-right: 15px;
padding-left: 15px;
color: #586069;
vertical-align: middle;
border-bottom: 2px solid transparent;
}
.user-profile-nav .underline-nav .nav-link.active {
color: #24292e;
border-bottom-color: #e36209;
}
.page-main .Subhead {
display: -webkit-box;
display: -webkit-flex;
display: flex;
padding-bottom: 8px;
margin-bottom: 20px;
border-bottom: 1px #e1e4e8 solid;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
}
.page-main .Subhead-heading {
margin-bottom: 0;
font-size: 24px;
font-weight: normal;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
flex: 1 1 auto;
}
/*org*/
.pagehead {
padding-top: 20px;
padding-bottom: 0;
margin-bottom: 20px;
color: #666;
background-color: #fafbfc;
border-bottom: 1px solid #eee;
}
.pagehead .avatar {
width: 100px;
}
.org-name {
font-weight: normal;
color: #333;
}
.pagehead .nav-tabs {
position: relative;
top: 1px;
margin-top: -5px;
}
.pagehead .nav-tabs .nav-link:focus,
.pagehead .nav-tabs .nav-link:hover {
border-color: transparent;
}
.pagehead .nav-tabs .nav-link {
padding: 7px 15px 8px;
font-size: 16px;
color: #586069;
white-space: nowrap;
border: solid transparent;
border-width: 3px 1px 1px;
border-radius: 3px 3px 0 0;
}
.pagehead .nav-tabs .nav-link.active {
color: #24292e;
background-color: #fff;
border-color: #e36209 #e1e4e8 transparent;
}
.pagehead .nav-tabs .nav-link .badge-light {
display: inline-block;
padding: 2px 5px;
font-size: 12px;
font-weight: 600;
line-height: 1;
color: #444d56;
background-color: rgba(27,31,35,0.08);
border-radius: 20px;
}
/* list-group */
.list-group-flush .list-group-item {
border-style: dotted;
}
[data-role="follow"].active {
background-color: #e0e0e0 !important;
color: #696969 !important;
border: none !important
}
[data-role="follow"].active::after {
content: '취소'
}

View File

@@ -0,0 +1,8 @@
$( document ).ready(function() {
$('[data-toggle="actionIframe"] , [data-act="actionIframe"]').click(function() {
getIframeForAction('');
frames.__iframe_for_action__.location.href = $(this).attr("data-url");
});
})

View File

@@ -0,0 +1,51 @@
<?php
//동기화URL
function getSyncUrl($sync){
if (!$sync) return $GLOBALS['g']['r'];
$_r = getArrayString($sync);
$_r = $_r['data'][5];
if ($GLOBALS['_HS']['rewrite']&&strpos('_'.$_r,'m:bbs,bid:'))
{
$_r = str_replace('m:bbs','b',$_r);
$_r = str_replace(',bid:','/',$_r);
$_r = str_replace(',uid:','/',$_r);
$_r = str_replace(',CMT:','/',$_r);
$_r = str_replace(',s:','/s',$_r);
return $GLOBALS['g']['r'].'/'.$_r;
}
else return $GLOBALS['g']['s'].'/?'.($GLOBALS['_HS']['usescode']?'r='.$GLOBALS['_HS']['id'].'&amp;':'').str_replace(':','=',str_replace(',','&amp;',$_r));
}
$para_str = $_HS['rewrite']?'/':'&page=';
?>
<div class="user-profile-nav">
<nav class="nav underline-nav">
<a class="nav-link f16<?php if ($page=='main'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']) ?>">홈</a>
<a class="nav-link f16<?php if ($page=='post'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>post">
포스트
</a>
<a class="nav-link f16<?php if ($page=='list'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>list">
리스트
</a>
<a class="nav-link f16<?php if ($page=='bbs'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>bbs">
게시판
</a>
<a class="nav-link f16<?php if ($page=='comment'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>comment">
댓글
</a>
<a class="nav-link f16<?php if ($page=='oneline'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>oneline">
한줄의견
</a>
<a class="nav-link f16<?php if ($page=='follower'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>follower">
<span data-toggle="tooltip" title="<?php echo $_MP['nic'] ?>님을 구독하는 사람">팔로워</span>
<span class="badge"> <?php echo getDbRows($table['s_friend'],'by_mbruid='.$_MP['uid'])?></span>
</a>
<a class="nav-link f16<?php if ($page=='following'): ?> active<?php endif; ?>" href="<?php echo getProfileLink($_MP['uid']).$para_str ?>following">
<span data-toggle="tooltip" title="<?php echo $_MP['nic'] ?>님이 구독하는 사람">팔로잉</span>
<span class="badge"> <?php echo getDbRows($table['s_friend'],'my_mbruid='.$_MP['uid'])?></span>
</a>
</nav>
</div>

View File

@@ -0,0 +1,74 @@
<?php
$wdgvar['limit'] = 3; //전체 출력수
$wdgvar['recnum'] =3; //한 열에 출력할 카드 갯수
$wdgvar['title'] ='최근 리스트';
$recnum = $wdgvar['recnum']; // 한 열에 출력할 카드 갯수
$totalCardRow=ceil($wdgvar['limit']/$recnum); // row 갯수
$total_card_num = $totalCardRow*$recnum;// 총 출력되야 할 card 갯수(빈카드 포함)
$print_card_num = 0; // 실제 출력된 카드 숫자 (아래 card 출력될 때마다 1 씩 증가)
$lack_card_num = $total_card_num;
$listque = 'mbruid='.$_MP['uid'].' and site='.$s;
if ($my['uid']) $listque .= ' and display > 3'; // 회원공개와 전체공개 포스트 출력
else $listque .= ' and display = 5'; // 전체공개 포스트만 출력
$_RCD=getDbArray($table['postlist'],$listque,'*','gid','asc',$wdgvar['limit'],1);
$_NUM = getDbRows($table['postlist'],$listque);
?>
<section class="widget-post-card-01">
<header class="d-flex justify-content-between align-items-center py-2">
<strong><?php echo $wdgvar['title']?></strong>
</header>
<?php if ($_NUM): ?>
<div class="row gutter-half" data-role="post-list">
<?php $i=0;foreach($_RCD as $R):$i++;?>
<div class="col">
<div class="card border-0" id="item-<?php echo $_R['uid'] ?>">
<a class="position-relative" href="<?php echo getListLink($R,1) ?>">
<img src="<?php echo getPreviewResize(getListImageSrc($R['uid']),'320x180') ?>" alt="" class="card-img-top border">
<span class="list_mask">
<span class="txt"><?php echo $R['num']?><i class="fa fa-list-ul d-block" aria-hidden="true"></i></span>
</span>
</a>
<div class="card-body py-3 px-0">
<h6 class="card-title mb-0 line-clamp-2">
<a class="muted-link" href="<?php echo getListLink($R,1) ?>">
<?php echo getStrCut($R['name'],100,'..')?>
</a>
</h6>
<time class="text-muted small" data-plugin="timeago" datetime="<?php echo getDateFormat($R['d_regis'],'c')?>"></time>
<?php if ($_IS_PROFILEOWN): ?>
<span class="badge badge-light"><?php echo $R['display']!=5?$g['displaySet']['label'][$R['display']]:'' ?></span>
<?php endif; ?>
</div>
</div><!-- /.card -->
</div><!-- /.col -->
<?php
$print_card_num++; // 카드 출력될 때마 1씩 증가
$lack_card_num = $total_card_num - $print_card_num;
?>
<?php if(!($i%$recnum)):?></div><div class="row gutter-half mt-3" data-role="post-list"><?php endif?>
<?php endforeach?>
<?php if($lack_card_num ):?>
<?php for($j=0;$j<$lack_card_num;$j++):?>
<div class="col"></div>
<?php endfor?>
<?php endif?>
</div> <!-- /.row -->
<?php else: ?>
<div class="p-5 text-muted text-center border mb-3">
리스트가 없습니다.
</div>
<?php endif; ?>
</section><!-- /.widget -->

View File

@@ -0,0 +1,77 @@
<?php
$wdgvar['limit'] = 3; //전체 출력수
$wdgvar['recnum'] =3; //한 열에 출력할 카드 갯수
$wdgvar['title'] ='최근 포스트';
$recnum = $wdgvar['recnum']; // 한 열에 출력할 카드 갯수
$totalCardRow=ceil($wdgvar['limit']/$recnum); // row 갯수
$total_card_num = $totalCardRow*$recnum;// 총 출력되야 할 card 갯수(빈카드 포함)
$print_card_num = 0; // 실제 출력된 카드 숫자 (아래 card 출력될 때마다 1 씩 증가)
$lack_card_num = $total_card_num;
$postque = 'mbruid='.$_MP['uid'].' and site='.$s;
if ($my['uid']) $postque .= ' and display > 3'; // 회원공개와 전체공개 포스트 출력
else $postque .= ' and display = 5'; // 전체공개 포스트만 출력
$_RCD=getDbArray($table['postmember'],$postque,'*','gid','asc',$wdgvar['limit'],1);
while($_R = db_fetch_array($_RCD)) $RCD[] = getDbData($table['postdata'],'gid='.$_R['gid'],'*');
$_NUM = getDbRows($table['postmember'],$postque);
?>
<section class="widget-post-card-01">
<header class="d-flex justify-content-between align-items-center py-2">
<strong><?php echo $wdgvar['title']?></strong>
<?php if($wdgvar['link']):?>
<a href="<?php echo $wdgvar['link']?>" class="muted-link small">
더보기 <i class="fa fa-angle-right" aria-hidden="true"></i>
</a>
<?php endif?>
</header>
<?php if ($_NUM): ?>
<div class="row gutter-half" data-role="post-list">
<?php $i=0;foreach($RCD as $R):$i++;?>
<div class="col">
<div class="card border-0" id="item-<?php echo $_R['uid'] ?>">
<a class="text-nowrap text-truncate muted-link position-relative" href="<?php echo getPostLink($R,1) ?>">
<img src="<?php echo getPreviewResize(getUpImageSrc($R),'320x180') ?>" alt="" class="card-img-top border">
<time class="badge badge-dark rounded-0 position-absolute f14" style="right:1px;bottom:1px"><?php echo getUpImageTime($R) ?></time>
</a>
<div class="card-body py-3 px-0">
<h6 class="card-title mb-0 line-clamp-2">
<a class="muted-link" href="<?php echo getPostLink($R,1) ?>">
<?php echo getStrCut(stripslashes($R['subject']),100,'..')?>
</a>
</h6>
<time class="text-muted small" data-plugin="timeago" datetime="<?php echo getDateFormat($R['d_regis'],'c')?>"></time>
<span class="badge badge-light"><?php echo checkPostOwner($R) && $R['display']!=5?$g['displaySet']['label'][$R['display']]:'' ?></span>
</div>
</div><!-- /.card -->
</div><!-- /.col -->
<?php
$print_card_num++; // 카드 출력될 때마 1씩 증가
$lack_card_num = $total_card_num - $print_card_num;
?>
<?php if(!($i%$recnum)):?></div><div class="row gutter-half mt-3" data-role="post-list"><?php endif?>
<?php endforeach?>
<?php if($lack_card_num ):?>
<?php for($j=0;$j<$lack_card_num;$j++):?>
<div class="col"></div>
<?php endfor?>
<?php endif?>
</div> <!-- /.row -->
<?php else: ?>
<div class="p-5 text-muted text-center border mb-3">
포스트가 없습니다.
</div>
<?php endif; ?>
</section><!-- /.widget -->

View File

@@ -0,0 +1,83 @@
<div class="text-center">
<img src="<?php echo getAvatarSrc($_MP['uid'],'230') ?>" width="230" height="230" alt="" class="rounded img-fluid">
</div>
<div class="vcard-names-container pt-3">
<h1 class="vcard-names">
<span class="p-name vcard-fullname d-block" itemprop="name">
<?php echo $_MP['nic'] ?>
<?php if($my['uid']==$_MP['uid']):?>
<small class="text-muted">(나)</small>
<?php endif; ?>
</span>
<span class="p-nickname vcard-username d-block">@<?php echo $mbrid ?></span>
</h1>
</div>
<p class="mb-3 text-gray">
<?php if ($_MP['bio']): ?>
<?php echo $_MP['bio']?>
<?php else: ?>
<a href="<?php echo RW('mod=settings')?>?focus_bio=1">소개말 추가</a>
<?php endif; ?>
</p>
<?php if($my['uid']):?>
<?php if($my['uid']!=$_MP['uid']):?>
<?php $_isFollowing = getDbRows($table['s_friend'],'my_mbruid='.$my['uid'].' and by_mbruid='.$_MP['uid']); ?>
<button class="btn btn-block btn-light<?php echo $_isFollowing ?' active':'' ?>"
data-act="actionIframe"
data-url="<?php echo $g['url_action']?>profile_follow&amp;mbruid=<?php echo $_MP['uid']?>"
data-toggle="button">
팔로우
</button>
<?php endif?>
<?php endif?>
<ul class="vcard-details border-top border-gray-light mt-3 pt-2 list-unstyled">
<li aria-label="Email" class="vcard-detail pt-1 text-truncate">
<?php if ($my['uid']): ?>
<?php if ($_MP['email_profile']): ?>
<i class="fa fa-envelope-o fa-fw" aria-hidden="true"></i>
<a href="mailto:<?php echo $_MP['email_profile'] ?>" class="muted-link"><?php echo $_MP['email_profile'] ?></a>
<?php endif; ?>
<?php else: ?>
<i class="fa fa-envelope-o fa-fw" aria-hidden="true"></i> <a href="/login">로그인후 확인가능</a>
<?php endif; ?>
</li>
<?php if ($_MP['home']): ?>
<li aria-label="Blog or website" class="vcard-detail pt-1 text-truncate">
<i class="fa fa-link fa-fw" aria-hidden="true"></i>
<a href="<?php echo $_MP['home'] ?>" target="_blank" class="muted-link"><?php echo $_MP['home'] ?></a>
</li>
<?php endif; ?>
<?php if ($_MP['company']): ?>
<li aria-label="Blog or website" class="vcard-detail pt-1 text-truncate">
<i class="fa fa-building-o fa-fw" aria-hidden="true"></i> <?php echo $_MP['company'] ?>
</li>
<?php endif; ?>
</ul>
<?php if ($my['uid']): ?>
<ul class="vcard-details border-gray-light py-2 list-unstyled mb-0">
<li class="pt-1 text-truncate">
ㆍ나이/성별 : <?php if($_MP['birth1']):?><?php echo getAge($_MP['birth1'])?>세<?php else:?><span>미등록</span><?php endif?> (<?php if($_MP['sex']):?><?php echo $_MP['sex']==1?'남성':'여성'?><?php else:?><span>미등록</span><?php endif?>)
</li>
<li class="pt-1 text-truncate">
ㆍ분야 : <?php if($_MP['job']):?><?php echo $_MP['job']?><?php if($g['profile'][1]):?> <?php echo getAge($g['profile'][1])?>년차<?php endif?><?php else:?><span>미등록</span><?php endif?>
</li>
<li class="pt-1 text-truncate">
ㆍ가입일자 : <?php echo getDateFormat($_MP['d_regis'],'Y.m.d')?>
</li>
<li class="pt-1 text-truncate">
ㆍ<span class="cx">포인트</span> : <?php echo number_format($_MP['point'])?> P
</li>
<li class="pt-1 text-truncate">
ㆍ<span class="cx">회원등급</span> : <?php echo $g['grade']['m'.$_MP['level']]?> <?php echo $_MP['level']?>
</li>
</ul>
<?php endif; ?>

View File

@@ -0,0 +1,152 @@
<?php
$sort = $sort ? $sort : 'gid';
$orderby= $orderby ? $orderby : 'asc';
$recnum = $recnum && $recnum < 200 ? $recnum : 15;
$bbsque = 'mbruid='.$_MP['uid'].' and site='.$s;
if ($where && $keyword)
{
if (strstr('[name][nic][id][ip]',$where)) $bbsque .= " and ".$where."='".$keyword."'";
else if ($where == 'term') $bbsque .= " and d_regis like '".$keyword."%'";
else $bbsque .= getSearchSql($where,$keyword,$ikeyword,'or');
}
$RCD = getDbArray($table['bbsdata'],$bbsque,'*',$sort,$orderby,$recnum,$p);
$NUM = getDbRows($table['bbsdata'],$bbsque);
$TPG = getTotalPage($NUM,$recnum);
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<section>
<header class="d-flex justify-content-between mt-4 mb-2">
<div>
<?php echo number_format($NUM)?>개 <small class="text-muted">(<?php echo $p?>/<?php echo $TPG?>페이지)</small>
<a href="<?php echo $g['s']?>/?r=<?php echo $r?>&amp;m=bbs&amp;mbruid=<?php echo $_MP['uid']?>&amp;mod=rss" target="_blank" class="ml-2 muted-link">
<i class="fa fa-rss-square" aria-hidden="true"></i> RSS
</a>
</div>
</header>
<table class="table text-center">
<colgroup>
<col width="50">
<col>
<col width="70">
<col width="100">
</colgroup>
<thead class="thead-light">
<tr>
<th scope="col" class="side1">번호</th>
<th scope="col">제목</th>
<th scope="col">조회</th>
<th scope="col">날짜</th>
</tr>
</thead>
<tbody>
<?php while($R=db_fetch_array($RCD)):?>
<?php $R['mobile']=isMobileConnect($R['agent'])?>
<?php $R['sbjlink']=getBbsPostLink($R)?>
<tr>
<td>
<?php if($R['uid'] != $uid):?>
<?php echo $NUM-((($p-1)*$recnum)+$_rec++)?>
<?php else:$_rec++?>
<span class="now">&gt;&gt;</span>
<?php endif?>
</td>
<td class="text-left">
<?php if($R['mobile']):?><i class="fa fa-mobile fa-lg"></i><?php endif?>
<?php if($R['category']):?>
<span class="badge badge-secondary"><?php echo $R['category']?></span>
<?php endif?>
<a href="<?php echo $R['sbjlink']?>" class="muted-link">
<?php echo getStrCut($R['subject'],$d['bbs']['sbjcut'],'')?>
</a>
<?php if(strstr($R['content'],'.jpg') || strstr($R['content'],'.png')):?>
<span class="badge badge-light" data-toggle="tooltip" title="사진">
<i class="fa fa-camera-retro fa-lg"></i>
</span>
<?php endif?>
<?php if($R['upload']):?>
<span class="badge badge-light" data-toggle="tooltip" title="첨부파일">
<i class="fa fa-paperclip fa-lg"></i>
</span>
<?php endif?>
<?php if($R['hidden']):?><span class="badge badge-light" data-toggle="tooltip" title="비밀글"><i class="fa fa-lock fa-lg"></i></span><?php endif?>
<?php if($R['comment']):?><span class="badge badge-light"><?php echo $R['comment']?><?php echo $R['oneline']?'+'.$R['oneline']:''?></span><?php endif?>
<?php if(getNew($R['d_regis'],24)):?><small class="text-danger"><small>New</small></span><?php endif?>
</td>
<td class="small"><?php echo $R['hit']?></td>
<td>
<time class="small text-muted"><?php echo getDateFormat($R['d_regis'],'Y.m.d')?></time>
</td>
</tr>
<?php endwhile?>
<?php if(!$NUM):?>
<tr>
<td colspan="4" class="py-5 text-muted">
게시물이 없습니다.
</td>
</tr>
<?php endif?>
</tbody>
</table>
<footer class="d-flex justify-content-between align-items-center my-4">
<div class="">
<?php if ($NUM > $recnum): ?>
<ul class="pagination mb-0">
<?php echo getPageLink(10,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
</div>
<form name="bbssearchf" action="<?php echo$g['page_reset']?>" class="form-inline">
<?php if ($_HS['rewrite']): ?>
<input type="hidden" name="sort" value="<?php echo $sort?>">
<?php else: ?>
<input type="hidden" name="r" value="<?php echo $r?>">
<?php if($_mod):?>
<input type="hidden" name="mod" value="<?php echo $_mod?>">
<?php else:?>
<input type="hidden" name="m" value="<?php echo $m?>">
<input type="hidden" name="front" value="<?php echo $front?>">
<?php endif?>
<input type="hidden" name="page" value="<?php echo $page?>">
<input type="hidden" name="sort" value="<?php echo $sort?>">
<input type="hidden" name="orderby" value="<?php echo $orderby?>">
<input type="hidden" name="recnum" value="<?php echo $recnum?>">
<input type="hidden" name="type" value="<?php echo $type?>" />
<input type="hidden" name="mbrid" value="<?php echo $_MP['id']?>">
<?php endif; ?>
<select name="where" class="form-control custom-select ml-1">
<option value="subject|tag"<?php if($where=='subject|tag'):?> selected="selected"<?php endif?>>제목+태그</option>
<option value="content"<?php if($where=='content'):?> selected="selected"<?php endif?>>본문</option>
</select>
<input type="text" name="keyword" size="30" value="<?php echo $_keyword?>" class="form-control ml-2">
<button class="btn btn-light ml-2" type="submit">검색</button>
<?php if ($keyword): ?>
<a class="btn btn-light ml-1" href="<?php echo $g['page_reset']?>">리셋</a>
<?php endif; ?>
</form>
</footer>
</section>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->

View File

@@ -0,0 +1,143 @@
<?php
//댓글링크
function getCommentLink($arr)
{
$sync_arr=explode('|',$arr['sync']);
$B = getUidData($sync_arr[0],$sync_arr[2]);
return RW('m='.$sync_arr[1].'&bid='.$B['bbsid'].'&uid='.$sync_arr[2].($GLOBALS['s']!=$arr['site']?'&s='.$arr['site']:''.'#CMT-'.$arr['uid']));
}
$sort = $sort ? $sort : 'uid';
$orderby= $orderby ? $orderby : 'asc';
$recnum = $recnum && $recnum < 200 ? $recnum : 15;
$bbsque = 'mbruid='.$_MP['uid'].' and site='.$s;
if ($where && $keyword)
{
if (strstr('[name][nic][id][ip]',$where)) $bbsque .= " and ".$where."='".$keyword."'";
else if ($where == 'term') $bbsque .= " and d_regis like '".$keyword."%'";
else $bbsque .= getSearchSql($where,$keyword,$ikeyword,'or');
}
$RCD = getDbArray($table['s_comment'],$bbsque,'*',$sort,$orderby,$recnum,$p);
$NUM = getDbRows($table['s_comment'],$bbsque);
$TPG = getTotalPage($NUM,$recnum);
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<section>
<header class="d-flex justify-content-between mt-4 mb-2">
<div>
<?php echo number_format($NUM)?>개 <small class="text-muted">(<?php echo $p?>/<?php echo $TPG?>페이지)</small>
</div>
</header>
<table class="table text-center">
<colgroup>
<col width="50">
<col>
<col width="120">
</colgroup>
<thead class="thead-light">
<tr>
<th scope="col" class="side1">번호</th>
<th scope="col">제목</th>
<th scope="col" class="side2">날짜</th>
</tr>
</thead>
<tbody>
<?php while($R=db_fetch_array($RCD)):?>
<?php $R['mobile']=isMobileConnect($R['agent'])?>
<tr>
<td><?php echo $NUM-((($p-1)*$recnum)+$_rec++)?></td>
<td class="text-left">
<?php if($R['mobile']):?><i class="fa fa-mobile fa-lg"></i><?php endif?>
<a href="<?php echo getCommentLink($R)?>" target="_blank" class="muted-link"><?php echo $R['subject']?></a>
<?php if(strstr($R['content'],'.jpg')):?>
<span class="badge badge-light" data-toggle="tooltip" title="사진">
<i class="fa fa-camera-retro fa-lg"></i>
</span>
<?php endif?>
<?php if($R['upload']):?>
<span class="badge badge-light" data-toggle="tooltip" title="첨부파일">
<i class="fa fa-paperclip fa-lg"></i>
</span>
<?php endif?>
<?php if($R['hidden']):?><span class="badge badge-light" data-toggle="tooltip" title="비밀글"><i class="fa fa-lock fa-lg"></i></span><?php endif?>
<?php if($R['oneline']):?><span class="badge badge-light"><?php echo $R['oneline']?></span><?php endif?>
<?php if(getNew($R['d_regis'],24)):?><small class="text-danger">new</small><?php endif?>
</td>
<td>
<time class="small text-muted"><?php echo getDateFormat($R['d_regis'],'Y.m.d H:i')?></time>
</td>
</tr>
<?php endwhile?>
<?php if(!$NUM):?>
<tr>
<td colspan="3" class="py-5 text-muted">
댓글이 없습니다.
</td>
</tr>
<?php endif?>
</tbody>
</table>
<footer class="d-flex justify-content-between align-items-center my-4">
<div class="">
<?php if ($NUM > $recnum): ?>
<ul class="pagination mb-0">
<?php echo getPageLink(5,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
</div>
<form name="bbssearchf" action="<?php echo$g['page_reset']?>" class="form-inline">
<?php if ($_HS['rewrite']): ?>
<input type="hidden" name="sort" value="<?php echo $sort?>">
<?php else: ?>
<input type="hidden" name="r" value="<?php echo $r?>">
<?php if($_mod):?>
<input type="hidden" name="mod" value="<?php echo $_mod?>">
<?php else:?>
<input type="hidden" name="m" value="<?php echo $m?>">
<input type="hidden" name="front" value="<?php echo $front?>">
<?php endif?>
<input type="hidden" name="page" value="<?php echo $page?>">
<input type="hidden" name="sort" value="<?php echo $sort?>">
<input type="hidden" name="orderby" value="<?php echo $orderby?>">
<input type="hidden" name="recnum" value="<?php echo $recnum?>">
<input type="hidden" name="type" value="<?php echo $type?>" />
<input type="hidden" name="mbrid" value="<?php echo $_MP['id']?>">
<?php endif; ?>
<select name="where" class="form-control custom-select">
<option value="subject"<?php if($where=='subject'):?> selected="selected"<?php endif?>>제목</option>
<option value="content"<?php if($where=='content'):?> selected="selected"<?php endif?>>본문</option>
</select>
<input type="text" name="keyword" size="30" value="<?php echo $_keyword?>" class="form-control ml-2">
<button class="btn btn-light ml-2" type="submit">검색</button>
<?php if ($keyword): ?>
<a class="btn btn-light ml-1" href="<?php echo $g['page_reset']?>">리셋</a>
<?php endif; ?>
</form>
</footer>
</section>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->

View File

@@ -0,0 +1,101 @@
<?php
$sort = 'uid';
$orderby= 'desc';
$recnum = 15;
$mbrque = 'by_mbruid='.$_MP['uid'];
if ($where && $keyword) $mbrque .= getSearchSql($where,$keyword,$ikeyword,'or');
$RCD = getDbArray($table['s_friend'],$mbrque,'*',$sort,$orderby,$recnum,$p);
$NUM = getDbRows($table['s_friend'],$mbrque);
$TPG = getTotalPage($NUM,$recnum);
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<ul class="list-group list-group-flush border-top-0">
<?php $i=0;while($_R=db_fetch_array($RCD)):$i++?>
<?php $num_follower = getProfileInfo($_R['my_mbruid'],'num_follower');?>
<?php $_isFollowing = getDbRows($table['s_friend'],'my_mbruid='.$my['uid'].' and by_mbruid='.$_R['my_mbruid']); ?>
<li class="list-group-item d-flex justify-content-between align-items-center px-0" data-mbruid="<?php echo $_R['my_mbruid'] ?>">
<div class="media w-75 align-items-center">
<a href="<?php echo getProfileLink($_R['my_mbruid'])?>" class="mr-3">
<img alt="" class="rounded-lg border" src="<?php echo getAvatarSrc($_R['my_mbruid'],'50') ?>" width="50" height="50" >
</a>
<div class="media-body">
<a href="<?php echo getProfileLink($_R['my_mbruid'])?>" class="text-decoration-none text-reset">
<span class="f4 link-gray-dark"><?php echo getProfileInfo($_R['my_mbruid'],'nic')?></span>
</a>
<p class="text-muted small mb-0">
구독자 <span data-role="num_follower"><?php echo number_format($num_follower)?></span>명
</p>
</div>
</div><!-- /.media -->
<div class="">
<?php if ($my['uid']): ?>
<?php if($my['uid']!=$_R['my_mbruid']):?>
<button type="button" class="btn btn-primary btn-sm<?php echo $_isFollowing ?' active':''?>"
data-act="actionIframe"
data-toggle="button"
data-role="follow"
data-url="<?php echo $g['s'].'/?r='.$r.'&amp;m=member&amp;a=profile_follow&amp;mbruid='.$_R['my_mbruid']?>">
팔로우
</button>
<?php endif?>
<?php else: ?>
<span class="dropdown">
<button type="button" class="btn btn-primary" data-toggle="dropdown">
팔로우
</button>
<div class="dropdown-menu dropdown-menu-right shadow" style="min-width: 350px;">
<div class="py-3 px-4">
<h6><?php echo $M1[$_HS['nametype']] ?>님의 포스트를 구독하시겠습니까?</h6>
<p class="f13 text-muted mb-0">구독하려면 로그인하세요.</p>
</div>
<div class="dropdown-divider"></div>
<div class="px-3 text-right">
<button type="button" class="btn btn-link btn-sm" data-toggle="modal" data-target="#modal-login">
로그인
</button>
</div>
</div>
</span>
<?php endif; ?>
</div>
</li><!-- /.list-group-item -->
<?php endwhile?>
</ul>
<?php if(!$NUM):?>
<div class="d-flex align-items-center justify-content-center" style="height: 40vh">
<div class="text-muted">자료가 없습니다.</div>
</div>
<?php else:?>
<nav aria-label="Page navigation" class="mt-4">
<?php if ($NUM > $recnum): ?>
<ul class="pagination justify-content-center">
<?php echo getPageLink(10,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
</nav>
<?php endif?>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->

View File

@@ -0,0 +1,101 @@
<?php
$sort = 'uid';
$orderby= 'desc';
$recnum = 15;
$mbrque = 'my_mbruid='.$_MP['uid'];
if ($where && $keyword) $mbrque .= getSearchSql($where,$keyword,$ikeyword,'or');
$RCD = getDbArray($table['s_friend'],$mbrque,'*',$sort,$orderby,$recnum,$p);
$NUM = getDbRows($table['s_friend'],$mbrque);
$TPG = getTotalPage($NUM,$recnum);
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<ul class="list-group list-group-flush border-top-0">
<?php $i=0;while($_R=db_fetch_array($RCD)):$i++?>
<?php $num_follower = getProfileInfo($_R['by_mbruid'],'num_follower');?>
<?php $_isFollowing = getDbRows($table['s_friend'],'my_mbruid='.$my['uid'].' and by_mbruid='.$_R['by_mbruid']); ?>
<li class="list-group-item d-flex justify-content-between align-items-center px-0" data-mbruid="<?php echo $_R['by_mbruid'] ?>">
<div class="media w-75 align-items-center">
<a href="<?php echo getProfileLink($_R['by_mbruid'])?>" class="mr-3">
<img alt="" class="rounded-lg border" src="<?php echo getAvatarSrc($_R['by_mbruid'],'50') ?>" width="50" height="50" >
</a>
<div class="media-body">
<a href="<?php echo getProfileLink($_R['by_mbruid'])?>" class="text-decoration-none text-reset">
<span class="f4 link-gray-dark"><?php echo getProfileInfo($_R['by_mbruid'],'nic')?></span>
</a>
<p class="text-muted small mb-0">
구독자 <span data-role="num_follower"><?php echo number_format($num_follower)?></span>명
</p>
</div>
</div><!-- /.media -->
<div class="">
<?php if ($my['uid']): ?>
<?php if($my['uid']!=$_R['by_mbruid']):?>
<button type="button" class="btn btn-primary btn-sm<?php echo $_isFollowing ?' active':''?>"
data-act="actionIframe"
data-toggle="button"
data-role="follow"
data-url="<?php echo $g['s'].'/?r='.$r.'&amp;m=member&amp;a=profile_follow&amp;mbruid='.$_R['by_mbruid']?>">
팔로우
</button>
<?php endif?>
<?php else: ?>
<span class="dropdown">
<button type="button" class="btn btn-primary" data-toggle="dropdown">
팔로우
</button>
<div class="dropdown-menu dropdown-menu-right shadow" style="min-width: 350px;">
<div class="py-3 px-4">
<h6><?php echo $M1[$_HS['nametype']] ?>님의 포스트를 구독하시겠습니까?</h6>
<p class="f13 text-muted mb-0">구독하려면 로그인하세요.</p>
</div>
<div class="dropdown-divider"></div>
<div class="px-3 text-right">
<button type="button" class="btn btn-link btn-sm" data-toggle="modal" data-target="#modal-login">
로그인
</button>
</div>
</div>
</span>
<?php endif; ?>
</div>
</li><!-- /.list-group-item -->
<?php endwhile?>
</ul>
<?php if(!$NUM):?>
<div class="d-flex align-items-center justify-content-center" style="height: 40vh">
<div class="text-muted">자료가 없습니다.</div>
</div>
<?php else:?>
<nav aria-label="Page navigation" class="mt-4">
<?php if ($NUM > $recnum): ?>
<ul class="pagination justify-content-center">
<?php echo getPageLink(10,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
</nav>
<?php endif?>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->

View File

@@ -0,0 +1,187 @@
<?php
$sort = $sort ? $sort : 'gid';
$orderby= $orderby ? $orderby : 'asc';
$recnum = $recnum && $recnum < 200 ? $recnum : 12;
$listque = 'mbruid='.$_MP['uid'].' and site='.$s;
$where = 'name|tag';
if ($sort != 'gid') $orderby= 'desc';
if ($my['uid']) $listque .= ' and display > 3'; // 회원공개와 전체공개 포스트 출력
else $listque .= ' and display = 5'; // 전체공개 포스트만 출력
if ($where && $keyword)
{
if (strstr('[name][nic][id][ip]',$where)) $listque .= " and ".$where."='".$keyword."'";
else if ($where == 'term') $listque .= " and d_regis like '".$keyword."%'";
else $listque .= getSearchSql($where,$keyword,$ikeyword,'or');
}
$RCD = getDbArray($table['postlist'],$listque,'*',$sort,$orderby,$recnum,$p);
$NUM = getDbRows($table['postlist'],$listque);
$TPG = getTotalPage($NUM,$recnum);
$c_recnum = 3; // 한 열에 출력할 카드 갯수
$totalCardDeck=ceil($NUM/$c_recnum); // card-deck 갯수 ($NUM 은 해당 데이타의 총 card 갯수 getDbRows 이용)
$total_card_num = $totalCardDeck*$c_recnum;// 총 출력되야 할 card 갯수(빈카드 포함)
$print_card_num = 0; // 실제 출력된 카드 숫자 (아래 card 출력될 때마다 1 씩 증가)
$lack_card_num = $total_card_num;
switch ($sort) {
case 'd_regis' : $sort_txt='생성순';break;
case 'd_last' : $sort_txt='최신순';break;
default : $sort_txt='기본';break;
}
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<section>
<header class="d-flex justify-content-between align-items-end my-3">
<div>
<?php echo number_format($NUM)?>개 <small class="text-muted">(<?php echo $p?>/<?php echo $TPG?>페이지)</small>
</div>
<form name="listsearchf" action="<?php echo $g['page_reset'] ?>" method="get" class="form-inline">
<?php if ($_HS['rewrite']): ?>
<input type="hidden" name="sort" value="<?php echo $sort?>">
<?php else: ?>
<input type="hidden" name="r" value="<?php echo $r?>">
<?php if($_mod):?>
<input type="hidden" name="mod" value="<?php echo $_mod?>">
<?php else:?>
<input type="hidden" name="m" value="<?php echo $m?>">
<input type="hidden" name="front" value="<?php echo $front?>">
<?php endif?>
<input type="hidden" name="page" value="<?php echo $page?>">
<input type="hidden" name="sort" value="<?php echo $sort?>">
<input type="hidden" name="orderby" value="<?php echo $orderby?>">
<input type="hidden" name="recnum" value="<?php echo $recnum?>">
<input type="hidden" name="type" value="<?php echo $type?>" />
<input type="hidden" name="mbrid" value="<?php echo $_MP['id']?>">
<?php endif; ?>
<div class="dropdown" data-role="sort">
<a class="btn btn-white btn-sm dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
정열 : <?php echo $sort_txt ?>
</a>
<div class="dropdown-menu shadow-sm" style="min-width: 85px;">
<button class="dropdown-item d-flex justify-content-between align-items-center<?php echo $sort=='gid'?' active':'' ?>" type="button" data-value="gid">
기본
</button>
<button class="dropdown-item d-flex justify-content-between align-items-center<?php echo $sort=='d_regis'?' active':'' ?>" type="button" data-value="d_regis">
생성순
</button>
<button class="dropdown-item d-flex justify-content-between align-items-center<?php echo $sort=='d_last'?' active':'' ?>" type="button" data-value="d_last">
최신순
</button>
</div>
</div>
<input type="text" name="keyword" size="30" value="<?php echo $_keyword?>" class="form-control form-control-sm ml-2" placeholder="제목 또는 태그 검색">
<button class="btn btn-white btn-sm ml-1" type="submit">검색</button>
<?php if ($keyword): ?>
<a class="btn btn-light btn-sm ml-1" href="<?php echo $g['page_reset'] ?>">리셋</a>
<?php endif; ?>
<?php if ($_IS_PROFILEOWN): ?>
<a href="<?php echo RW('mod=dashboard&page=list')?>" class="btn btn-light btn-sm ml-2 text-danger">관리</a>
<?php endif; ?>
</form>
</header>
<div class="card-deck" data-plugin="markjs">
<?php $i=0;while($R=db_fetch_array($RCD)):$i++?>
<div class="card border-0">
<a href="<?php echo getListLink($R,1) ?>" class="position-relative">
<img class="img-fluid" src="<?php echo getPreviewResize(getListImageSrc($R['uid']),'320x180') ?>" alt="">
<span class="list_mask">
<span class="txt"><?php echo $R['num']?><i class="fa fa-list-ul d-block" aria-hidden="true"></i></span>
</span>
</a>
<div class="card-body px-0 pt-2 pb-4">
<h5 class="card-title h6 mb-1">
<a class="text-decoration-none text-reset" href="<?php echo getListLink($R,1)?>">
<?php echo $R['name']?>
</a>
</h5>
<p class="card-text text-muted f13">
<span class="text-muted">업데이트: <time data-plugin="timeago" datetime="<?php echo getDateFormat($R['d_last'],'c')?>"></time></span>
<?php if(getNew($R['d_last'],12)):?><small class="text-danger">new</small><?php endif?>
<?php if ($_IS_PROFILEOWN): ?>
<span class="badge badge-secondary ml-2 align-top"><?php echo $R['display']!=5?$g['displaySet']['label'][$R['display']]:'' ?></span>
<?php endif; ?>
</p>
</div>
</div><!-- /.card -->
<?php
$print_card_num++; // 카드 출력될 때마 1씩 증가
$lack_card_num = $total_card_num - $print_card_num;
?>
<?php if(!($i%$c_recnum)):?></div><div class="card-deck"><?php endif?>
<?php endwhile?>
<?php if($lack_card_num ):?>
<?php for($j=0;$j<$lack_card_num;$j++):?>
<div class="card border-0"></div>
<?php endfor?>
<?php endif?>
</div>
<?php if(!$NUM):?>
<div class="d-flex align-items-center justify-content-center" style="height: 40vh">
<div class="text-muted">리스트가 없습니다.</div>
</div>
<?php endif?>
<footer class="d-flex justify-content-center align-items-center my-4">
<?php if ($NUM > $recnum): ?>
<ul class="pagination mb-0">
<?php echo getPageLink(10,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
</footer>
</section>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->
<script>
$( document ).ready(function() {
// 툴바
$('[name="listsearchf"] .dropdown-item').click(function(){
var form = $('[name="listsearchf"]');
var value = $(this).attr('data-value');
var role = $(this).closest('.dropdown').attr('data-role');
form.find('[name="'+role+'"]').val(value)
form.submit();
});
// marks.js
$('[data-plugin="markjs"]').mark("<?php echo $keyword ?>");
});
</script>

View File

@@ -0,0 +1,99 @@
<?php
$levelnum = getDbData($table['s_mbrlevel'],'gid=1','*');
$levelname= getDbData($table['s_mbrlevel'],'uid='.$_MP['level'],'*');
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<div class="mt-3">
<?php include $g['dir_module_skin'].'_newPost.php';?>
</div>
<?php include $g['dir_module_skin'].'_newList.php';?>
<div class="row mt-3">
<div class="col-6">
<h2 class="f16 p-2 font-weight-normal mt-4 mb-0">
<i class="fa fa-file-text-o mr-1" aria-hidden="true"></i> 게시판
</h2>
<ul class="list-group list-group-flush">
<?php $_POST = getDbArray($table['bbsdata'],'site='.$s.' and mbruid='.$_MP['uid'],'*','gid','asc',10,1)?>
<?php while($_R=db_fetch_array($_POST)):?>
<?php $_R['mobile']=isMobileConnect($_R['agent'])?>
<li class="list-group-item px-1 py-2 f13">
<a href="<?php echo getBbsPostLink($_R)?>" class="muted-link" target="_blank">
<?php echo getStrCut($_R['subject'],29,'..')?>
</a>
<?php if($_R['mobile']):?><i class="fa fa-mobile fa-lg"></i><?php endif?>
<?php if(strstr($_R['content'],'.jpg')):?>
<span class="badge badge-light" data-toggle="tooltip" title="사진">
<i class="fa fa-camera-retro fa-lg"></i>
</span>
<?php endif?>
<?php if($_R['upload']):?>
<span class="badge badge-light" data-toggle="tooltip" title="첨부파일">
<i class="fa fa-paperclip fa-lg"></i>
</span>
<?php endif?>
<?php if($_R['hidden']):?><span class="badge badge-light" data-toggle="tooltip" title="비밀글"><i class="fa fa-lock fa-lg"></i></span><?php endif?>
<?php if($_R['comment']):?><span class="badge badge-light"><?php echo $_R['comment']?><?php echo $_R['oneline']?'+'.$_R['oneline']:''?></span><?php endif?>
<?php if(getNew($_R['d_regis'],24)):?><small class="text-danger">n</small><?php endif?>
</li>
<?php endwhile?>
<?php if(!db_num_rows($_POST)):?>
<li class="list-group-item">등록된 게시물이 없습니다.</li>
<?php endif?>
</ul>
</div><!-- /.col-6 -->
<div class="col-6 border-left">
<h2 class="f16 font-weight-normal mt-4 mb-2">
<i class="fa fa-commenting-o mr-1" aria-hidden="true"></i> 댓글
</h2>
<ul class="list-group list-group-flush">
<?php $_POST = getDbArray($table['s_comment'],'site='.$s.' and mbruid='.$_MP['uid'],'*','uid','asc',10,1)?>
<?php while($_R=db_fetch_array($_POST)):?>
<?php $_R['mobile']=isMobileConnect($_R['agent'])?>
<li class="list-group-item px-1 py-2 f13">
<a href="<?php echo getSyncUrl($_R['sync'].',CMT:'.$_R['uid'].',s:'.$_R['site'])?>#CMT" class="muted-link" target="_blank">
<?php echo getStrCut($_R['subject'],29,'..')?>
</a>
<?php if($_R['mobile']):?><i class="fa fa-mobile fa-lg"></i><?php endif?>
<?php if(strstr($_R['content'],'.jpg')):?>
<span class="badge badge-light" data-toggle="tooltip" title="사진">
<i class="fa fa-camera-retro fa-lg"></i>
</span>
<?php endif?>
<?php if($_R['upload']):?>
<span class="badge badge-light" data-toggle="tooltip" title="첨부파일">
<i class="fa fa-paperclip fa-lg"></i>
</span>
<?php endif?>
<?php if($_R['hidden']):?><span class="badge badge-light" data-toggle="tooltip" title="비밀글"><i class="fa fa-lock fa-lg"></i></span><?php endif?>
<?php if($_R['oneline']):?><span class="badge badge-light"><?php echo $_R['oneline']?></span><?php endif?>
<?php if(getNew($_R['d_regis'],24)):?><small class="text-danger">n</small><?php endif?>
</li>
<?php endwhile?>
<?php if(!db_num_rows($_POST)):?>
<li class="list-group-item">등록된 댓글이 없습니다.</li>
<?php endif?>
</ul>
</div><!-- /.col-6 -->
</div><!-- /.row -->
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->

View File

@@ -0,0 +1,129 @@
<?php
//한줄의견링크
function getOnelineLink($arr)
{
global $table;
$C = getUidData($table['s_comment'],$arr['parent']);
$sync_arr=explode('|',$C['sync']);
$B = getUidData($sync_arr[0],$sync_arr[2]);
return RW('m='.$sync_arr[1].'&bid='.$B['bbsid'].'&uid='.$sync_arr[2].($GLOBALS['s']!=$arr['site']?'&s='.$arr['site']:''.'#OLN-'.$arr['uid']));
}
$sort = $sort ? $sort : 'uid';
$orderby= $orderby ? $orderby : 'desc';
$recnum = $recnum && $recnum < 200 ? $recnum : 15;
$bbsque = 'mbruid='.$_MP['uid'].' and site='.$s;
$where = 'content';
if ($where && $keyword)
{
if (strstr('[name][nic][id][ip]',$where)) $bbsque .= " and ".$where."='".$keyword."'";
else if ($where == 'term') $bbsque .= " and d_regis like '".$keyword."%'";
else $bbsque .= getSearchSql($where,$keyword,$ikeyword,'or');
}
$RCD = getDbArray($table['s_oneline'],$bbsque,'*',$sort,$orderby,$recnum,$p);
$NUM = getDbRows($table['s_oneline'],$bbsque);
$TPG = getTotalPage($NUM,$recnum);
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<section>
<header class="d-flex justify-content-between mt-4 mb-2">
<div>
<?php echo number_format($NUM)?>개 <small class="text-muted">(<?php echo $p?>/<?php echo $TPG?>페이지)</small>
</div>
</header>
<table class="table text-center">
<colgroup>
<col width="80">
<col>
<col width="120">
</colgroup>
<thead class="thead-light">
<tr>
<th scope="col" class="side1">번호</th>
<th scope="col">제목</th>
<th scope="col" class="side2">날짜</th>
</tr>
</thead>
<tbody>
<?php while($R=db_fetch_array($RCD)):?>
<tr>
<td><?php echo $NUM-((($p-1)*$recnum)+$_rec++)?></td>
<td class="text-left">
<a href="<?php echo getOnelineLink($R)?>" target="_blank" class="muted-link"><?php echo strip_tags($R['content'])?></a>
<?php if($R['hidden']):?><span class="badge badge-light" data-toggle="tooltip" title="비밀글"><i class="fa fa-lock fa-lg"></i></span><?php endif?>
<?php if(getNew($R['d_regis'],24)):?><small class="text-danger">new</small><?php endif?>
</td>
<td>
<time class="small text-muted"><?php echo getDateFormat($R['d_regis'],'Y.m.d H:i')?></time>
</td>
</tr>
<?php endwhile?>
<?php if(!$NUM):?>
<tr>
<td colspan="3" class="py-5 text-muted">
한줄의견이 없습니다.
</td>
</tr>
<?php endif?>
</tbody>
</table>
<footer class="d-flex justify-content-between align-items-center my-4">
<div class="">
<?php if ($NUM > $recnum): ?>
<ul class="pagination mb-0">
<?php echo getPageLink(5,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
</div>
<form name="bbssearchf" action="<?php echo$g['page_reset']?>" class="form-inline">
<?php if ($_HS['rewrite']): ?>
<input type="hidden" name="sort" value="<?php echo $sort?>">
<?php else: ?>
<input type="hidden" name="r" value="<?php echo $r?>">
<?php if($_mod):?>
<input type="hidden" name="mod" value="<?php echo $_mod?>">
<?php else:?>
<input type="hidden" name="m" value="<?php echo $m?>">
<input type="hidden" name="front" value="<?php echo $front?>">
<?php endif?>
<input type="hidden" name="page" value="<?php echo $page?>">
<input type="hidden" name="sort" value="<?php echo $sort?>">
<input type="hidden" name="orderby" value="<?php echo $orderby?>">
<input type="hidden" name="recnum" value="<?php echo $recnum?>">
<input type="hidden" name="type" value="<?php echo $type?>" />
<input type="hidden" name="mbrid" value="<?php echo $_MP['id']?>">
<?php endif; ?>
<input type="text" name="keyword" size="30" value="<?php echo $_keyword?>" class="form-control ml-2">
<button class="btn btn-light ml-2" type="submit">검색</button>
<?php if ($keyword): ?>
<a class="btn btn-light ml-1" href="<?php echo $g['page_reset']?>">리셋</a>
<?php endif; ?>
</form>
</footer>
</section>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->

View File

@@ -0,0 +1,223 @@
<?php
$sort = $sort ? $sort : 'gid';
$orderby= $orderby ? $orderby : 'asc';
$recnum = $recnum && $recnum < 200 ? $recnum : 15;
$postque = 'mbruid='.$_MP['uid'].' and site='.$s;
if ($my['uid']) $postque .= ' and display > 3'; // 회원공개와 전체공개 포스트 출력
else $postque .= ' and display = 5'; // 전체공개 포스트만 출력
if ($sort == 'gid' && !$keyword) {
$TCD = getDbArray($table['postmember'],$postque,'*',$sort,$orderby,$recnum,$p);
while($_R = db_fetch_array($TCD)) $RCD[] = getDbData($table['postdata'],'gid='.$_R['gid'],'*');
$NUM = getDbRows($table['postmember'],$postque);
} else {
if ($where && $keyword) {
if (strstr('[name][nic][id][ip]',$where)) $postque .= " and ".$where."='".$keyword."'";
else if ($where == 'term') $postque .= " and d_regis like '".$keyword."%'";
else $postque .= getSearchSql($where,$keyword,$ikeyword,'or');
}
$orderby = 'desc';
$NUM = getDbRows($table['postdata'],$postque);
$TCD = getDbArray($table['postdata'],$postque,'*',$sort,$orderby,$recnum,$p);
while($_R = db_fetch_array($TCD)) $RCD[] = $_R;
}
$TPG = getTotalPage($NUM,$recnum);
switch ($sort) {
case 'gid' : $sort_txt='생성순';break;
case 'hit' : $sort_txt='조회순';break;
case 'likes' : $sort_txt='추천순';break;
case 'comment' : $sort_txt='댓글순';break;
default : $sort_txt='최신순';break;
}
?>
<div class="page-wrapper row">
<div class="col-3 page-nav">
<?php include $g['dir_module_skin'].'_vcard.php';?>
</div>
<div class="col-9 page-main">
<?php include $g['dir_module_skin'].'_nav.php';?>
<section>
<header class="d-flex justify-content-between align-items-center my-3">
<div>
<?php echo number_format($NUM)?>개 <small class="text-muted">(<?php echo $p?>/<?php echo $TPG?>페이지)</small>
</div>
<form name="postsearchf" method="get" action="<?php echo $g['page_reset'] ?>" class="form-inline">
<?php if ($_HS['rewrite']): ?>
<input type="hidden" name="sort" value="<?php echo $sort?>">
<?php else: ?>
<input type="hidden" name="r" value="<?php echo $r?>">
<?php if($_mod):?>
<input type="hidden" name="mod" value="<?php echo $_mod?>">
<?php else:?>
<input type="hidden" name="m" value="<?php echo $m?>">
<input type="hidden" name="front" value="<?php echo $front?>">
<?php endif?>
<input type="hidden" name="page" value="<?php echo $page?>">
<input type="hidden" name="sort" value="<?php echo $sort?>">
<input type="hidden" name="orderby" value="<?php echo $orderby?>">
<input type="hidden" name="recnum" value="<?php echo $recnum?>">
<input type="hidden" name="type" value="<?php echo $type?>" />
<input type="hidden" name="mbrid" value="<?php echo $_MP['id']?>">
<?php endif; ?>
<div class="dropdown" data-role="sort">
<a class="btn btn-white btn-sm dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
정열 : <?php echo $sort_txt ?>
</a>
<div class="dropdown-menu shadow-sm" style="min-width: 100px;">
<button class="dropdown-item<?php echo $sort=='gid'?' active':'' ?>" type="button" data-value="gid">
생성순
</button>
<button class="dropdown-item<?php echo $sort=='d_modify'?' active':'' ?>" type="button" data-value="d_modify">
최신순
</button>
<button class="dropdown-item<?php echo $sort=='hit'?' active':'' ?>" type="button" data-value="hit">
조회순
</button>
<button class="dropdown-item<?php echo $sort=='likes'?' active':'' ?>" type="button" data-value="likes">
추천순
</button>
<button class="dropdown-item<?php echo $sort=='comment'?' active':'' ?>" type="button" data-value="comment">
댓글순
</button>
</div>
</div>
<select name="where" class="form-control custom-select custom-select-sm ml-1">
<option value="subject|tag"<?php if($where=='subject|tag'):?> selected="selected"<?php endif?>>제목+태그</option>
<option value="content"<?php if($where=='content'):?> selected="selected"<?php endif?>>본문</option>
</select>
<input type="text" name="keyword" size="30" value="<?php echo $_keyword?>" class="form-control form-control-sm ml-1">
<button class="btn btn-white btn-sm ml-1" type="submit">검색</button>
<?php if ($keyword): ?>
<a class="btn btn-light btn-sm ml-1" href="<?php echo $g['page_reset']?>">리셋</a>
<?php endif; ?>
<?php if ($_IS_PROFILEOWN): ?>
<a href="<?php echo RW('mod=dashboard&page='.$page)?>" class="btn btn-white text-danger btn-sm ml-2">관리</a>
<?php endif; ?>
</form><!-- /.form-inline -->
</header>
<ul class="list-unstyled" data-plugin="markjs">
<?php if (!empty($RCD)): ?>
<?php foreach($RCD as $R):?>
<li class="media mt-4">
<a href="<?php echo getPostLink($R,1) ?>" class="position-relative mr-3">
<img class="border" src="<?php echo getPreviewResize(getUpImageSrc($R),'180x100') ?>" alt="">
<time class="badge badge-dark rounded-0 position-absolute f14" style="right:1px;bottom:1px"><?php echo getUpImageTime($R) ?></time>
</a>
<div class="media-body">
<h5 class="my-1 font-weight-light line-clamp-2">
<a href="<?php echo getPostLink($R,1) ?>" class="text-reset text-decoration-none" ><?php echo stripslashes($R['subject'])?></a>
</h5>
<div class="mb-1">
<ul class="list-inline d-inline-block f13 text-muted">
<li class="list-inline-item">조회 <?php echo $R['hit']?> </li>
<li class="list-inline-item">추천 <?php echo $R['likes']?> </li>
<li class="list-inline-item">댓글 <?php echo $R['comment']?> </li>
<li class="list-inline-item">
<time data-plugin="timeago" datetime="<?php echo getDateFormat($R['d_modify']?$R['d_modify']:$R['d_regis'],'c')?>"></time>
<?php if(getNew($R['d_regis'],12)):?><small class="text-danger">new</small><?php endif?>
</li>
</ul>
<?php if ($R['category']): ?>
<span class="ml-2 f13 text-muted">
<i class="fa fa-folder-o mr-1" aria-hidden="true"></i> <?php echo getAllPostCat('post',$R['category']) ?>
</span>
<?php endif; ?>
<div class="">
<?php if ($R['tag']): ?>
<span class="f13 text-muted mr-1">
<!-- 태그 -->
<?php $_tags=explode(',',$R['tag'])?>
<?php $_tagn=count($_tags)?>
<?php $i=0;for($i = 0; $i < $_tagn; $i++):?>
<?php $_tagk=trim($_tags[$i])?>
<a class="badge badge-light" href="<?php echo RW('m=post&mod=keyword&') ?>keyword=<?php echo urlencode($_tagk)?>"><?php echo $_tagk?></a>
<?php endfor?>
</span>
<?php endif; ?>
<span class="badge badge-secondary"><?php echo checkPostOwner($R) && $R['display']!=5?$g['displaySet']['label'][$R['display']]:'' ?></span>
</div>
</div>
</div>
</li>
<?php endforeach?>
<?php endif?>
<?php if(!$NUM):?>
<li>
<div class="d-flex align-items-center justify-content-center" style="height: 40vh">
<div class="text-muted">포스트가 없습니다.</div>
</div>
</li>
<?php endif?>
</ul>
<footer class="d-flex justify-content-between mt-5">
<div class=""></div>
<?php if ($NUM > $recnum): ?>
<ul class="pagination mb-0">
<?php echo getPageLink(10,$p,$TPG,$_N)?>
</ul>
<?php endif; ?>
<div class="">
</div>
</footer>
</section>
</div><!-- /.page-main -->
</div><!-- /.page-wrapper -->
<script>
$( document ).ready(function() {
// 툴바
$('[name="postsearchf"] .dropdown-item').click(function(){
var form = $('[name="postsearchf"]');
var value = $(this).attr('data-value');
var role = $(this).closest('.dropdown').attr('data-role');
form.find('[name="'+role+'"]').val(value)
form.submit();
});
// marks.js
$('[data-plugin="markjs"]').mark("<?php echo $keyword ?>");
});
</script>