Files
cm-web-legacy/application/views/admin/maptoon/episode_list.php
2020-06-10 06:19:03 +09:00

444 lines
17 KiB
PHP
Executable File

<?php
$menu_code = '1030';
require_once (APPPATH.'views/skin/admin/_content_comm.php');
?>
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" media="screen" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link href="//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css" rel="stylesheet">
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script>
<script src="//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js"></script>
<style>
.row {margin-left: 0px; margin-bottom: 15px;}
div.sortform{border: 1px solid #d8dcdd;padding: 15px;}
label.sort_label{width: 80px;}
button{ background:#1AAB8A; color:#fff; border:none; position:relative; height:60px; font-size:1.6em; padding:0 2em; cursor:pointer; transition:800ms ease all; outline:none;}
button:hover{background:#fff; color:#1AAB8A;}
button:before,button:after{ content:''; position:absolute; top:0; right:0; height:2px; width:0; background: #1AAB8A; transition:400ms ease all;}
button:after{ right:inherit; top:inherit; left:0; bottom:0; }
button:hover:before,button:hover:after{width:100%; transition:800ms ease all; }
.write_btn_1{background: #ebebeb; float: right; border: 1px solid #ccc; margin-right: 15px; padding: 4px 15px;}
* {box-sizing: border-box;}
/*the container must be positioned relative:*/
.autocomplete {position: relative; display: inline-block;}
.autocomplete-items { position: absolute; border: 1px solid #d4d4d4; border-bottom: none; border-top: none; z-index: 99; /*position the autocomplete items to be the same width as the container:*/
top: 100%; left: 0; right: 0; margin: 0px 16px; width: 89%;}
.autocomplete-items div { padding: 10px; cursor: pointer; background-color: #fff; border-bottom: 1px solid #d4d4d4; }
/*when hovering an item:*/
.autocomplete-items div:hover { background-color: #e9e9e9; }
/*when navigating through the items using the arrow keys:*/
.autocomplete-active { background-color: DodgerBlue !important; color: #ffffff; }
#inp_authorautocomplete-list{margin-left: 100px; width: 39%;}
#inp_mt_nameautocomplete-list{margin-left: 20%; width: 60%;}
</style>
<form class="" name="sort_form" id="sort_form" method="get" action="episode">
<input type="hidden" name="sort_list" id="sort_list">
<div class="common_tep clearfix type01 sortform">
<div class="row">
<div class="row form-group">
<div class="col-md-3">
<label for="date_reg" class="sort_label" >등록 날짜별</label>
<select name="date_reg" id="select_sort_date">
<option value="">선택안함</option>
<option value="td">오늘</option>
<option value="yd">어제</option>
<option value="w">일주일</option>
<option value="30d">지난30일</option>
<option value="lm">지난달</option>
<option value="sel">날짜지정</option>
</select>
</div>
<div class="col-md-3">
<!-- <label for="ca">카테고리</label>
<select id="select_cartegory" name="ca">
<option value="">선택안함</option>
<? foreach($category as $i){?>
<option value="<?=$i['idx']?>"><?=$i['c_name']?></option>
<?}?>
</select> -->
</div>
</div>
</div>
<div id="datepicker_reg" class="row" style="display:none; margin-left: 85px; margin-bottom: 20px;">
<div class='col-md-2'>
<label for="sdate" >시작일</label>
<div class='input-group date' id='div_s_date'>
<input type='text' id="sdate" name="sdate" class="form-control"/>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<div class='col-md-2'>
<label for="edate">종료일</label>
<div class='input-group date' id='div_e_date'>
<input type='text' id="edate" name="edate" class="form-control"/>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<label for="author" class="sort_label">작가</label>
<input type="text" id="inp_author" name="author">
</div>
<div class="col-md-3">
<label for="mt_name">맵툰 이름</label>
<input type="text" name="mt_name" id="inp_mt_name">
</div>
<div class="col-md-3">
<label for="ep_title" class="sort_label">맵툰 제목</label>
<input type="text" name="ep_title" id="inp_ep_name">
</div>
</div>
<button type="submit" class="write_btn a" style="float:right;">검색</button>
</div>
</form>
<div class="searh_area">
</div>
<div class="common_table" style="margin-top: 30px">
<div class="row">
<span style="font-weight:bold">Total:</span> <?=$total_count;?>
<span style="margin-left:20px"></span>
<span style="margin-left:20px">오늘 신규</span>
<span style="margin-left:20px"></span>
<span style="margin-left:20px">
<input type="radio" id="sort_list_up" name="sort_list" value="up" onclick="change_sort();"> 최신순
<input type="radio" id="sort_list_vi" name="sort_list" value="vi" onclick="change_sort();"> 조회순
</span>
<div class="write_btn_1">
<a href="/admin/maptoon/episode_reg" id="btn_reg">등록</a>
</div>
</div>
</div>
<!-- 테이블 시작-->
<div class="common_table">
<table>
<thead>
<th>번호</th>
<th>썸네일</th>
<th>맵툰이름</th>
<th>작가명</th>
<th>제목</th>
<th>조회수</th>
<th>상태</th>
<th>등록일시</th>
<th>예약일시</th>
<th>관리</th>
</thead>
<tbody>
<?if(count($list)==0) {
echo '<tr><td colspan="10">등록된 내용이 없습니다.</td></tr>';
} else {
$i=0;
foreach($list as $val) {
$idx = $val['idx'];
$main_img = $val['main_img'];
// $mt_categories_idx = $val['mt_categories_idx'];
$name = $val['name'];
$title = $val['title'];
$mt_list_idx = $val['mt_list_idx'];
$recommend_count = $val['recommend_count'];
$view_count = $val['view_count'];
$mt_cartoonists_idx = $val['mt_cartoonists_idx'];
$is_display = $val['is_display'];
$reg_date = $val['reg_date'];
$display_date = $val['display_date'];?>
<tr>
<td><?=$idx?><input type="hidden" id="index_<?=$idx?>" value="<?=$i?>"></td>
<td><img id="" style="width: 75px; height: 53px;" class="img" src="<?=$main_img?>"></td>
<!-- <td><?if($mt_categories_idx!=0){echo $category_list[$mt_categories_idx];}?></td> -->
<td><?=$name?></td>
<td><?=$cartoonist_list[$mt_cartoonists_idx]?></td>
<td><?=$title ?></td>
<td><?=$view_count?></td>
<td><?if($is_display==0){echo "N";}else{echo "Y";}?></td>
<td><?=$reg_date?></td>
<td><?=$display_date ?></td>
<td style="width:200px" class="tool_btn">
<a href="#" class="btn_modify" value="<?= $idx;?>"><i class="fa fa-pencil"></i>수정</a>
<a href="#" class="btn_delete" value="<?= $idx;?>"><i class="fa fa-close"></i>삭제</a>
</td>
</tr>
<?$i++; }
}?>
</tbody>
</table>
</div>
<div class="pasing_wrap">
<?=$pagination?>
</div>
</form>
<script type="text/javascript">
$(document).ready(function() {
set_sort_option();
set_search_area();
$("#btn_reg").click(function() {
$("#dialog").dialog();
return false;
});
});
//search condition
function set_search_area(){
var url_string = window.location.href; //window.location.href
var url = new URL(url_string);
var date_reg = url.searchParams.get("date_reg");
var category = url.searchParams.get("ca");
var author = url.searchParams.get("author");
var mt_name = url.searchParams.get("mt_name");
var ep_title = url.searchParams.get("ep_title");
var s_date = url.searchParams.get("sdate");
var e_date = url.searchParams.get("edate");
if(date_reg!=''){
$("#select_sort_date").val(date_reg);
if(date_reg=="sel"){
$("#datepicker_reg").show();
$("sdate").val(s_date);
$("edate").val(e_date);
}
}
if(category!=''){
$("#select_cartegory").val(category);
}
if(author!=''){
$("#inp_author").val(author);
}
if(mt_name!=''){
$("inp_mt_name").val(mt_name);
}
if(ep_title!=''){
$("inp_ep_name").val(ep_title);
}
}
//show datepickup
$("#select_sort_date").on('change',function(){
if($(this).val()=="sel"){
$("#datepicker_reg").show();
}else{
$("#datepicker_reg").hide();
};
})
// modify btn event
$(".btn_modify").click(function() {
var idx = $(this).attr('value');
redirectUrl='/admin/maptoon/episode_reg';
if(idx>0) {
var form = $('<form action="' + redirectUrl + '" method="post">' +
'<input type="hidden" name="idx" value="' + idx + '"></input>' + '</form>');
$('body').append(form);
$(form).submit();
}else{
alert("값이 존재하지 않습니다 관리자에게 문의주세요");
}
});
//delete click event
$(".btn_delete").click(function() {
idx = $(this).attr('value');
redirectUrl='/admin/maptoon/episode_del_proc';
if(confirm('정말 삭제하시겠습니까?')) {
var form = $('<form action="' + redirectUrl + '" method="post">' +
'<input type="hidden" name="idx" value="' + idx + '"></input>' + '</form>');
$('body').append(form);
$(form).submit();
frm.attr('action','/admin/maptoon/announcement_del_proc');
frm.submit();
}
});
// set checkbox option
function set_sort_option(){
var url_string = document.URL; //window.location.href
var url = new URL(url_string);
var sort_list = url.searchParams.get("sort_list");
if(sort_list==null){
document.getElementById("sort_list_up").checked = true;
document.getElementById("sort_list").value="up";
}else if(sort_list=="up"){
document.getElementById("sort_list").value="up";
document.getElementById("sort_list_up").checked = true;
}else if(sort_list=="vi"){
document.getElementById("sort_list").value="vi";
document.getElementById("sort_list_vi").checked = true;
}
}
// radio button 조회순 업데이트 순 조회
function change_sort(){
var url_string = document.URL; //window.location.href
var url = new URL(url_string);
var sort_list = url.searchParams.get("sort_list");
if(location.search!=""){
if (document.getElementById('sort_list_up').checked){
sort_list==null?window.location.href=url_string+"&sort_list=up":window.location.href=url_string.replace("sort_list=vi", "sort_list=up");
} else {
sort_list==null?window.location.href=url_string+"&sort_list=vi":window.location.href=url_string.replace("sort_list=up", "sort_list=vi");
}
}else{
if (document.getElementById('sort_list_up').checked){
window.location.href=url_string+"?sort_list=up"
}else{
window.location.href=url_string+"?sort_list=vi"
}
}
}
//dateTime picker
$(function () {
$('#div_s_date').datetimepicker({
locale: 'ko',
format : "YYYY-MM-DD HH:mm:ss"
});
$('#div_e_date').datetimepicker({
useCurrent: false, //Important! See issue #1075
locale: 'ko',
format : "YYYY-MM-DD HH:mm:ss"
});
$("#div_s_date").on("dp.change", function (e) {
$('#div_e_date').data("DateTimePicker").minDate(e.date);
});
$("#div_e_date").on("dp.change", function (e) {
$('#div_s_date').data("DateTimePicker").maxDate(e.date);
});
});
//autocomplete
function autocomplete(inp, arr) {
var currentFocus;
/*execute a function when someone writes in the text field:*/
inp.addEventListener("input", function(e) {
var a, b, i, val = this.value;
/*close any already open lists of autocompleted values*/
closeAllLists();
if (!val) { return false;}
currentFocus = -1;
/*create a DIV element that will contain the items (values):*/
a = document.createElement("DIV");
a.setAttribute("id", this.id + "autocomplete-list");
a.setAttribute("class", "autocomplete-items");
/*append the DIV element as a child of the autocomplete container:*/
this.parentNode.appendChild(a);
/*for each item in the array...*/
for (i = 0; i < arr.length; i++) {
/*check if the item starts with the same letters as the text field value:*/
if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {
/*create a DIV element for each matching element:*/
b = document.createElement("DIV");
/*make the matching letters bold:*/
b.innerHTML = "<strong>" + arr[i].substr(0, val.length) + "</strong>";
b.innerHTML += arr[i].substr(val.length);
/*insert a input field that will hold the current array item's value:*/
b.innerHTML += "<input type='hidden' value='" + arr[i] + "'>";
/*execute a function when someone clicks on the item value (DIV element):*/
b.addEventListener("click", function(e) {
/*insert the value for the autocomplete text field:*/
inp.value = this.getElementsByTagName("input")[0].value;
/*close the list of autocompleted values,
(or any other open lists of autocompleted values:*/
closeAllLists();
});
a.appendChild(b);
}
}
});
/*execute a function presses a key on the keyboard:*/
inp.addEventListener("keydown", function(e) {
var x = document.getElementById(this.id + "autocomplete-list");
if (x) x = x.getElementsByTagName("div");
if (e.keyCode == 40) {
/*If the arrow DOWN key is pressed,
increase the currentFocus variable:*/
currentFocus++;
/*and and make the current item more visible:*/
addActive(x);
} else if (e.keyCode == 38) { //up
/*If the arrow UP key is pressed,
decrease the currentFocus variable:*/
currentFocus--;
/*and and make the current item more visible:*/
addActive(x);
} else if (e.keyCode == 13) {
/*If the ENTER key is pressed, prevent the form from being submitted,*/
e.preventDefault();
if (currentFocus > -1) {
/*and simulate a click on the "active" item:*/
if (x) x[currentFocus].click();
}
}
});
function addActive(x) {
/*a function to classify an item as "active":*/
if (!x) return false;
/*start by removing the "active" class on all items:*/
removeActive(x);
if (currentFocus >= x.length) currentFocus = 0;
if (currentFocus < 0) currentFocus = (x.length - 1);
/*add class "autocomplete-active":*/
x[currentFocus].classList.add("autocomplete-active");
}
function removeActive(x) {
/*a function to remove the "active" class from all autocomplete items:*/
for (var i = 0; i < x.length; i++) {
x[i].classList.remove("autocomplete-active");
}
}
function closeAllLists(elmnt) {
/*close all autocomplete lists in the document,
except the one passed as an argument:*/
var x = document.getElementsByClassName("autocomplete-items");
for (var i = 0; i < x.length; i++) {
if (elmnt != x[i] && elmnt != inp) {
x[i].parentNode.removeChild(x[i]);
}
}
}
/*execute a function when someone clicks in the document:*/
document.addEventListener("click", function (e) {
closeAllLists(e.target);
});
}
/*An array containing all the country names in the world:*/
var countries = ["atest",'btest',"ctest","dtest","etest","qtest","wtest","rtest","ttest","ytest","utest","itest","otest","ptest","stest","ftest","gtest","htest","jtest","ktest","ltest","ztest","xtest","vtest","ntest","mtest"];
var cartoonist = <?=json_encode($cartoonist);?>;
var auto_cartoonist= new Array();
for (var i in cartoonist) {
auto_cartoonist[i] = cartoonist[i]['name'];
}
var mt_list = <?=json_encode($mt_title)?>;
var auto_mt_list= new Array();
var auto_mt_idx= new Array();
for (var i in mt_list) {
auto_mt_list[i] = mt_list[i]['name'];
auto_mt_idx[i] = mt_list[i]['idx'];
}
/*initiate the autocomplete function on the "myInput" element, and pass along the countries array as possible autocomplete values:*/
autocomplete(document.getElementById("inp_author"), auto_cartoonist);
autocomplete(document.getElementById("inp_mt_name"), auto_mt_list);
</script>
<?
// print_r($_SERVER['QUERY_STRING']);
?>