285 lines
9.5 KiB
PHP
285 lines
9.5 KiB
PHP
<?
|
|
$sub_menu = "200100";
|
|
include_once('./_common.php');
|
|
|
|
auth_check($auth[$sub_menu], 'r');
|
|
|
|
$token = get_token();
|
|
|
|
$sql_common = " from {$g4['member_table']} ";
|
|
|
|
$sql_search = " where (1) ";
|
|
if (isset($stx)) {
|
|
$sql_search .= " and ( ";
|
|
switch ($sfl) {
|
|
case 'mb_point' :
|
|
$sql_search .= " ({$sfl} >= '{$stx}') ";
|
|
break;
|
|
case 'mb_level' :
|
|
$sql_search .= " ({$sfl} = '{$stx}') ";
|
|
break;
|
|
case 'mb_tel' :
|
|
case 'mb_hp' :
|
|
$sql_search .= " ({$sfl} like '%{$stx}') ";
|
|
break;
|
|
default :
|
|
$sql_search .= " ({$sfl} like '{$stx}%') ";
|
|
break;
|
|
}
|
|
$sql_search .= " ) ";
|
|
}
|
|
|
|
if ($is_admin != 'super')
|
|
$sql_search .= " and mb_level <= '{$member['mb_level']}' ";
|
|
|
|
if (!isset($sst)) {
|
|
$sst = "mb_datetime";
|
|
$sod = "desc";
|
|
}
|
|
|
|
$sql_order = " order by {$sst} {$sod} ";
|
|
|
|
$sql = " select count(*) as cnt
|
|
{$sql_common}
|
|
{$sql_search}
|
|
{$sql_order} ";
|
|
$row = sql_fetch($sql);
|
|
$total_count = $row['cnt'];
|
|
|
|
$rows = $config['cf_page_rows'];
|
|
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
|
|
if (!isset($page)) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
|
|
$from_record = ($page - 1) * $rows; // 시작 열을 구함
|
|
|
|
// 탈퇴회원수
|
|
$sql = " select count(*) as cnt
|
|
{$sql_common}
|
|
{$sql_search}
|
|
and mb_leave_date <> ''
|
|
{$sql_order} ";
|
|
$row = sql_fetch($sql);
|
|
$leave_count = $row['cnt'];
|
|
|
|
// 차단회원수
|
|
$sql = " select count(*) as cnt
|
|
{$sql_common}
|
|
{$sql_search}
|
|
and mb_intercept_date <> ''
|
|
{$sql_order} ";
|
|
$row = sql_fetch($sql);
|
|
$intercept_count = $row['cnt'];
|
|
|
|
$listall = "";
|
|
if (isset($sfl) || isset($stx)) // 검색일 때만 처음 버튼을 보여줌
|
|
$listall = '<a href="'.$_SERVER['PHP_SELF'].'">전체목록</a>';
|
|
|
|
$g4['title'] = '회원관리';
|
|
include_once('./admin.head.php');
|
|
|
|
$sql = " select *
|
|
{$sql_common}
|
|
{$sql_search}
|
|
{$sql_order}
|
|
limit {$from_record}, {$rows} ";
|
|
$result = sql_query($sql);
|
|
|
|
$colspan = 15;
|
|
?>
|
|
|
|
<script src="<?=$g4['path']?>/js/sideview.js"></script>
|
|
<script>
|
|
var list_update_php = 'member_list_update.php';
|
|
var list_delete_php = 'member_list_delete.php';
|
|
</script>
|
|
|
|
<form id="fsearch" name="fsearch" method="get">
|
|
<fieldset>
|
|
<legend>회원검색</legend>
|
|
<span>
|
|
<?=$listall?>
|
|
총회원수 <?=number_format($total_count)?>명 중,
|
|
<a href="?sst=mb_intercept_date&sod=desc&sfl=<?=$sfl?>&stx=<?=$stx?>">차단 <?=number_format($intercept_count)?></a>명,
|
|
<a href="?sst=mb_leave_date&sod=desc&sfl=<?=$sfl?>&stx=<?=$stx?>">탈퇴 <?=number_format($leave_count)?></a>명
|
|
</span>
|
|
<label for="sfl">검색대상</label>
|
|
<select id="sfl" name="sfl">
|
|
<option value="mb_id">회원아이디</option>
|
|
<option value="mb_name">이름</option>
|
|
<option value="mb_nick">별명</option>
|
|
<option value="mb_level">권한</option>
|
|
<option value="mb_email">E-MAIL</option>
|
|
<option value="mb_tel">전화번호</option>
|
|
<option value="mb_hp">핸드폰번호</option>
|
|
<option value="mb_point">포인트</option>
|
|
<option value="mb_datetime">가입일시</option>
|
|
<option value="mb_ip">IP</option>
|
|
<option value="mb_recommend">추천인</option>
|
|
</select>
|
|
<label for="stx">검색어</label>
|
|
<input type="text" id="stx" name="stx" required value="<?=isset($stx)?>">
|
|
<input type="submit" class="fieldset_submit" value="검색">
|
|
</fieldset>
|
|
</form>
|
|
|
|
<? if ($is_admin == 'super') {?>
|
|
<div id="btn_add">
|
|
<a href="./member_form.php" id="member_add">회원추가</a>
|
|
</div>
|
|
<?}?>
|
|
|
|
<form id="fmemberlist" name="fmemberlist" method="post">
|
|
<input type="hidden" name="sst" value='<?=$sst?>'>
|
|
<input type="hidden" name="sod" value='<?=$sod?>'>
|
|
<input type="hidden" name="sfl" value='<?=$sfl?>'>
|
|
<input type="hidden" name="stx" value='<?=$stx?>'>
|
|
<input type="hidden" name="page" value='<?=$page?>'>
|
|
<input type="hidden" name="token" value='<?=$token?>'>
|
|
|
|
<table class="tbl_mb_list">
|
|
<caption>
|
|
회원 목록
|
|
<p>
|
|
회원자료 삭제 시 다른 회원이 기존 회원아이디를 사용하지 못하도록 회원아이디, 이름, 별명은 삭제하지 않고 영구 보관합니다.
|
|
</p>
|
|
</caption>
|
|
<thead>
|
|
<tr>
|
|
<th scope="col"><input type="checkbox" id="chkall" name="chkall" value="1" title="현재 페이지 회원 전체선택" onclick="check_all(this.form)"></th>
|
|
<th scope="col"><?=subject_sort_link('mb_id')?>회원아이디</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_name')?>이름</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_nick')?>별명</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_level', '', 'desc')?>권한</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_point', '', 'desc')?> 포인트</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_today_login', '', 'desc')?>최종접속</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_mailling', '', 'desc')?>수신</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_open', '', 'desc')?>공개</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_email_certify', '', 'desc')?>인증</a></th>
|
|
<th scope="col"><?=subject_sort_link('mb_intercept_date', '', 'desc')?>차단</a></th>
|
|
<th scope="col">그룹</th>
|
|
<th scope="col">관리</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?
|
|
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
|
// 접근가능한 그룹수
|
|
$sql2 = " select count(*) as cnt from {$g4['group_member_table']} where mb_id = '{$row['mb_id']}' ";
|
|
$row2 = sql_fetch($sql2);
|
|
$group = '';
|
|
if ($row2['cnt'])
|
|
$group = '<a href="./boardgroupmember_form.php?mb_id='.$row['mb_id'].'">'.$row2['cnt'].'</a>';
|
|
|
|
if ($is_admin == 'group')
|
|
{
|
|
$s_mod = '';
|
|
$s_del = '';
|
|
}
|
|
else
|
|
{
|
|
$s_mod = '<a href="./member_form.php?'.$qstr.'&w=u&mb_id='.$row['mb_id'].'">수정</a>';
|
|
$s_del = '<a href="javascript:post_delete(\'member_delete.php\', \''.$row['mb_id'].'\');">삭제</a>';
|
|
}
|
|
$s_grp = '<a href="./boardgroupmember_form.php?mb_id='.$row['mb_id'].'">그룹</a>';
|
|
|
|
$leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', $g4['server_time']);
|
|
$intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', $g4['server_time']);
|
|
|
|
$mb_nick = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']);
|
|
|
|
$mb_id = $row['mb_id'];
|
|
$leave_msg = '';
|
|
$intercept_msg = '';
|
|
$intercept_title = '';
|
|
if ($row['mb_leave_date']) {
|
|
$mb_id = $mb_id;
|
|
$leave_msg = '탈퇴함';
|
|
}
|
|
else if ($row['mb_intercept_date']) {
|
|
$mb_id = $mb_id;
|
|
$intercept_msg = '차단됨';
|
|
$intercept_title = '차단해제';
|
|
}
|
|
if ($intercept_title == '')
|
|
$intercept_title = '차단하기';
|
|
?>
|
|
|
|
<tr>
|
|
<td class="td_chk">
|
|
<input type="hidden" id="mb_id_<?=$i?>" name="mb_id[<?=$i?>]" value="<?=$row['mb_id']?>">
|
|
<input type="checkbox" id="chk_<?=$i?>" name="chk[]" value="<?=$i?>" title="회원선택">
|
|
</td>
|
|
<td class="td_mbid">
|
|
<?=$mb_id?>
|
|
<span><?=$leave_msg?><?=$intercept_msg?></span>
|
|
</td>
|
|
<td class="td_mbname"><?=$row['mb_name']?></td>
|
|
<td class="td_mbnick"><div><?=$mb_nick?></div></td>
|
|
<td><?=get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level'])?></td>
|
|
<td><a href="point_list.php?sfl=mb_id&stx=<?=$row['mb_id']?>"><?=number_format($row['mb_point'])?></a></td>
|
|
<td><?=substr($row['mb_today_login'],2,8)?></td>
|
|
<td><?=$row['mb_mailling']?'예':'아니오';?></td>
|
|
<td><?=$row['mb_open']?'예':'아니오';?></td>
|
|
<td><?=preg_match('/[1-9]/', $row['mb_email_certify'])?'예':'아니오';?></td>
|
|
<td class="td_chk">
|
|
<? if(empty($row['mb_leave_date'])){?>
|
|
<input type="checkbox" id="mb_intercept_date_<?=$i?>" name="mb_intercept_date[<?=$i?>]" <?=$row['mb_intercept_date']?'checked':'';?> value="<?=$intercept_date?>" title="<?=$intercept_title?>">
|
|
<?}?>
|
|
</td>
|
|
<td class="td_chk"><?=$group?></td>
|
|
<td><?=$s_mod?> <?=$s_del?> <?=$s_grp?></td>
|
|
</tr>
|
|
|
|
<?
|
|
}
|
|
if ($i == 0)
|
|
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>';
|
|
?>
|
|
</table>
|
|
|
|
<div class="btn_list">
|
|
<button onclick="btn_check(this.form, 'update')">선택수정</button>
|
|
<button onclick="btn_check(this.form, 'delete')">선택삭제</button>
|
|
<? if ($is_admin == 'super') {?><a href="./member_form.php">회원추가</a><?}?>
|
|
</div>
|
|
|
|
<?
|
|
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, '?'.$qstr.'&page=');
|
|
?>
|
|
<div class="pg">
|
|
<?=$pagelist?>
|
|
</div>
|
|
|
|
<?
|
|
if (isset($stx))
|
|
echo '<script>document.fsearch.sfl.value = \''.$sfl.'\';</script>';
|
|
?>
|
|
</form>
|
|
|
|
<script>
|
|
// POST 방식으로 삭제
|
|
function post_delete(action_url, val)
|
|
{
|
|
var f = document.fpost;
|
|
|
|
if(confirm("한번 삭제한 자료는 복구할 방법이 없습니다.\n\n정말 삭제하시겠습니까?")) {
|
|
f.mb_id.value = val;
|
|
f.action = action_url;
|
|
f.submit();
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<form id="fpost" name="fpost" method="post">
|
|
<input type="hidden" name="sst" value="<?=$sst?>">
|
|
<input type="hidden" name="sod" value="<?=$sod?>">
|
|
<input type="hidden" name="sfl" value="<?=$sfl?>">
|
|
<input type="hidden" name="stx" value="<?=$stx?>">
|
|
<input type="hidden" name="page" value="<?=$page?>">
|
|
<input type="hidden" name="token" value="<?=$token?>">
|
|
<input type="hidden" name="mb_id">
|
|
</form>
|
|
|
|
<?
|
|
include_once ('./admin.tail.php');
|
|
?>
|