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>
|
||||
Reference in New Issue
Block a user