Initial import from local backup (Documents-Playground/pakerpale)
This commit is contained in:
63
views/admin/basic/member/dormant/cleantodormant.php
Normal file
63
views/admin/basic/member/dormant/cleantodormant.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">기본정보</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>">휴면계정일괄정리</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>">안내메일일괄발송</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>">안내메일내용</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>">안내메일발송내역</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>">휴면처리해야할회원</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="textbox">
|
||||
<p>휴면계정 대상인 회원의 디비를 모두 정리합니다</p>
|
||||
<p>정리 대상 : <strong><?php echo $this->cbconfig->item('member_dormant_days')?>일 이상된 회원</strong></p>
|
||||
<p>정리 방법 : <strong><?php echo $this->cbconfig->item('member_dormant_method') === 'delete' ? '삭제' : '별도의 저장소에 보관'; ?></strong></p>
|
||||
<p>정리 대상에 있는 회원수 : <strong><?php echo number_format(element('count', $view)); ?></strong>명 (<a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>">휴면처리해야할 회원</a> 목록에서명단 확인 가능합니다)</p>
|
||||
<p>정리 방법이 '삭제' 인 경우, 회원정보는 디비상에서 완전 삭제되며 복구가 불가능합니다</p>
|
||||
<p>정리 방법이 '별도의 저장소에 보관' 인 경우, 회원정보는 <a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">휴면중인회원</a> 목록으로 이동합니다</p>
|
||||
<p>시간이 조금 오래 걸릴 수도 있습니다</p>
|
||||
<p>정리하시겠습니까</p>
|
||||
<div class="clean-info"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<div class="box-button btn-group">
|
||||
<button type="button" class="btn btn-success btn-sm execute_clean">정리하기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(document).on('click', '.execute_clean', function() {
|
||||
if (confirm('정말 정리를 시작하시겠습니까?')) {
|
||||
$('.clean-info').html('<div style="width:60px;height:60px;background: url(' + cb_url + '/assets/images/ajax-loader.gif) no-repeat 0 0;"></div>');
|
||||
$('.box-info').html('');
|
||||
$.ajax({
|
||||
url : cb_admin_url + '/member/dormant/cleantodormant/',
|
||||
data : {execute : '1', csrf_test_name : cb_csrf_hash},
|
||||
async: true,
|
||||
method : 'post',
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
$('.textbox').html(data.message);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
113
views/admin/basic/member/dormant/dormantlist.php
Normal file
113
views/admin/basic/member/dormant/dormantlist.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">기본정보</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>">휴면계정일괄정리</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>">안내메일일괄발송</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>">안내메일내용</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>">안내메일발송내역</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>">휴면처리해야할회원</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<div class="alert alert-info">
|
||||
휴면중인 회원이란,<br />
|
||||
최종로그인 후 일정시간동안 한 번도 로그인하지 않아 별도의 저장소에 보관된 회원을 말합니다.<br />
|
||||
'자동정리기능' 을 사용하시는 경우에는 자동으로 이 곳에 회원이 저장되게 되며,<br />
|
||||
'자동정리기능' 을 사용하지 않는 경우에 휴면계정일괄정리시 이 곳으로 이동되어 보관됩니다.<br />
|
||||
이 곳에 보여지는 회원은 기본정보에서 설정한 것에 따라, <strong><?php echo element('period_text', $view); ?></strong> 동안 한 번도 로그인하지 않아 별도로 저장된 회원입니다.
|
||||
</div>
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-update btn-list-selected disabled" data-list-update-url = "<?php echo element('list_update_url', $view); ?>" >회원으로 복원</button>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-delete btn-list-selected disabled" data-list-delete-url = "<?php echo element('list_delete_url', $view); ?>" >선택한회원영구삭제</button>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><a href="<?php echo element('mem_id', element('sort', $view)); ?>">번호</a></th>
|
||||
<th><a href="<?php echo element('mem_userid', element('sort', $view)); ?>">아이디</a></th>
|
||||
<th><a href="<?php echo element('mem_username', element('sort', $view)); ?>">실명</a></th>
|
||||
<th><a href="<?php echo element('mem_nickname', element('sort', $view)); ?>">닉네임</a></th>
|
||||
<th><a href="<?php echo element('mem_email', element('sort', $view)); ?>">이메일</a></th>
|
||||
<th><a href="<?php echo element('mem_register_datetime', element('sort', $view)); ?>">가입일</a></th>
|
||||
<th><a href="<?php echo element('mem_lastlogin_datetime', element('sort', $view)); ?>">최근로그인</a></th>
|
||||
<th>별도저장보관일</th>
|
||||
<th><input type="checkbox" name="chkall" id="chkall" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_userid', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_username', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_nickname', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_email', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('mem_register_datetime', $result), 'full'); ?></td>
|
||||
<td>
|
||||
<?php echo display_datetime(element('mem_lastlogin_datetime', $result), 'full'); ?>
|
||||
(<?php echo element('daygap', $result); ?>일전)
|
||||
</td>
|
||||
<td><?php echo element('archived_dormant_datetime', element('meta', $result)); ?></td>
|
||||
<td><input type="checkbox" name="chk[]" class="list-chkbox" value="<?php echo element(element('primary_key', $view), $result); ?>" /></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="9" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
81
views/admin/basic/member/dormant/emailcontent.php
Normal file
81
views/admin/basic/member/dormant/emailcontent.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>" onclick="return check_form_changed();">기본정보</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>" onclick="return check_form_changed();">휴면계정일괄정리</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>" onclick="return check_form_changed();">안내메일일괄발송</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>" onclick="return check_form_changed();">안내메일내용</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>" onclick="return check_form_changed();">안내메일발송내역</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>" onclick="return check_form_changed();">휴면처리해야할회원</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>" onclick="return check_form_changed();">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>');
|
||||
echo show_alert_message(element('alert_message', $view), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite', 'id' => 'fadminwrite');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="is_submit" value="1" />
|
||||
<div class="alert alert-success">
|
||||
<p>휴면회원으로 전환되기 일정한 기간 전에 회원에게 보내는 안내메일 내용입니다</p>
|
||||
<hr />
|
||||
<p>치환가능변수 : <strong>{홈페이지명}</strong>, <strong>{회사명}</strong>, <strong>{홈페이지주소}</strong>, <strong>{회원아이디}</strong>, <strong>{회원닉네임}</strong>, <strong>{회원실명}</strong>, <strong>{회원이메일}</strong>, <strong>{메일수신여부}</strong>, <strong>{쪽지수신여부}</strong>, <strong>{문자수신여부}</strong>, <strong>{최종로그인시간}</strong>, <strong>{정리예정날짜}</strong>, <strong>{정리기준}</strong>, <strong>{정리방법}</strong></p>
|
||||
<p><strong>{메일수신여부}</strong>, <strong>{쪽지수신여부}</strong>, <strong>{문자수신여부}</strong> 는 <strong>동의</strong>, <strong>거부</strong> - 이 2개 중 하나로 치환됩니다</p>
|
||||
<p><strong>{최종로그인시간}</strong> - 예) 0000년 0월 00일 00시 00분</p>
|
||||
<p><strong>{정리예정날짜}</strong> - 예) 0000년 0월 00일</p>
|
||||
<p><strong>{정리기준}</strong> - 예) 1년</p>
|
||||
<p><strong>{정리방법}</strong> - 예) '삭제' or '별도의 저장소에 보관'</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
메일 내용<br />
|
||||
<button type="button" class="btn btn-xs btn-default reset_email_to_user">내용초기화하기</button>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<div class="form-group col-sm-12">
|
||||
<input type="text" class="form-control" name="send_email_dormant_notify_user_title" id="send_email_dormant_notify_user_title" value="<?php echo set_value('send_email_dormant_notify_user_title', element('send_email_dormant_notify_user_title', element('data', $view))); ?>" />
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<?php echo display_dhtml_editor('send_email_dormant_notify_user_content', set_value('send_email_dormant_notify_user_content', element('send_email_dormant_notify_user_content', element('data', $view))), $classname = 'form-control dhtmleditor', $is_dhtml_editor = true, $editor_type = "smarteditor"); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="submit" class="btn btn-success btn-sm">저장하기</button>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function() {
|
||||
$('#fadminwrite').validate({
|
||||
rules: {
|
||||
send_email_dormant_notify_user_title : {'required' : true },
|
||||
send_email_dormant_notify_user_content : {'required_smarteditor' : true }
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var form_original_data = $('#fadminwrite').serialize();
|
||||
function check_form_changed() {
|
||||
if ($('#fadminwrite').serialize() !== form_original_data) {
|
||||
if (confirm('저장하지 않은 정보가 있습니다. 저장하지 않은 상태로 이동하시겠습니까?')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
$(document).on('click', '.reset_email_to_user', function() {
|
||||
$('#send_email_dormant_notify_user_title').val('[{홈페이지명}] 휴면 계정 전환 예정 안내');
|
||||
var sHTML = '<table width="100%" cellpadding="0" cellspacing="0" style="border-left: 1px solid rgb(226,226,225);border-right: 1px solid rgb(226,226,225);background-color: rgb(255,255,255);border-top:10px solid #348fe2; border-bottom:5px solid #348fe2;border-collapse: collapse;"><tbody><tr><td style="font-size:12px;padding:20px 30px;font-family: Arial,sans-serif;color: rgb(0,0,0);font-size: 14px;line-height: 20px;"><span style="font-size:14px;font-weight:bold;color:rgb(0,0,0)">안녕하세요 {회원닉네임}님,</span><br />항상 믿고 이용해주시는 회원님께 깊은 감사를 드립니다.</td></tr><tr style="border-top:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;"><td style="padding:20px 30px;font-family: Arial,sans-serif;color: rgb(0,0,0);font-size: 14px;line-height: 20px;"><p>{정리기준} 이상 서비스를 이용하지 않은 계정 ‘정보통신망 이용 촉진 및 정보보호 등에 관한 법률 및 시행령 제16조에 따라 휴면 계정으로 전환되며, 해당 계정 정보는 별도 분리 보관될 예정입니다. </p><p>(법령 시행일 : 2015년 8월 18일)</P><p> </p><p><strong>1. 적용 대상 :</strong> {정리기준}간 로그인 기록이 없는 고객의 개인정보</p><p><strong>2. 적용 시점 :</strong> {정리예정날짜}</p><p><strong>3. 처리 방법 :</strong> {정리방법}</p><p> </p><p>{홈페이지명}에서는 앞으로도 회원님의 개인정보를 소중하게 관리하여 보다 더 안전하게 서비스를 이용하실 수 있도록 최선의 노력을 다하겠습니다. 많은 관심과 참여 부탁 드립니다. 감사합니다.</p></td></tr><tr><td style="padding:10px;font-family: Arial,sans-serif;color: rgb(0,0,0);font-size: 14px;line-height: 20px;text-align:center;">{홈페이지명}</td></tr></tbody></table>';
|
||||
oEditors.getById["send_email_dormant_notify_user_content"].exec("SET_CONTENTS", [sHTML]);
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
107
views/admin/basic/member/dormant/emailsendlist.php
Normal file
107
views/admin/basic/member/dormant/emailsendlist.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">기본정보</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>">휴면계정일괄정리</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>">안내메일일괄발송</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>">안내메일내용</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>">안내메일발송내역</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>">휴면처리해야할회원</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<div class="alert alert-info">
|
||||
오랫동안 로그인을 하지 않아 곧 휴면처리될 회원에게 안내메일을 발송한 내역을 이 곳에서 확인이 가능합니다 .<br />
|
||||
</div>
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><a href="<?php echo element('mem_id', element('sort', $view)); ?>">번호</a></th>
|
||||
<th><a href="<?php echo element('mem_userid', element('sort', $view)); ?>">아이디</a></th>
|
||||
<th><a href="<?php echo element('mem_username', element('sort', $view)); ?>">실명</a></th>
|
||||
<th><a href="<?php echo element('mem_nickname', element('sort', $view)); ?>">닉네임</a></th>
|
||||
<th><a href="<?php echo element('mem_email', element('sort', $view)); ?>">이메일</a></th>
|
||||
<th><a href="<?php echo element('mem_register_datetime', element('sort', $view)); ?>">가입일</a></th>
|
||||
<th><a href="<?php echo element('mem_lastlogin_datetime', element('sort', $view)); ?>">최근로그인</a></th>
|
||||
<th><a href="<?php echo element('mdn_dormant_datetime', element('sort', $view)); ?>">정리예정일</a></th>
|
||||
<th><a href="<?php echo element('mdn_dormant_notify_datetime', element('sort', $view)); ?>">안내메일발송일</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_userid', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_username', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_nickname', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_email', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('mem_register_datetime', $result), 'full'); ?></td>
|
||||
<td>
|
||||
<?php echo display_datetime(element('mem_lastlogin_datetime', $result), 'full'); ?>
|
||||
(<?php echo element('daygap', $result); ?>일전)
|
||||
</td>
|
||||
<td><?php echo display_datetime(element('mdn_dormant_datetime', $result), 'full'); ?></td>
|
||||
<td><?php echo display_datetime(element('mdn_dormant_notify_datetime', $result), 'full'); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="9" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
64
views/admin/basic/member/dormant/emailtowaiting.php
Normal file
64
views/admin/basic/member/dormant/emailtowaiting.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">기본정보</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>">휴면계정일괄정리</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>">안내메일일괄발송</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>">안내메일내용</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>">안내메일발송내역</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>">휴면처리해야할회원</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="textbox">
|
||||
<p>자동메일발송기능을 사용하시는 경우에는 이 페이지의 메일보내기 기능을 굳이 사용하실 필요가 없습니다.</strong></p>
|
||||
<p>많은 회원에게 한번에 메일을 보내는 것은 서버에 부하를 발생할 수 있고, 서버 설정에 따라 메일이 제대로 발송되지 않을 수 있습니다.</p>
|
||||
<p>따라서 가능하면 자동메일발송기능을 사용하시길 권장드립니다.</p>
|
||||
<p> </p>
|
||||
<p>메일 발송 대상 : 휴면회원으로 전환일(최종로그인한 날짜로부터 <?php echo element('period_text', $view)?>이 지난날)이 이미 지났거나, 전환일로부터 <?php echo $this->cbconfig->item('member_dormant_auto_email_days'); ?>일전에 있는 회원들 중 아직 메일발송이 되어있지 않은 회원
|
||||
<p>메일 발송대상에 있는 회원수 : <strong><?php echo number_format(element('count_unsent_email_member', $view)); ?></strong>명</p>
|
||||
<p>메일을 모두 발송하는데에 시간이 조금 오래 걸릴 수도 있습니다</p>
|
||||
<p>메일을 발송하시겠습니까</p>
|
||||
<p>대량 메일 발송은 서버 부하를 일으킬 수 있는 원인으로 인하여, 최대 100명의 회원에게만 발송됩니다. 발송대상이 100명보다 많은 경우에는 발송하기를 여러번 실행하시면 됩니다.</p>
|
||||
<div class="clean-info"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<div class="box-button btn-group">
|
||||
<button type="button" class="btn btn-success btn-sm execute_clean">메일발송하기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(document).on('click', '.execute_clean', function() {
|
||||
if (confirm('정말 메일발송을 시작하시겠습니까?')) {
|
||||
$('.clean-info').html('<div style="width:60px;height:60px;background: url(' + cb_url + '/assets/images/ajax-loader.gif) no-repeat 0 0;"></div>');
|
||||
$('.box-info').html('');
|
||||
$.ajax({
|
||||
url : cb_admin_url + '/member/dormant/emailtowaiting/',
|
||||
data : {execute : '1', csrf_test_name : cb_csrf_hash},
|
||||
async: true,
|
||||
method : 'post',
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
$('.textbox').html(data.message);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
117
views/admin/basic/member/dormant/index.php
Normal file
117
views/admin/basic/member/dormant/index.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir); ?>" onclick="return check_form_changed();">기본정보</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>" onclick="return check_form_changed();">휴면계정일괄정리</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>" onclick="return check_form_changed();">안내메일일괄발송</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>" onclick="return check_form_changed();">안내메일내용</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>" onclick="return check_form_changed();">안내메일발송내역</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>" onclick="return check_form_changed();">휴면처리해야할회원</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>" onclick="return check_form_changed();">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>');
|
||||
echo show_alert_message(element('alert_message', $view), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite', 'id' => 'fadminwrite');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="is_submit" value="1" />
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">휴면계정 전환 조건</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<select name="member_dormant_days" class="form-control">
|
||||
<?php foreach ($this->dormant_days_text as $key => $value) { ?>
|
||||
<option value="<?php echo $key; ?>" <?php echo set_select('member_dormant_days', $key, (element('member_dormant_days', element('data', $view)) === (string) $key ? true : false)); ?> ><?php echo $value;?>간 한번도 로그인하지 않은 회원</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<span class="help-inline">해당 기간 로그인하지 않는 회원은 휴면계정으로 전환됩니다</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">휴면계정 정리 방법</label>
|
||||
<div class="col-sm-10">
|
||||
<label class="radio-inline" for="member_dormant_method_delete" >
|
||||
<input type="radio" name="member_dormant_method" id="member_dormant_method_delete" value="delete" <?php echo set_radio('member_dormant_method', 'delete', (element('member_dormant_method', element('data', $view)) === 'delete' ? true : false)); ?> /> 회원정보를 삭제함
|
||||
</label>
|
||||
<label class="radio-inline" for="member_dormant_method_archive" >
|
||||
<input type="radio" name="member_dormant_method" id="member_dormant_method_archive" value="archive" <?php echo set_radio('member_dormant_method', 'archive', (element('member_dormant_method', element('data', $view)) !== 'delete' ? true : false)); ?> /> 별도의 저장소에 보관
|
||||
</label>
|
||||
<span class="help-inline">삭제하는 경우 해당 회원 정보를 절대 복구 불가능합니다. <a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">별도의 저장소</a>에 보관하는 경우 회원이 로그인시 자동으로 복원됩니다</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">자동정리기능사용</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="member_dormant_auto_clean" class="checkbox-inline">
|
||||
<input type="checkbox" name="member_dormant_auto_clean" id="member_dormant_auto_clean" value="1" <?php echo set_checkbox('member_dormant_auto_clean', '1', (element('member_dormant_auto_clean', element('data', $view)) ? true : false)); ?> /> 사용합니다
|
||||
</label>
|
||||
<span class="help-inline">휴면회원대상인 회원의 정보를 자동으로 정리합니다. 자동정리 기능을 사용하지 않으시는 경우 '휴면계정일괄정리' 메뉴에서 정리해주시면 됩니다.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">자동메일발송기능</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="member_dormant_auto_email" class="checkbox-inline">
|
||||
<input type="checkbox" name="member_dormant_auto_email" id="member_dormant_auto_email" value="1" <?php echo set_checkbox('member_dormant_auto_email', '1', (element('member_dormant_auto_email', element('data', $view)) ? true : false)); ?> /> 사용합니다
|
||||
</label>
|
||||
<span class="help-inline">휴면회원이 되기 일정 기간 전에 자동 메일을 발송할지 여부를 결정합니다.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">자동메일발송기간</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<select name="member_dormant_auto_email_days" class="form-control">
|
||||
<option value="7" <?php echo set_select('member_dormant_auto_email_days', '7', (element('member_dormant_auto_email_days', element('data', $view)) === '7' ? true : false)); ?> >정리일 7일전</option>
|
||||
<option value="15" <?php echo set_select('member_dormant_auto_email_days', '15', (element('member_dormant_auto_email_days', element('data', $view)) === '15' ? true : false)); ?> >정리일 15일전</option>
|
||||
<option value="30" <?php echo set_select('member_dormant_auto_email_days', '30', (element('member_dormant_auto_email_days', element('data', $view)) === '30' ? true : false)); ?> >정리일 30일전</option>
|
||||
<option value="45" <?php echo set_select('member_dormant_auto_email_days', '45', (element('member_dormant_auto_email_days', element('data', $view)) === '45' ? true : false)); ?> >정리일 45일전</option>
|
||||
<option value="60" <?php echo set_select('member_dormant_auto_email_days', '60', (element('member_dormant_auto_email_days', element('data', $view)) === '60' ? true : false)); ?> >정리일 60일전</option>
|
||||
<option value="90" <?php echo set_select('member_dormant_auto_email_days', '90', (element('member_dormant_auto_email_days', element('data', $view)) === '90' ? true : false)); ?> >정리일 90일전</option>
|
||||
</select>
|
||||
<span class="help-inline">휴면계정 대상으로 전환일로 부터 며칠 전에 자동메일을 발송할 것인지를 결정합니다.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">포인트몰수여부</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="member_dormant_reset_point" class="checkbox-inline">
|
||||
<input type="checkbox" name="member_dormant_reset_point" id="member_dormant_reset_point" value="1" <?php echo set_checkbox('member_dormant_reset_point', '1', (element('member_dormant_reset_point', element('data', $view)) ? true : false)); ?> /> 몰수합니다
|
||||
</label>
|
||||
<span class="help-block">
|
||||
휴면회원을 별도의 저장소에 보관하는 경우, 그 동안 쌓아온 포인트를 몰수할지 결정합니다. <br />해당 기능을 사용하지 않으면 휴면회원에서 복원시 기존에 사용하던 포인트를 계속 사용가능합니다.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="submit" class="btn btn-success btn-sm">저장하기</button>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function() {
|
||||
$('#fadminwrite').validate({
|
||||
rules: {
|
||||
member_dormant_days: {required :true},
|
||||
member_dormant_auto_email_days: {required :true}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var form_original_data = $('#fadminwrite').serialize();
|
||||
function check_form_changed() {
|
||||
if ($('#fadminwrite').serialize() !== form_original_data) {
|
||||
if (confirm('저장하지 않은 정보가 있습니다. 저장하지 않은 상태로 이동하시겠습니까?')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
124
views/admin/basic/member/dormant/waitinglist.php
Normal file
124
views/admin/basic/member/dormant/waitinglist.php
Normal file
@@ -0,0 +1,124 @@
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<ul class="nav nav-tabs">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">기본정보</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleantodormant'); ?>">휴면계정일괄정리</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailtowaiting'); ?>">안내메일일괄발송</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailcontent'); ?>">안내메일내용</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/emailsendlist'); ?>">안내메일발송내역</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/waitinglist'); ?>">휴면처리해야할회원</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/dormantlist'); ?>">휴면중인회원</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<div class="alert alert-info">
|
||||
휴면처리해야할 회원이란,<br />
|
||||
최종로그인 후 일정시간동안 한 번도 로그인하지 않는 회원을 말합니다.<br />
|
||||
'자동정리기능' 을 사용하시는 경우에는 휴먼처리해야할 회원에 목록이 쌓이지 않으며,<br />
|
||||
'자동정리기능' 을 사용하지 않는 경우에 이 곳에서 휴먼처리해야할 회원 목록을 확인하실 수 있습니다.<br />
|
||||
이 곳에 보여지는 회원은 기본정보에서 설정한 것에 따라, <strong><?php echo element('period_text', $view); ?></strong> 동안 한 번도 로그인하지 않은 회원입니다.
|
||||
</div>
|
||||
<?php if ($this->cbconfig->item('member_dormant_auto_clean')) { ?>
|
||||
<div class="alert alert-danger">
|
||||
회원님은 현재 '자동정리기능' 을 사용하고 계시므로, 휴먼처리해야할 회원 목록이 나타나지 않습니다.
|
||||
</div>
|
||||
<?php } else {?>
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-update btn-list-selected disabled" data-list-update-url = "<?php echo element('list_update_url', $view); ?>" >별도저장소로이동</button>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-delete btn-list-selected disabled" data-list-delete-url = "<?php echo element('list_delete_url', $view); ?>" >선택한회원영구삭제</button>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><a href="<?php echo element('mem_id', element('sort', $view)); ?>">번호</a></th>
|
||||
<th><a href="<?php echo element('mem_userid', element('sort', $view)); ?>">아이디</a></th>
|
||||
<th><a href="<?php echo element('mem_username', element('sort', $view)); ?>">실명</a></th>
|
||||
<th><a href="<?php echo element('mem_nickname', element('sort', $view)); ?>">닉네임</a></th>
|
||||
<th><a href="<?php echo element('mem_email', element('sort', $view)); ?>">이메일</a></th>
|
||||
<th><a href="<?php echo element('mem_register_datetime', element('sort', $view)); ?>">가입일</a></th>
|
||||
<th><a href="<?php echo element('mem_lastlogin_datetime', element('sort', $view)); ?>">최근로그인</a></th>
|
||||
<th>안내메일발송일</th>
|
||||
<th><input type="checkbox" name="chkall" id="chkall" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_userid', $result)); ?></td>
|
||||
<td>
|
||||
<span><?php echo html_escape(element('mem_username', $result)); ?></span>
|
||||
<?php echo element('mem_is_admin', $result) ? '<span class="label label-primary">최고관리자</span>' : ''; ?>
|
||||
</td>
|
||||
<td><?php echo element('display_name', $result); ?></td>
|
||||
<td><?php echo html_escape(element('mem_email', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('mem_register_datetime', $result), 'full'); ?></td>
|
||||
<td>
|
||||
<?php echo display_datetime(element('mem_lastlogin_datetime', $result), 'full'); ?>
|
||||
(<?php echo element('daygap', $result); ?>일전)
|
||||
</td>
|
||||
<td><?php echo element('mdn_dormant_notify_datetime', $result); ?></td>
|
||||
<td><input type="checkbox" name="chk[]" class="list-chkbox" value="<?php echo element(element('primary_key', $view), $result); ?>" /></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="9" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php if ( ! $this->cbconfig->item('member_dormant_auto_clean')) { ?>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<?php } ?>
|
||||
</div>
|
||||
64
views/admin/basic/member/loginlog/cleanlog.php
Normal file
64
views/admin/basic/member/loginlog/cleanlog.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<div class="box-table-header">
|
||||
<ul class="nav nav-pills">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">목록</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/graph'); ?>">로그인 성공 그래프</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/graph_fail'); ?>">로그인 실패 그래프</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/cleanlog'); ?>">오래된 로그삭제</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>');
|
||||
echo show_alert_message(element('alert_message', $view), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
?>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<?php
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite', 'id' => 'fadminwrite');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="number" class="form-control" name="day" value="<?php echo set_value('day', 180); ?>" /> 일 이상된 로그인로그를 모두 검색합니다.
|
||||
<button type="submit" class="btn btn-warning btn-sm">검색</button>
|
||||
<?php echo form_close(); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php
|
||||
if (element('msg', $view)) {
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite2', 'id' => 'fadminwrite2', 'onSubmit' => 'return deletecheck()');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="day" value="<?php echo element('day', $view); ?>" />
|
||||
<input type="hidden" name="criterion" value="<?php echo element('criterion', $view); ?>" />
|
||||
<input type="hidden" name="log_count" value="<?php echo element('log_count', $view); ?>" />
|
||||
<?php echo element('msg', $view); ?>
|
||||
<div class="box-button btn-group">
|
||||
<button type="submit" class="btn btn-success btn-sm">삭제하기</button>
|
||||
</div>
|
||||
<?php
|
||||
echo form_close();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function() {
|
||||
$('#fadminwrite').validate({
|
||||
rules: {
|
||||
day: {required:true, number:true, min:0}
|
||||
}
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
171
views/admin/basic/member/loginlog/graph.php
Normal file
171
views/admin/basic/member/loginlog/graph.php
Normal file
@@ -0,0 +1,171 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<div class="box-table-header">
|
||||
<ul class="nav nav-pills">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">목록</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/graph'); ?>">로그인 성공 그래프</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/graph_fail'); ?>">로그인 실패 그래프</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleanlog'); ?>">오래된 로그삭제</a></li>
|
||||
</ul>
|
||||
<form class="form-inline" name="flist" action="<?php echo current_url(); ?>" method="get" >
|
||||
<input type="hidden" name="datetype" value="<?php echo html_escape($this->input->get('datetype')); ?>" />
|
||||
<div class="box-table-button">
|
||||
<span class="mr10">기간 : <input type="text" class="form-control input-small datepicker " name="start_date" value="<?php echo element('start_date', $view); ?>" readonly="readonly" /> - <input type="text" class="form-control input-small datepicker" name="end_date" value="<?php echo element('end_date', $view); ?>" readonly="readonly" />
|
||||
</span>
|
||||
<div class="btn-group" role="group" aria-label="...">
|
||||
<button type="button" class="btn <?php echo ($this->input->get('datetype') !== 'y' && $this->input->get('datetype') !== 'm') ? 'btn-success' : 'btn-default'; ?> btn-sm" onclick="fdate_submit('d');">일별보기</button>
|
||||
<button type="button" class="btn <?php echo ($this->input->get('datetype') === 'm') ? 'btn-success' : 'btn-default'; ?> btn-sm" onclick="fdate_submit('m');">월별보기</button>
|
||||
<button type="button" class="btn <?php echo ($this->input->get('datetype') === 'y') ? 'btn-success' : 'btn-default'; ?> btn-sm" onclick="fdate_submit('y');">년별보기</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function fdate_submit(datetype)
|
||||
{
|
||||
var f = document.flist;
|
||||
f.datetype.value = datetype;
|
||||
f.submit();
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</div>
|
||||
<div id="chart_div"></div>
|
||||
<div class="table-responsive">
|
||||
<div class="pull-right form-group">
|
||||
<label for="withoutzero" class="checkbox-inline">
|
||||
<input type="checkbox" name="withoutzero" id="withoutzero" value="1" /> 회수가 0 인 데이터 제외
|
||||
</label>
|
||||
<label for="orderdesc" class="checkbox-inline">
|
||||
<input type="checkbox" name="orderdesc" id="orderdesc" value="1"/> 역순으로보기
|
||||
</label>
|
||||
</div>
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<colgroup>
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-6">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>기간</th>
|
||||
<th>회수</th>
|
||||
<th>비율</th>
|
||||
<th>그래프</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="graphlist">
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
foreach (element('list', $view) as $key => $result) {
|
||||
?>
|
||||
<tr class="<?php echo ( ! element('count', $result)) ? 'zerodata' : ''; ?>">
|
||||
<td><?php echo $key; ?></td>
|
||||
<td><?php echo element('count', $result, 0); ?></td>
|
||||
<td><?php echo element('s_rate', $result, 0); ?>%</td>
|
||||
<td>
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="<?php echo element('s_rate', $result, 0); ?>" aria-valuemin="0" aria-valuemax="<?php echo element('max_value', $view, 0); ?>" style="width: <?php echo element('bar', $result, 0); ?>%">
|
||||
<span class="sr-only"><?php echo element('s_rate', $result, 0); ?>%</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
?>
|
||||
<tfoot>
|
||||
<tr class="warning">
|
||||
<td>전체</td>
|
||||
<td><?php echo element('sum_count', $view, 0); ?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="button" class="btn btn-outline btn-success btn-sm" id="export_to_excel"><i class="fa fa-file-excel-o"></i> 엑셀 다운로드</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
// Load the Visualization API and the corechart package.
|
||||
google.charts.load('current', {'packages':['corechart']});
|
||||
|
||||
// Set a callback to run when the Google Visualization API is loaded.
|
||||
google.charts.setOnLoadCallback(drawChart);
|
||||
|
||||
// Callback that creates and populates a data table,
|
||||
// instantiates the pie chart, passes in the data and
|
||||
// draws it.
|
||||
function drawChart() {
|
||||
|
||||
var data = new google.visualization.DataTable();
|
||||
|
||||
data.addColumn('string', '기간');
|
||||
data.addColumn('number', '회수');
|
||||
data.addRows([
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
foreach (element('list', $view) as $key => $result) {
|
||||
?>
|
||||
['<?php echo $key; ?>',<?php echo element('count', $result, 0); ?>],
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
]);
|
||||
|
||||
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
|
||||
|
||||
chart.draw(data, {
|
||||
width: '100%', height: '400',
|
||||
legendTextStyle: {fontName: 'gulim', fontSize: '12'},
|
||||
tooltipTextStyle: {color: '#006679', fontName: 'dotum', fontSize: '12'},
|
||||
hAxis: {textStyle: {color: '#959595', fontName: 'dotum', fontSize: '12'}},
|
||||
vAxis: {textStyle: {color: '#959595', fontName: 'dotum', fontSize: '12'}, gridlineColor: '#e1e1e1', baselineColor: '#e1e1e1', textPosition: 'out'},
|
||||
lineWidth: 3,
|
||||
pointSize: 5
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('change', '#withoutzero', function(){
|
||||
if (this.checked) {
|
||||
$('.zerodata').hide();
|
||||
} else {
|
||||
$('.zerodata').show();
|
||||
}
|
||||
})
|
||||
$(document).on('change', '#orderdesc', function(){
|
||||
var $body = $('tbody.graphlist');
|
||||
var list = $body.children('tr');
|
||||
$body.html(list.get().reverse());
|
||||
})
|
||||
$(document).on('click', '#export_to_excel', function(){
|
||||
exporturl = '<?php echo admin_url($this->pagedir . '/graph/excel' . '?' . $this->input->server('QUERY_STRING', null, '')); ?>';
|
||||
if ($('#withoutzero:checked').length)
|
||||
{
|
||||
exporturl += '&withoutzero=1';
|
||||
}
|
||||
if ($('#orderdesc:checked').length)
|
||||
{
|
||||
exporturl += '&orderby=desc';
|
||||
}
|
||||
document.location.href = exporturl;
|
||||
})
|
||||
</script>
|
||||
35
views/admin/basic/member/loginlog/graph_excel.php
Normal file
35
views/admin/basic/member/loginlog/graph_excel.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo config_item('charset');?>" />
|
||||
<style type="text/css">
|
||||
th {font-weight:bold;padding:5px; min-width:120px; width:120px; _width:120px; text-align:center; line-height:18px; font-size:12px; color:#959595; font-family:dotum,돋움; border-right:1px solid #e4e4e4;}
|
||||
td {text-align:center; line-height:40px; font-size:12px; color:#474747; font-family:gulim,굴림; border-right:1px solid #e4e4e4;}
|
||||
</style>
|
||||
<table width="100%" border="1" bordercolor="#E4E4E4" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<th height="40">기간</th>
|
||||
<th>회수</th>
|
||||
<th>비율</th>
|
||||
</tr>
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
foreach (element('list', $view) as $key => $result) {
|
||||
if ($this->input->get('withoutzero') && ! element('count', $result)) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td height="40"><?php echo $key; ?></td>
|
||||
<td><?php echo element('count', $result, 0); ?></td>
|
||||
<td><?php echo element('s_rate', $result, 0); ?>%</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td height="40" bgcolor="#DEDEDE">전체</td>
|
||||
<td bgcolor="#DEDEDE"><?php echo element('sum_count', $view, 0); ?></td>
|
||||
<td bgcolor="#DEDEDE"></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
171
views/admin/basic/member/loginlog/graph_fail.php
Normal file
171
views/admin/basic/member/loginlog/graph_fail.php
Normal file
@@ -0,0 +1,171 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<div class="box-table-header">
|
||||
<ul class="nav nav-pills">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">목록</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/graph'); ?>">로그인 성공 그래프</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/graph_fail'); ?>">로그인 실패 그래프</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleanlog'); ?>">오래된 로그삭제</a></li>
|
||||
</ul>
|
||||
<form class="form-inline" name="flist" action="<?php echo current_url(); ?>" method="get" >
|
||||
<input type="hidden" name="datetype" value="<?php echo html_escape($this->input->get('datetype')); ?>" />
|
||||
<div class="box-table-button">
|
||||
<span class="mr10">기간 : <input type="text" class="form-control input-small datepicker " name="start_date" value="<?php echo element('start_date', $view); ?>" readonly="readonly" /> - <input type="text" class="form-control input-small datepicker" name="end_date" value="<?php echo element('end_date', $view); ?>" readonly="readonly" />
|
||||
</span>
|
||||
<div class="btn-group" role="group" aria-label="...">
|
||||
<button type="button" class="btn <?php echo ($this->input->get('datetype') !== 'y' && $this->input->get('datetype') !== 'm') ? 'btn-success' : 'btn-default'; ?> btn-sm" onclick="fdate_submit('d');">일별보기</button>
|
||||
<button type="button" class="btn <?php echo ($this->input->get('datetype') === 'm') ? 'btn-success' : 'btn-default'; ?> btn-sm" onclick="fdate_submit('m');">월별보기</button>
|
||||
<button type="button" class="btn <?php echo ($this->input->get('datetype') === 'y') ? 'btn-success' : 'btn-default'; ?> btn-sm" onclick="fdate_submit('y');">년별보기</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function fdate_submit(datetype)
|
||||
{
|
||||
var f = document.flist;
|
||||
f.datetype.value = datetype;
|
||||
f.submit();
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</div>
|
||||
<div id="chart_div"></div>
|
||||
<div class="table-responsive">
|
||||
<div class="pull-right form-group">
|
||||
<label for="withoutzero" class="checkbox-inline">
|
||||
<input type="checkbox" name="withoutzero" id="withoutzero" value="1" /> 회수가 0 인 데이터 제외
|
||||
</label>
|
||||
<label for="orderdesc" class="checkbox-inline">
|
||||
<input type="checkbox" name="orderdesc" id="orderdesc" value="1"/> 역순으로보기
|
||||
</label>
|
||||
</div>
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<colgroup>
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-6">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>기간</th>
|
||||
<th>회수</th>
|
||||
<th>비율</th>
|
||||
<th>그래프</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="graphlist">
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
foreach (element('list', $view) as $key => $result) {
|
||||
?>
|
||||
<tr class="<?php echo ( ! element('count', $result)) ? 'zerodata' : ''; ?>">
|
||||
<td><?php echo $key; ?></td>
|
||||
<td><?php echo element('count', $result, 0); ?></td>
|
||||
<td><?php echo element('s_rate', $result, 0); ?>%</td>
|
||||
<td>
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-warning progress-bar-striped" role="progressbar" aria-valuenow="<?php echo element('s_rate', $result, 0); ?>" aria-valuemin="0" aria-valuemax="<?php echo element('max_value', $view, 0); ?>" style="width: <?php echo element('bar', $result, 0); ?>%">
|
||||
<span class="sr-only"><?php echo element('s_rate', $result, 0); ?>%</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
?>
|
||||
<tfoot>
|
||||
<tr class="warning">
|
||||
<td>전체</td>
|
||||
<td><?php echo element('sum_count', $view, 0); ?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="button" class="btn btn-outline btn-success btn-sm" id="export_to_excel"><i class="fa fa-file-excel-o"></i> 엑셀 다운로드</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
// Load the Visualization API and the corechart package.
|
||||
google.charts.load('current', {'packages':['corechart']});
|
||||
|
||||
// Set a callback to run when the Google Visualization API is loaded.
|
||||
google.charts.setOnLoadCallback(drawChart);
|
||||
|
||||
// Callback that creates and populates a data table,
|
||||
// instantiates the pie chart, passes in the data and
|
||||
// draws it.
|
||||
function drawChart() {
|
||||
|
||||
var data = new google.visualization.DataTable();
|
||||
|
||||
data.addColumn('string', '기간');
|
||||
data.addColumn('number', '회수');
|
||||
data.addRows([
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
foreach (element('list', $view) as $key => $result) {
|
||||
?>
|
||||
['<?php echo $key; ?>',<?php echo element('count', $result, 0); ?>],
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
]);
|
||||
|
||||
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
|
||||
|
||||
chart.draw(data, {
|
||||
width: '100%', height: '400',
|
||||
legendTextStyle: {fontName: 'gulim', fontSize: '12'},
|
||||
tooltipTextStyle: {color: '#006679', fontName: 'dotum', fontSize: '12'},
|
||||
hAxis: {textStyle: {color: '#959595', fontName: 'dotum', fontSize: '12'}},
|
||||
vAxis: {textStyle: {color: '#959595', fontName: 'dotum', fontSize: '12'}, gridlineColor: '#e1e1e1', baselineColor: '#e1e1e1', textPosition: 'out'},
|
||||
lineWidth: 3,
|
||||
pointSize: 5
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('change', '#withoutzero', function(){
|
||||
if (this.checked) {
|
||||
$('.zerodata').hide();
|
||||
} else {
|
||||
$('.zerodata').show();
|
||||
}
|
||||
})
|
||||
$(document).on('change', '#orderdesc', function(){
|
||||
var $body = $('tbody.graphlist');
|
||||
var list = $body.children('tr');
|
||||
$body.html(list.get().reverse());
|
||||
})
|
||||
$(document).on('click', '#export_to_excel', function(){
|
||||
exporturl = '<?php echo admin_url($this->pagedir . '/graph_fail/excel' . '?' . $this->input->server('QUERY_STRING', null, '')); ?>';
|
||||
if ($('#withoutzero:checked').length)
|
||||
{
|
||||
exporturl += '&withoutzero=1';
|
||||
}
|
||||
if ($('#orderdesc:checked').length)
|
||||
{
|
||||
exporturl += '&orderby=desc';
|
||||
}
|
||||
document.location.href = exporturl;
|
||||
})
|
||||
</script>
|
||||
35
views/admin/basic/member/loginlog/graph_fail_excel.php
Normal file
35
views/admin/basic/member/loginlog/graph_fail_excel.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo config_item('charset');?>" />
|
||||
<style type="text/css">
|
||||
th {font-weight:bold;padding:5px; min-width:120px; width:120px; _width:120px; text-align:center; line-height:18px; font-size:12px; color:#959595; font-family:dotum,돋움; border-right:1px solid #e4e4e4;}
|
||||
td {text-align:center; line-height:40px; font-size:12px; color:#474747; font-family:gulim,굴림; border-right:1px solid #e4e4e4;}
|
||||
</style>
|
||||
<table width="100%" border="1" bordercolor="#E4E4E4" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<th height="40">기간</th>
|
||||
<th>회수</th>
|
||||
<th>비율</th>
|
||||
</tr>
|
||||
<?php
|
||||
if (element('list', $view)) {
|
||||
foreach (element('list', $view) as $key => $result) {
|
||||
if ($this->input->get('withoutzero') && ! element('count', $result)) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td height="40"><?php echo $key; ?></td>
|
||||
<td><?php echo element('count', $result, 0); ?></td>
|
||||
<td><?php echo element('s_rate', $result, 0); ?>%</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td height="40" bgcolor="#DEDEDE">전체</td>
|
||||
<td bgcolor="#DEDEDE"><?php echo element('sum_count', $view, 0); ?></td>
|
||||
<td bgcolor="#DEDEDE"></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
101
views/admin/basic/member/loginlog/index.php
Normal file
101
views/admin/basic/member/loginlog/index.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<ul class="nav nav-pills">
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir); ?>">목록</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/graph'); ?>">로그인 성공 그래프</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/graph_fail'); ?>">로그인 실패 그래프</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleanlog'); ?>">오래된 로그삭제</a></li>
|
||||
</ul>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-delete btn-list-selected disabled" data-list-delete-url = "<?php echo element('list_delete_url', $view); ?>" >선택삭제</button>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>회원아이디</th>
|
||||
<th>회원명</th>
|
||||
<th>로그인시입력한아이디</th>
|
||||
<th>로그인여부</th>
|
||||
<th>이유</th>
|
||||
<th>IP</th>
|
||||
<th>OS</th>
|
||||
<th>Browser</th>
|
||||
<th>날짜</th>
|
||||
<th><input type="checkbox" name="chkall" id="chkall" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><a href="?sfield=member_login_log.mem_id&skeyword=<?php echo element('mem_id', $result); ?>"><?php echo html_escape(element('mem_userid', $result)); ?></a></td>
|
||||
<td><?php echo element('display_name', $result); ?></td>
|
||||
<td><a href="?sfield=mll_userid&skeyword=<?php echo html_escape(element('mll_userid', $result)); ?>"><?php echo html_escape(element('mll_userid', $result)); ?></a></td>
|
||||
<td><?php echo element('mll_success', $result) === '1' ? "<span class=\"label label-success\">Success</span>":"<span class=\"label label-danger\">Fail</span>"; ?></td>
|
||||
<td><?php echo element('mll_reason', $result); ?></td>
|
||||
<td><a href="?sfield=mll_ip&skeyword=<?php echo display_admin_ip(element('mll_ip', $result)); ?>"><?php echo display_admin_ip(element('mll_ip', $result)); ?></a></td>
|
||||
<td><?php echo element('os', $result); ?></td>
|
||||
<td><?php echo element('browsername', $result); ?> <?php echo element('browserversion', $result); ?> <?php echo element('engine', $result); ?></td>
|
||||
<td><?php echo display_datetime(element('mll_datetime', $result), 'full'); ?></td>
|
||||
<td><input type="checkbox" name="chk[]" class="list-chkbox" value="<?php echo element(element('primary_key', $view), $result); ?>" /></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="11" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
80
views/admin/basic/member/memberfollow/index.php
Normal file
80
views/admin/basic/member/memberfollow/index.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>누가</th>
|
||||
<th>누구를</th>
|
||||
<th>언제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><?php echo element('display_name', $result); ?> <?php if (element('mem_userid', element('member', $result))) { ?> ( <a href="?sfield=mem_id&skeyword=<?php echo element('mem_id', element('member', $result)); ?>"><?php echo element('mem_userid', element('member', $result)); ?></a> ) <?php } ?></td>
|
||||
<td><?php echo element('target_display_name', $result); ?> <?php if (element('mem_userid', element('target_member', $result))) { ?> ( <a href="?sfield=target_mem_id&skeyword=<?php echo element('mem_id', element('target_member', $result)); ?>"><?php echo element('mem_userid', element('target_member', $result)); ?></a> ) <?php } ?></td>
|
||||
<td><?php echo display_datetime(element('fol_datetime', $result), 'full'); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="4" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
64
views/admin/basic/member/membergroup/index.php
Normal file
64
views/admin/basic/member/membergroup/index.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>');
|
||||
echo show_alert_message(element('alert_message', $view), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="s" value="1" />
|
||||
<div class="box-table-header">
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="submit" class="btn btn-outline btn-danger btn-sm">저장하기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"><?php echo element('total_rows', element('data', $view), 0); ?>개의 그룹이 존재합니다</div>
|
||||
<div class="list-group">
|
||||
<div class="form-group list-group-item">
|
||||
<div class="col-sm-1">순서변경</div>
|
||||
<div class="col-sm-3">그룹명</div>
|
||||
<div class="col-sm-4">설명</div>
|
||||
<div class="col-sm-1">기본그룹</div>
|
||||
<div class="col-sm-1">회원수</div>
|
||||
<div class="col-sm-2"><button type="button" class="btn btn-outline btn-primary btn-xs btn-add-rows">추가</button></div>
|
||||
</div>
|
||||
<div id="sortable">
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<div class="form-group list-group-item">
|
||||
<div class="col-sm-1"><div class="fa fa-arrows" style="cursor:pointer;"></div><input type="hidden" name="mgr_id[<?php echo element('mgr_id', $result); ?>]" value="<?php echo element('mgr_id', $result); ?>" /></div>
|
||||
<div class="col-sm-3"><input type="text" class="form-control" name="mgr_title[<?php echo element('mgr_id', $result); ?>]" value="<?php echo html_escape(element('mgr_title', $result)); ?>"/></div>
|
||||
<div class="col-sm-4"><input type="text" class="form-control" name="mgr_description[<?php echo element('mgr_id', $result); ?>]" value="<?php echo html_escape(element('mgr_description', $result)); ?>" /></div>
|
||||
<div class="col-sm-1"><input type="checkbox" name="mgr_is_default[<?php echo element('mgr_id', $result); ?>]" value="1" <?php echo element('mgr_is_default', $result) ? ' checked="checked" ' : ''; ?> /></div>
|
||||
<div class="col-sm-1"><?php echo element('member_count', $result); ?></div>
|
||||
<div class="col-sm-2"><button type="button" class="btn btn-outline btn-default btn-xs btn-delete-row" >삭제</button></div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">기본그룹에 체크하시면, 회원가입시 해당 그룹에 자동으로 추가됩니다. 그룹삭제시, 복구가 불가하므로 주의하여 주시기 바랍니다.</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(document).on('click', '.btn-add-rows', function() {
|
||||
$('#sortable').append(' <div class="form-group list-group-item"><div class="col-sm-1"><div class="fa fa-arrows" style="cursor:pointer;"></div><input type="hidden" name="mgr_id[]" /></div><div class="col-sm-3"><input type="text" class="form-control" name="mgr_title[]"/></div><div class="col-sm-4"><input type="text" class="form-control" name="mgr_description[]"/></div><div class="col-sm-1"><input type="checkbox" name="mgr_is_default[]" value="1" /></div><div class="col-sm-1"></div><div class="col-sm-2"><button type="button" class="btn btn-outline btn-default btn-xs btn-delete-row" >삭제</button></div></div>');
|
||||
});
|
||||
$(document).on('click', '.btn-delete-row', function() {
|
||||
$(this).parents('div.list-group-item').remove();
|
||||
});
|
||||
$(function () {
|
||||
$('#sortable').sortable({
|
||||
handle:'.fa-arrows'
|
||||
});
|
||||
})
|
||||
//]]>
|
||||
</script>
|
||||
103
views/admin/basic/member/memberlevelhistory/index.php
Normal file
103
views/admin/basic/member/memberlevelhistory/index.php
Normal file
@@ -0,0 +1,103 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
이전레벨
|
||||
<select name="mlh_from" class="form-control" onChange="location.href='<?php echo current_url(); ?>?mlh_to=<?php echo $this->input->get('mlh_to')?>&mlh_from=' + this.value;">
|
||||
<option value="">전체레벨</option>
|
||||
<?php for ($i = 0; $i <= $this->cbconfig->item('max_level'); $i++) { ?>
|
||||
<option value="<?php echo $i; ?>" <?php echo set_select('mlh_from', $i, ($this->input->get('mlh_from') === (string) $i ? true : false)); ?>>레벨 <?php echo $i; ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
|
||||
이후레벨
|
||||
<select name="mlh_to" class="form-control" onChange="location.href='<?php echo current_url(); ?>?mlh_from=<?php echo $this->input->get('mlh_from')?>&mlh_to=' + this.value;">
|
||||
<option value="">전체레벨</option>
|
||||
<?php for ($i = 0; $i <= $this->cbconfig->item('max_level'); $i++) { ?>
|
||||
<option value="<?php echo $i; ?>" <?php echo set_select('mlh_to', $i, ($this->input->get('mlh_to') === (string) $i ? true : false)); ?>>레벨 <?php echo $i; ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>회원아이디</th>
|
||||
<th>회원명</th>
|
||||
<th>이전레벨</th>
|
||||
<th>이후레벨</th>
|
||||
<th>변경일</th>
|
||||
<th>변경이유</th>
|
||||
<th>변경아이피</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><a href="?sfield=member_level_history.mem_id&skeyword=<?php echo element('mem_id', $result); ?>"><?php echo html_escape(element('mem_userid', $result)); ?></a></td>
|
||||
<td><?php echo element('display_name', $result); ?></td>
|
||||
<td class="text-right"><?php echo number_format(element('mlh_from', $result)); ?></td>
|
||||
<td class="text-right"><?php echo number_format(element('mlh_to', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('mlh_datetime', $result), 'full'); ?></td>
|
||||
<td><?php echo html_escape(element('mlh_reason', $result)); ?></td>
|
||||
<td><a href="?sfield=mlh_ip&skeyword=<?php echo display_admin_ip(element('mlh_ip', $result)); ?>"><?php echo display_admin_ip(element('mlh_ip', $result)); ?></a></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="8" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
63
views/admin/basic/member/members/excel.php
Normal file
63
views/admin/basic/member/members/excel.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo config_item('charset');?>" />
|
||||
<style type="text/css">
|
||||
th {font-weight:bold;padding:5px; min-width:120px; width:120px; _width:120px; text-align:center; line-height:18px; font-size:12px; color:#959595; font-family:dotum,돋움; border-right:1px solid #e4e4e4;}
|
||||
td {text-align:center; line-height:40px; font-size:12px; color:#474747; font-family:gulim,굴림; border-right:1px solid #e4e4e4;}
|
||||
</style>
|
||||
<table width="100%" border="1" bordercolor="#E4E4E4" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<th>아이디</th>
|
||||
<th>실명</th>
|
||||
<th>닉네임</th>
|
||||
<th>이메일</th>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin')) { ?>
|
||||
<th>소셜연동</th>
|
||||
<?php } ?>
|
||||
<th>포인트</th>
|
||||
<th>가입일</th>
|
||||
<th>최근로그인</th>
|
||||
<th>회원그룹</th>
|
||||
<th>회원레벨</th>
|
||||
<th>메일인증/공개/메일/쪽지/문자</th>
|
||||
<th>승인</th>
|
||||
</tr>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td height="30"><?php echo html_escape(element('mem_userid', $result)); ?></td>
|
||||
<td>
|
||||
<span><?php echo html_escape(element('mem_username', $result)); ?></span>
|
||||
<?php echo element('mem_is_admin', $result) ? '(최고관리자)' : ''; ?>
|
||||
<?php echo element('mem_denied', $result) ? '(차단회원)' : ''; ?>
|
||||
</td>
|
||||
<td><?php echo html_escape(element('mem_nickname', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_email', $result)); ?></td>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin')) { ?>
|
||||
<td>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_facebook') && element('facebook_id', element('social', $result))) { ?>페이스북 <?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_twitter') && element('twitter_id', element('social', $result))) { ?>트위터 <?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_google') && element('google_id', element('social', $result))) { ?>구글 <?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_naver') && element('naver_id', element('social', $result))) { ?>네이버 <?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_kakao') && element('kakao_id', element('social', $result))) { ?>카카오 <?php } ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td><?php echo number_format(element('mem_point', $result)); ?></td>
|
||||
<td><?php echo element('mem_register_datetime', $result); ?></td>
|
||||
<td><?php echo element('mem_lastlogin_datetime', $result); ?></td>
|
||||
<td><?php echo element('member_group', $result); ?></td>
|
||||
<td><?php echo element('mem_level', $result); ?></td>
|
||||
<td>
|
||||
<?php echo element('mem_email_cert', $result) ? 'O' : 'X';; ?>
|
||||
<?php echo element('mem_open_profile', $result) ? 'O' : 'X';; ?>
|
||||
<?php echo element('mem_receive_email', $result) ? 'O' : 'X';; ?>
|
||||
<?php echo element('mem_use_note', $result) ? 'O' : 'X';; ?>
|
||||
<?php echo element('mem_receive_sms', $result) ? 'O' : 'X';; ?>
|
||||
</td>
|
||||
<td><?php echo element('mem_denied', $result) ? '차단' : '승인'; ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
166
views/admin/basic/member/members/index.php
Normal file
166
views/admin/basic/member/members/index.php
Normal file
@@ -0,0 +1,166 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<div class="btn-group btn-group-sm" role="group">
|
||||
<a href="?" class="btn btn-sm <?php echo ( ! $this->input->get('mem_is_admin') && ! $this->input->get('mem_denied')) ? 'btn-success' : 'btn-default'; ?>">전체회원</a>
|
||||
<a href="?mem_is_admin=1" class="btn btn-sm <?php echo ($this->input->get('mem_is_admin')) ? 'btn-success' : 'btn-default'; ?>">최고관리자</a>
|
||||
<a href="?mem_denied=1" class="btn btn-sm <?php echo ($this->input->get('mem_denied')) ? 'btn-success' : 'btn-default'; ?>">차단회원</a>
|
||||
</div>
|
||||
<div class="btn-group btn-group-sm" role="group">
|
||||
<a href="?" class="btn btn-sm <?php echo ( ! $this->input->get('mgr_id')) ? 'btn-success' : 'btn-default'; ?>">전체그룹</a>
|
||||
<?php
|
||||
foreach (element('all_group', $view) as $gkey => $gval) {
|
||||
?>
|
||||
<a href="?mgr_id=<?php echo element('mgr_id', $gval); ?>" class="btn btn-sm <?php echo (element('mgr_id', $gval) === $this->input->get('mgr_id')) ? 'btn-success' : 'btn-default'; ?>"><?php echo element('mgr_title', $gval); ?></a>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="button" class="btn btn-outline btn-success btn-sm" id="export_to_excel"><i class="fa fa-file-excel-o"></i> 엑셀 다운로드</button>
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-delete btn-list-selected disabled" data-list-delete-url = "<?php echo element('list_delete_url', $view); ?>" >선택삭제</button>
|
||||
<a href="<?php echo element('write_url', $view); ?>" class="btn btn-outline btn-danger btn-sm">회원추가</a>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><a href="<?php echo element('mem_id', element('sort', $view)); ?>">번호</a></th>
|
||||
<th><a href="<?php echo element('mem_userid', element('sort', $view)); ?>">아이디</a></th>
|
||||
<th><a href="<?php echo element('mem_username', element('sort', $view)); ?>">실명</a></th>
|
||||
<th><a href="<?php echo element('mem_nickname', element('sort', $view)); ?>">닉네임</a></th>
|
||||
<th><a href="<?php echo element('mem_email', element('sort', $view)); ?>">이메일</a></th>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin')) { ?>
|
||||
<th>소셜연동</th>
|
||||
<?php } ?>
|
||||
<th><a href="<?php echo element('mem_point', element('sort', $view)); ?>">포인트</a></th>
|
||||
<th><a href="<?php echo element('mem_register_datetime', element('sort', $view)); ?>">가입일</a></th>
|
||||
<th><a href="<?php echo element('mem_lastlogin_datetime', element('sort', $view)); ?>">최근로그인</a></th>
|
||||
<th>회원그룹</th>
|
||||
<th><a href="<?php echo element('mem_level', element('sort', $view)); ?>">회원레벨</a></th>
|
||||
<th>메일인증/공개/메일/쪽지/문자</th>
|
||||
<th>승인</th>
|
||||
<th>수정</th>
|
||||
<th><input type="checkbox" name="chkall" id="chkall" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><?php echo html_escape(element('mem_userid', $result)); ?></td>
|
||||
<td>
|
||||
<span><?php echo html_escape(element('mem_username', $result)); ?></span>
|
||||
<?php echo element('mem_is_admin', $result) ? '<span class="label label-primary">최고관리자</span>' : ''; ?>
|
||||
<?php echo element('mem_denied', $result) ? '<span class="label label-danger">차단</span>' : ''; ?>
|
||||
</td>
|
||||
<td><?php echo element('display_name', $result); ?></td>
|
||||
<td><?php echo html_escape(element('mem_email', $result)); ?></td>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin')) { ?>
|
||||
<td>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_facebook') && element('facebook_id', element('social', $result))) { ?>
|
||||
<a href="javascript:;" onClick="social_open('facebook', '<?php echo element('mem_id', $result); ?>');"><img src="<?php echo base_url('assets/images/social_facebook.png'); ?>" width="15" height="15" alt="페이스북 로그인" title="페이스북 로그인" /></a>
|
||||
<?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_twitter') && element('twitter_id', element('social', $result))) { ?>
|
||||
<a href="javascript:;" onClick="social_open('twitter', '<?php echo element('mem_id', $result); ?>');"><img src="<?php echo base_url('assets/images/social_twitter.png'); ?>" width="15" height="15" alt="트위터 로그인" title="트위터 로그인" /></a>
|
||||
<?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_google') && element('google_id', element('social', $result))) { ?>
|
||||
<a href="javascript:;" onClick="social_open('google', '<?php echo element('mem_id', $result); ?>');"><img src="<?php echo base_url('assets/images/social_google.png'); ?>" width="15" height="15" alt="구글 로그인" title="구글 로그인" /></a>
|
||||
<?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_naver') && element('naver_id', element('social', $result))) { ?>
|
||||
<a href="javascript:;" onClick="social_open('naver', '<?php echo element('mem_id', $result); ?>');"><img src="<?php echo base_url('assets/images/social_naver.png'); ?>" width="15" height="15" alt="네이버 로그인" title="네이버 로그인" /></a>
|
||||
<?php } ?>
|
||||
<?php if ($this->cbconfig->item('use_sociallogin_kakao') && element('kakao_id', element('social', $result))) { ?>
|
||||
<a href="javascript:;" onClick="social_open('kakao', '<?php echo element('mem_id', $result); ?>');"><img src="<?php echo base_url('assets/images/social_kakao.png'); ?>" width="15" height="15" alt="카카오 로그인" title="카카오 로그인" /></a>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td class="text-right"><?php echo number_format(element('mem_point', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('mem_register_datetime', $result), 'full'); ?></td>
|
||||
<td><?php echo display_datetime(element('mem_lastlogin_datetime', $result), 'full'); ?></td>
|
||||
<td><?php echo element('member_group', $result); ?></td>
|
||||
<td class="text-right"><?php echo element('mem_level', $result); ?></td>
|
||||
<td>
|
||||
<?php echo element('mem_email_cert', $result) ? '<i class="fa fa-check-square-o"></i>' : '<i class="fa fa-square-o"></i>';; ?>
|
||||
<?php echo element('mem_open_profile', $result) ? '<i class="fa fa-check-square-o"></i>' : '<i class="fa fa-square-o"></i>';; ?>
|
||||
<?php echo element('mem_receive_email', $result) ? '<i class="fa fa-check-square-o"></i>' : '<i class="fa fa-square-o"></i>';; ?>
|
||||
<?php echo element('mem_use_note', $result) ? '<i class="fa fa-check-square-o"></i>' : '<i class="fa fa-square-o"></i>';; ?>
|
||||
<?php echo element('mem_receive_sms', $result) ? '<i class="fa fa-check-square-o"></i>' : '<i class="fa fa-square-o"></i>';; ?>
|
||||
</td>
|
||||
<td><?php echo element('mem_denied', $result) ? '<span class="label label-danger">차단</span>' : '승인'; ?></td>
|
||||
<td><a href="<?php echo admin_url($this->pagedir); ?>/write/<?php echo element(element('primary_key', $view), $result); ?>?<?php echo $this->input->server('QUERY_STRING', null, ''); ?>" class="btn btn-outline btn-default btn-xs">수정</a></td>
|
||||
<td><input type="checkbox" name="chk[]" class="list-chkbox" value="<?php echo element(element('primary_key', $view), $result); ?>" /></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="17" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function social_open(stype, mem_id) {
|
||||
var pop_url = cb_admin_url + '/member/members/socialinfo/' + stype + '/' + mem_id;
|
||||
window.open(pop_url, 'win_socialinfo', 'left=100,top=100,width=730,height=500,scrollbars=1');
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).on('click', '#export_to_excel', function(){
|
||||
exporturl = '<?php echo admin_url($this->pagedir . '/excel' . '?' . $this->input->server('QUERY_STRING', null, '')); ?>';
|
||||
document.location.href = exporturl;
|
||||
})
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
32
views/admin/basic/member/members/socialinfo.php
Normal file
32
views/admin/basic/member/members/socialinfo.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"><?php echo html_escape(element('socialname', $view)); ?> 연동 정보</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="box-table">
|
||||
<div class="collapse in">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<colgroup>
|
||||
<col class="col-md-2">
|
||||
<col class="col-md-10">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('data', $view)) {
|
||||
foreach (element('data', $view) as $value) {
|
||||
?>
|
||||
<tr>
|
||||
<th><?php echo $value['text']; ?> ( <?php echo $value['key']; ?> )</th>
|
||||
<td><div class="textbox"><?php echo $value['value'];?></div></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-right" style="margin:20px;"><button class="btn btn-default" onClick="window.close();">닫기</button></div>
|
||||
</div>
|
||||
253
views/admin/basic/member/members/write.php
Normal file
253
views/admin/basic/member/members/write.php
Normal file
@@ -0,0 +1,253 @@
|
||||
<script type="text/javascript" src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>');
|
||||
echo show_alert_message(element('message', $view), '<div class="alert alert-warning">', '</div>');
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite', 'id' => 'fadminwrite');
|
||||
echo form_open_multipart(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="<?php echo element('primary_key', $view); ?>" value="<?php echo element(element('primary_key', $view), element('data', $view)); ?>" />
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">회원아이디</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<input type="text" class="form-control" name="mem_userid" value="<?php echo set_value('mem_userid', element('mem_userid', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">회원이메일</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="email" class="form-control" name="mem_email" value="<?php echo set_value('mem_email', element('mem_email', element('data', $view))); ?>" />
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<label for="mem_email_cert" class="checkbox-inline">
|
||||
<input type="checkbox" name="mem_email_cert" id="mem_email_cert" value="1" <?php echo set_checkbox('mem_email_cert', '1', (element('mem_email_cert', element('data', $view)) ? true : false)); ?> /> 인증
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">패스워드</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="password" class="form-control" name="mem_password" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">회원실명</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="mem_username" value="<?php echo set_value('mem_username', element('mem_username', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">닉네임</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="mem_nickname" value="<?php echo set_value('mem_nickname', element('mem_nickname', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">회원그룹</label>
|
||||
<div class="col-sm-10">
|
||||
<?php
|
||||
if (element('mgroup', element('data', $view))) {
|
||||
foreach (element('mgroup', element('data', $view)) as $gkey => $gval) {
|
||||
$chkvalue = is_array(element('member_group_member', element('data', $view))) && in_array(element('mgr_id', $gval), element('member_group_member', element('data', $view))) ? element('mgr_id', $gval) : '';
|
||||
?>
|
||||
<label for="member_group_<?php echo element('mgr_id', $gval); ?>" class="checkbox-inline">
|
||||
<input type="checkbox" name="member_group[]" id="member_group_<?php echo element('mgr_id', $gval); ?>" value="<?php echo element('mgr_id', $gval); ?>" <?php echo set_checkbox('member_group[]', element('mgr_id', $gval), ($chkvalue ? true : false)); ?> /> <?php echo element('mgr_title', $gval); ?>
|
||||
</label>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">레벨</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<select name="mem_level" class="form-control">
|
||||
<?php for ($i = 1; $i <= element('config_max_level', element('data', $view)); $i++) { ?>
|
||||
<option value="<?php echo $i; ?>" <?php echo set_select('mem_level', $i, ((int) element('mem_level', element('data', $view)) === $i ? true : false)); ?>><?php echo $i; ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">홈페이지</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="mem_homepage" value="<?php echo set_value('mem_homepage', element('mem_homepage', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">생일</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="mem_birthday" value="<?php echo set_value('mem_birthday', element('mem_birthday', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">전화번호</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="mem_phone" value="<?php echo set_value('mem_phone', element('mem_phone', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">성별</label>
|
||||
<div class="col-sm-10">
|
||||
<div class="input-group">
|
||||
<input type="radio" name="mem_sex" value="1" <?php echo set_radio('mem_sex', '1', (element('mem_sex', element('data', $view)) === '1' ? true : false)); ?> /> 남성
|
||||
<input type="radio" name="mem_sex" value="2" <?php echo set_radio('mem_sex', '2', (element('mem_sex', element('data', $view)) === '2' ? true : false)); ?> /> 여성
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">주소</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="mem_zipcode">우편번호</label>
|
||||
<label>
|
||||
<input type="text" name="mem_zipcode" value="<?php echo set_value('mem_zipcode', element('mem_zipcode', element('data', $view))); ?>" id="mem_zipcode" class="form-control" size="7" maxlength="7" />
|
||||
</label>
|
||||
<label>
|
||||
<button type="button" class="btn btn-black btn-sm" style="margin-top:0px;" onclick="win_zip('fadminwrite', 'mem_zipcode', 'mem_address1', 'mem_address2', 'mem_address3', 'mem_address4');">주소 검색</button>
|
||||
</label>
|
||||
<div class="addr-line">
|
||||
<label for="mem_address1">기본주소</label>
|
||||
<input type="text" name="mem_address1" value="<?php echo set_value('mem_address1', element('mem_address1', element('data', $view))); ?>" id="mem_address1" class="form-control" size="50" placeholder="기본주소" />
|
||||
</div>
|
||||
<div class="addr-line">
|
||||
<label for="mem_address2">상세주소</label>
|
||||
<input type="text" name="mem_address2" value="<?php echo set_value('mem_address2', element('mem_address2', element('data', $view))); ?>" id="mem_address2" class="form-control" size="50" placeholder="상세주소" />
|
||||
</div>
|
||||
<label for="mem_address3">참고항목</label>
|
||||
<input type="text" name="mem_address3" value="<?php echo set_value('mem_address3', element('mem_address3', element('data', $view))); ?>" id="mem_address3" class="form-control" size="50" readonly="readonly" placeholder="참고항목" />
|
||||
<input type="hidden" name="mem_address4" value="<?php echo set_value('mem_address4', element('mem_address4', element('data', $view))); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">프로필사진</label>
|
||||
<div class="col-sm-10">
|
||||
<?php
|
||||
if (element('mem_photo', element('data', $view))) {
|
||||
?>
|
||||
<img src="<?php echo member_photo_url(element('mem_photo', element('data', $view))); ?>" alt="회원 사진" title="회원 사진" />
|
||||
<label for="mem_photo_del">
|
||||
<input type="checkbox" name="mem_photo_del" id="mem_photo_del" value="1" <?php echo set_checkbox('mem_photo_del', '1'); ?> /> 삭제
|
||||
</label>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<input type="file" name="mem_photo" id="mem_photo" />
|
||||
<p class="help-block">가로길이 : <?php echo $this->cbconfig->item('member_photo_width'); ?>px, 세로길이 : <?php echo $this->cbconfig->item('member_photo_height'); ?>px 에 최적화되어있습니다, gif, jpg, png 파일 업로드가 가능합니다</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">회원아이콘</label>
|
||||
<div class="col-sm-10">
|
||||
<?php
|
||||
if (element('mem_icon', element('data', $view))) {
|
||||
?>
|
||||
<img src="<?php echo member_icon_url(element('mem_icon', element('data', $view))); ?>" alt="회원 아이콘" title="회원 아이콘" />
|
||||
<label for="mem_icon_del">
|
||||
<input type="checkbox" name="mem_icon_del" id="mem_icon_del" value="1" <?php echo set_checkbox('mem_icon_del', '1'); ?> /> 삭제
|
||||
</label>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<input type="file" name="mem_icon" id="mem_icon" />
|
||||
<p class="help-block">가로길이 : <?php echo $this->cbconfig->item('member_icon_width'); ?>px, 세로길이 : <?php echo $this->cbconfig->item('member_icon_height'); ?>px 에 최적화되어있습니다, gif, jpg, png 파일 업로드가 가능합니다</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">메일받기</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="mem_receive_email" class="checkbox-inline">
|
||||
<input type="checkbox" name="mem_receive_email" id="mem_receive_email" value="1" <?php echo set_checkbox('mem_receive_email', '1', (element('mem_receive_email', element('data', $view)) ? true : false)); ?> /> 사용합니다
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">쪽지사용</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="mem_use_note" class="checkbox-inline">
|
||||
<input type="checkbox" name="mem_use_note" id="mem_use_note" value="1" <?php echo set_checkbox('mem_use_note', '1', (element('mem_use_note', element('data', $view)) ? true : false)); ?> /> 사용합니다
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">SMS 문자받기</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="mem_receive_sms" class="checkbox-inline">
|
||||
<input type="checkbox" name="mem_receive_sms" id="mem_receive_sms" value="1" <?php echo set_checkbox('mem_receive_sms', '1', (element('mem_receive_sms', element('data', $view)) ? true : false)); ?> /> 사용합니다
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">프로필공개</label>
|
||||
<div class="col-sm-10">
|
||||
<label for="mem_open_profile" class="checkbox-inline">
|
||||
<input type="checkbox" name="mem_open_profile" id="mem_open_profile" value="1" <?php echo set_checkbox('mem_open_profile', '1', (element('mem_open_profile', element('data', $view)) ? true : false)); ?> /> 공개합니다
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">승인상태</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<select name="mem_denied" class="form-control">
|
||||
<option value="0" <?php echo set_select('mem_denied', '0', ( ! element('mem_denied', element('data', $view)) ? true : false)); ?>>승인</option>
|
||||
<option value="1" <?php echo set_select('mem_denied', '1', (element('mem_denied', element('data', $view)) ? true : false)); ?>>차단</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">최고관리자</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<select name="mem_is_admin" class="form-control">
|
||||
<option value="0" <?php echo set_select('mem_is_admin', '0', (element('mem_is_admin', element('data', $view)) !== '1' ? true : false)); ?>>아닙니다</option>
|
||||
<option value="1" <?php echo set_select('mem_is_admin', '1', (element('mem_is_admin', element('data', $view)) === '1' ? true : false)); ?>>최고관리자입니다</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">프로필</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="5" name="mem_profile_content"><?php echo set_value('mem_profile_content', element('mem_profile_content', element('data', $view))); ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">관리자용 메모</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="5" name="mem_adminmemo"><?php echo set_value('mem_adminmemo', element('mem_adminmemo', element('data', $view))); ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if (element('html_content', $view)) {
|
||||
foreach (element('html_content', $view) as $key => $value) {
|
||||
?>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label" for="<?php echo element('field_name', $value); ?>"><?php echo element('display_name', $value); ?></label>
|
||||
<div class="col-sm-10"><?php echo element('input', $value); ?></div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="button" class="btn btn-default btn-sm btn-history-back" >취소하기</button>
|
||||
<button type="submit" class="btn btn-success btn-sm">저장하기</button>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function() {
|
||||
$('#fadminwrite').validate({
|
||||
rules: {
|
||||
mem_userid: { required: true, minlength:3, maxlength:20 },
|
||||
mem_username: {minlength:2, maxlength:20 },
|
||||
mem_nickname: {required :true, minlength:2, maxlength:20 },
|
||||
mem_email: {required :true, email:true },
|
||||
mem_password: {minlength :4 }
|
||||
}
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
89
views/admin/basic/member/nickname/index.php
Normal file
89
views/admin/basic/member/nickname/index.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<div class="btn-group btn-group-sm" role="group">
|
||||
<a href="?" class="btn btn-sm <?php echo ($this->input->get('use') !== 'Y' && $this->input->get('use') !== 'N') ? 'btn-success' : 'btn-default'; ?>">전체닉네임</a>
|
||||
<a href="?use=Y" class="btn btn-sm <?php echo ($this->input->get('use') === 'Y') ? 'btn-success' : 'btn-default'; ?>">현재사용중인닉네임</a>
|
||||
<a href="?use=N" class="btn btn-sm <?php echo ($this->input->get('use') === 'N') ? 'btn-success' : 'btn-default'; ?>">사용종료된닉네임</a>
|
||||
</div>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><a href="<?php echo element('mni_id', element('sort', $view)); ?>">번호</a></th>
|
||||
<th>아이디</th>
|
||||
<th>현재닉네임</th>
|
||||
<th><a href="<?php echo element('mni_nickname', element('sort', $view)); ?>">닉네임</a></th>
|
||||
<th><a href="<?php echo element('mni_start_datetime', element('sort', $view)); ?>">사용시작일</a></th>
|
||||
<th><a href="<?php echo element('mni_end_datetime', element('sort', $view)); ?>">사용종료일</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><a href="?sfield=member_nickname.mem_id&skeyword=<?php echo element('mem_id', $result); ?>"><?php echo html_escape(element('mem_userid', $result)); ?></a></td>
|
||||
<td><?php echo element('display_name', $result); ?></td>
|
||||
<td><?php echo html_escape(element('mni_nickname', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('mni_start_datetime', $result), 'full'); ?></td>
|
||||
<td><?php echo element('mni_end_datetime', $result) > '0000-00-00 00:00:00' ? display_datetime(element('mni_end_datetime', $result), 'full') : '현재 사용중'; ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="6" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
76
views/admin/basic/member/points/cleanlog.php
Normal file
76
views/admin/basic/member/points/cleanlog.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<div class="box-table-header">
|
||||
<ul class="nav nav-pills">
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir); ?>">포인트 목록</a></li>
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir . '/cleanlog'); ?>">포인트 로그 정리</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>');
|
||||
echo show_alert_message(element('alert_message', $view), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
?>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>포인트 기능을 사용하시는 경우, 포인트 테이블에 데이터가 급속도로 쌓이게 됩니다.</p>
|
||||
<p>포인트 테이블에 데이터가 많이 쌓이게 되면 사이트 속도에 영향을 끼칠 수 있습니다.</p>
|
||||
<p>이 페이지는 회원님이 보유하고 계신 포인트의 현재 총 합을 유지한채,</p>
|
||||
<p>오래된 포인트 내역을 간단히 정리해 포인트 테이블의 크기를 가볍게 하는데에 목적이 있습니다.</p>
|
||||
<p>원하는 기간 이상이 된 포인트 중 한 회원이 10건 이상의 포인트 내역을 가지고 있을 경우, 그 포인트 내역을 1건으로 정리합니다.</p>
|
||||
<p>정리를 할 때마다 서버 부하 때문에 100명의 회원 것만 정리합니다. 회원이 많을 경우, 정리하기를 여러번 실행하시면 됩니다.</p>
|
||||
<?php
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite', 'id' => 'fadminwrite');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="number" class="form-control" name="day" value="<?php echo set_value('day', 30); ?>" /> 일 이상된 포인트 내역을 검색합니다.
|
||||
<button type="submit" class="btn btn-warning btn-sm">검색</button>
|
||||
<?php echo form_close(); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php
|
||||
if (element('msg', $view)) {
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite2', 'id' => 'fadminwrite2', 'onSubmit' => 'return cleancheck()');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="day" value="<?php echo element('day', $view); ?>" />
|
||||
<input type="hidden" name="criterion" value="<?php echo element('criterion', $view); ?>" />
|
||||
<input type="hidden" name="log_count" value="<?php echo element('log_count', $view); ?>" />
|
||||
<?php echo element('msg', $view); ?>
|
||||
<div class="box-button btn-group">
|
||||
<button type="submit" class="btn btn-success btn-sm">정리하기</button>
|
||||
</div>
|
||||
<?php
|
||||
echo form_close();
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function() {
|
||||
$('#fadminwrite').validate({
|
||||
rules: {
|
||||
day: {required:true, number:true, min:0}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function cleancheck(){
|
||||
if (confirm('정말 정리하시겠습니까? 정리하신 후에는 복구가 불가능합니다')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
94
views/admin/basic/member/points/index.php
Normal file
94
views/admin/basic/member/points/index.php
Normal file
@@ -0,0 +1,94 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php
|
||||
echo show_alert_message($this->session->flashdata('message'), '<div class="alert alert-auto-close alert-dismissible alert-info"><button type="button" class="close alertclose" >×</button>', '</div>');
|
||||
$attributes = array('class' => 'form-inline', 'name' => 'flist', 'id' => 'flist');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<div class="box-table-header">
|
||||
<ul class="nav nav-pills">
|
||||
<li role="presentation" class="active"><a href="<?php echo admin_url($this->pagedir); ?>">포인트 목록</a></li>
|
||||
<li role="presentation"><a href="<?php echo admin_url($this->pagedir . '/cleanlog'); ?>">포인트 로그 정리</a></li>
|
||||
</ul>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<a href="<?php echo element('listall_url', $view); ?>" class="btn btn-outline btn-default btn-sm">전체목록</a>
|
||||
<button type="button" class="btn btn-outline btn-default btn-sm btn-list-delete btn-list-selected disabled" data-list-delete-url = "<?php echo element('list_delete_url', $view); ?>" >선택삭제</button>
|
||||
<a href="<?php echo element('write_url', $view); ?>" class="btn btn-outline btn-danger btn-sm">포인트추가</a>
|
||||
</div>
|
||||
<?php
|
||||
$buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<div class="row">전체 : <?php echo element('total_rows', element('data', $view), 0); ?>건</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>회원아이디</th>
|
||||
<th>회원명</th>
|
||||
<th>포인트</th>
|
||||
<th>발생일시</th>
|
||||
<th>포인트내용</th>
|
||||
<th>포인트합</th>
|
||||
<th><input type="checkbox" name="chkall" id="chkall" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if (element('list', element('data', $view))) {
|
||||
foreach (element('list', element('data', $view)) as $result) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo number_format(element('num', $result)); ?></td>
|
||||
<td><a href="?sfield=point.mem_id&skeyword=<?php echo element('mem_id', $result); ?>"><?php echo html_escape(element('mem_userid', $result)); ?></a></td>
|
||||
<td><?php echo element('display_name', $result); ?></td>
|
||||
<td class="text-right"><?php echo number_format(element('poi_point', $result)); ?></td>
|
||||
<td><?php echo display_datetime(element('poi_datetime', $result), 'full'); ?></td>
|
||||
<td><?php echo html_escape(element('poi_content', $result)); ?></td>
|
||||
<td class="text-right"><?php echo number_format(element('mem_point', $result)); ?></td>
|
||||
<td><input type="checkbox" name="chk[]" class="list-chkbox" value="<?php echo element(element('primary_key', $view), $result); ?>" /></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ( ! element('list', element('data', $view))) {
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="8" class="nopost">자료가 없습니다</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="box-info">
|
||||
<?php echo element('paging', $view); ?>
|
||||
<div class="pull-left ml20"><?php echo admin_listnum_selectbox();?></div>
|
||||
<?php echo $buttons; ?>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
<form name="fsearch" id="fsearch" action="<?php echo current_full_url(); ?>" method="get">
|
||||
<div class="box-search">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<select class="form-control" name="sfield" >
|
||||
<?php echo element('search_option', $view); ?>
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" name="skeyword" value="<?php echo html_escape(element('skeyword', $view)); ?>" placeholder="Search for..." />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default btn-sm" name="search_submit" type="submit">검색!</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
87
views/admin/basic/member/points/write.php
Normal file
87
views/admin/basic/member/points/write.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<div class="box">
|
||||
<div class="box-table">
|
||||
<?php echo validation_errors('<div class="alert alert-warning" role="alert">', '</div>'); ?>
|
||||
<div class="box-table-header">
|
||||
<h4><a data-toggle="collapse" href="#collapse1" aria-expanded="true" aria-controls="collapse1">특정 회원 포인트 추가</a></h4>
|
||||
<a data-toggle="collapse" href="#collapse1" aria-expanded="true" aria-controls="collapse1"><i class="fa fa-chevron-up pull-right"></i></a>
|
||||
</div>
|
||||
<div class="collapse in" id="collapse1">
|
||||
<?php
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite', 'id' => 'fadminwrite');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="poi_type" value="toone" />
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">회원아이디</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<input type="text" class="form-control" name="mem_userid" value="<?php echo set_value('mem_userid'); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">포인트</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" class="form-control" name="poi_point" value="<?php echo set_value('poi_point'); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">내용</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="poi_content" value="<?php echo set_value('poi_content'); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="submit" class="btn btn-outline btn-success btn-sm">특정회원 포인트 추가하기</button>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-table">
|
||||
<div class="box-table-header">
|
||||
<h4><a data-toggle="collapse" href="#collapse2" aria-expanded="true" aria-controls="collapse2">모든 회원 동시 포인트 추가</a></h4>
|
||||
<a data-toggle="collapse" href="#collapse2" aria-expanded="true" aria-controls="collapse2"><i class="fa fa-chevron-up pull-right"></i></a>
|
||||
</div>
|
||||
<div class="collapse in" id="collapse2">
|
||||
<?php
|
||||
$attributes = array('class' => 'form-horizontal', 'name' => 'fadminwrite2', 'id' => 'fadminwrite2');
|
||||
echo form_open(current_full_url(), $attributes);
|
||||
?>
|
||||
<input type="hidden" name="poi_type" value="toall" />
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">포인트</label>
|
||||
<div class="col-sm-10 form-inline">
|
||||
<input type="number" class="form-control" name="poi_point_all" value="<?php echo set_value('poi_point_all'); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">내용</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="poi_content_all" value="<?php echo set_value('poi_content_all'); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group pull-right" role="group" aria-label="...">
|
||||
<button type="submit" class="btn btn-outline btn-success btn-sm">모든 회원 포인트 동시 추가</button>
|
||||
</div>
|
||||
<?php echo form_close(); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(function() {
|
||||
$('#fadminwrite').validate({
|
||||
rules: {
|
||||
mem_userid: { required:true, minlength:3, maxlength:20 },
|
||||
poi_point: { required:true, number:true },
|
||||
poi_content: 'required'
|
||||
}
|
||||
});
|
||||
$('#fadminwrite2').validate({
|
||||
rules: {
|
||||
poi_point_all: { required:true, number:true },
|
||||
poi_content_all: 'required'
|
||||
}
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
Reference in New Issue
Block a user