<?
$sub_menu = "400320";
include_once("./_common.php");

auth_check($auth[$sub_menu], "r");

$token		= get_token();

$rs_tables	= sql_query("SHOW TABLES from $mysql_db");

$g4[title] = "SE 이미지 정리";
include_once("./admin.head.php");
?>
<style type="text/css">
.msg		{ padding:5px; color:#616161; border:1px solid #DFDFDF; background-color:#F7F7F7; font-family:나눔고딕; }
#search_condition	{ padding:5px; text-align:center; border:1px solid #DFDFDF; margin:1px 0 1px 0; background-color:#FFFFE0; }
</style>

<div class="msg">
<b>스마트에디터</b>에서 <b>Photo uploader</b>로 업로드한 이미지 중 일정 기간 동안 노출 되지 않았거나 사용하지 않는 이미지를 정리합니다.<br>
이미지가 업로드 되고 오랫동안 읽혀지지 않은 경우는 게시글이 삭제 되었거나 네티즌이 더 이상 열람하지 않거나 글 작성 시 업로드 한 이미지를 에디터에서 사용하지 않은 경우로 불필요한 이미지 입니다.<br>
서버 설정에 따라 정상적으로 실행 되지 않을 수 있습니다. clearstatcache()를 사용하지 않습니다.
</div>

<?
if(!$in_read_date) $in_read_date	= date("Y-m-d", $g4[server_time] - 31622400);			//-- 1년 . 기본 값
$dir		= "$g4[path]/data/zm.exp/se";					//-- 이미지 디렉토리에 파일 리스트

//-- 이미지 정리 하기 -----------------------------------------------------------------------------
if($mode == "del_image") {
	for($i = 0; $i < count($in_recno); $i++) {
		if($in_recno[$i] > -1) {
			$rd_img		= @sql_fetch("select * from zm_se_images where db_recno='$in_recno[$i]'");

			$img_path		= $dir . "/" . $rd_img[db_table] . "/" . $rd_img[db_folder] . "/" . $rd_img[db_filename];
			$img_thumb_path	= $dir . "/" . $rd_img[db_table] . "/" . $rd_img[db_folder] . "/thumb/" . $rd_img[db_filename];

			@unlink($img_path);
			@unlink($img_thumb_path);
		}
	}

	alert("이미지를 정리 했습니다.", "./zm.image_clean.php?in_read_date=$in_read_date");
}

//-- 정리 할 이미지 정보. (스마트에디터에서 업로드 된 이미지) -------------------------------------
$a_imginfo	= array();										//-- [][0]:이미지 경로, [][1]:이미지 네임
$cnt		= 0;
$sql		= "select * from zm_se_images where db_table='$in_table' order by db_table asc, db_folder asc";
$res		= @sql_query($sql);
while($rd_img = @sql_fetch_array($res)) {
	$img_path	= $dir . "/" . $rd_img[db_table] . "/" . $rd_img[db_folder] . "/" . $rd_img[db_filename];
	if(!file_exists($img_path)) {
		@sql_query("delete from zm_se_images where db_table='$rd_img[db_table]' and db_folder='$rd_img[db_folder]' and db_filename='$rd_img[db_filename]'");
	}

	//-- 마지막 엑세스 시간이 조건에 맞으면...
	$ft		= @fileatime($img_path);		//-- 파일을 마지막으로 접근 한 시간
	if(date("Y-m-d", $ft) < $in_read_date) {
		$a_imginfo[$cnt][0]	= $rd_img[db_recno];
		$a_imginfo[$cnt][1]	= $rd_img[db_table];
		$a_imginfo[$cnt][2]	= $rd_img[db_folder];
		$a_imginfo[$cnt][3]	= $rd_img[db_filename];
		$a_imginfo[$cnt][4]	= date("Y-m-d H:i:s", $ft);
		$cnt++;
	}
}

$colspan = 4;

$res	= @sql_query("select db_table from zm_se_images group by db_table order by db_table asc");
?>
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />
<style type="text/css">
<!--
.ui-datepicker { font:12px dotum; }
.ui-datepicker select.ui-datepicker-month, 
.ui-datepicker select.ui-datepicker-year { width: 70px;}
.ui-datepicker-trigger { margin:0 0 -5px 2px; }
-->
</style>
<script type="text/javascript">
/* Korean initialisation for the jQuery calendar extension. */
/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */
jQuery(function($){
	$.datepicker.regional['ko'] = {
		closeText: '닫기',
		prevText: '이전달',
		nextText: '다음달',
		currentText: '오늘',
		monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
		'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
		monthNamesShort: ['1월','2월','3월','4월','5월','6월',
		'7월','8월','9월','10월','11월','12월'],
		dayNames: ['일','월','화','수','목','금','토'],
		dayNamesShort: ['일','월','화','수','목','금','토'],
		dayNamesMin: ['일','월','화','수','목','금','토'],
		weekHeader: 'Wk',
		dateFormat: 'yy-mm-dd',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['ko']);

    $('#in_read_date').datepicker({
        showOn: 'button',
		buttonImage: '../img/calendar.gif',
		buttonImageOnly: true,
        buttonText: "달력",
        changeMonth: true,
		changeYear: true,
        showButtonPanel: true,
        yearRange: 'c-20:c+99',
        maxDate: '+0d'
    }); 
});
</script>
<div id="search_condition">
<form method=get name=frm_readdate>
	<input type="radio" checked> 테이블 
	<select name="in_table">
	<option>-테이블 선택</option>
<?	while($rd = @sql_fetch_array($res)) : ?>
	<option value="<?=$rd[db_table]?>" <?=($rd[db_table]==$in_table)?"selected":"";?>><?=$rd[db_table]?></option>
<?	endwhile; ?>
	</select>에서
	<input name="in_read_date" id="in_read_date" value="<?=$in_read_date?>" size="10"  class="ed"> 이후 한 번도 읽혀지지 않은 이미지 <input type="submit" value="다시 검색" class="btn1">
</form>
</div>
<?=subtitle("Smarteditor for zium-builder 이미지 정리")?>

<table width=100% cellpadding=0 cellspacing=1 border=0>
<colgroup width=10%>
<colgroup width=20%>
<colgroup width=20%>
<colgroup width=50%>
<tr><td colspan='<?=$colspan?>' class='line1'></td></tr>
<tr class='bgcol1 bold col1 ht center'>
    <td>번호</td>
    <td>테이블</td>
    <td>디렉토리</td>
    <td>대상 파일 수</td>
</tr>
<?
$target_cnt		= 1;
$cnt			= 0;
$a_listinfo		= array();
//-- $a_imginfo 0=>레코드 번호, 1 테이블, 2 폴더, 3 파일명
for($i = 0; $i < count($a_imginfo); $i++) {
	$img_dir		= $dir . "/" . $a_imginfo[$i][1] . "/" . $a_imginfo[$i][2];
	$img_nxt_dir	= $dir . "/" . $a_imginfo[$i+1][1] . "/" . $a_imginfo[$i+1][2];
	if($img_dir == $img_nxt_dir) {
		$target_cnt++;
	}else{
		$a_listinfo[$cnt][1]	= $a_imginfo[$i][1];		//-- 테이블
		$a_listinfo[$cnt][2]	= $a_imginfo[$i][2];		//-- 폴더
		$a_listinfo[$cnt][3]	= $a_imginfo[$i][3];		//-- 파일명
		$a_listinfo[$cnt][4]	= $target_cnt;
		$target_cnt	= 1;
		$cnt++;
	}
}

for($i = 0; $i < count($a_listinfo); $i++) : 
?>
<tr><td colspan='<?=$colspan?>' class='line2'></td></tr>
<tr class='list<?=$list?> col1 ht' onMouseOver="this.style.backgroundColor='#F6F8FA'" onMouseOut="this.style.backgroundColor=''">
	<td align=center><?=$i+1?></td>
	<td>/<?=$a_listinfo[$i][1]?></td>
	<td>/<?=$a_listinfo[$i][2]?></td>
	<td><?=number_format($a_listinfo[$i][4])?></td>
</tr>
<? endfor; ?>
 
<?
if ($i == 0)
    echo "<tr><td colspan='$colspan' align=center height=100 bgcolor=#ffffff>자료가 없습니다.</td></tr>"; 
?>
<tr><td colspan='<?=$colspan?>' class='line2'></td></tr>
</table>
<div>
<form name=imagerecno method=post>
	<input type="hidden" name="mode" value="del_image">
<?	for($i = 0; $i < count($a_imginfo); $i++) : ?>
	<input type="hidden" name="in_recno[]" value="<?=$a_imginfo[$i][0]?>">
<?	endfor; ?>
	<input type="button" value="모두 <?=number_format(count($a_imginfo))?>개의 이미지를 삭제 합니다." onClick="if(confirm('<?=$in_table?>에서 <?=$in_read_date?> 이후 한 번도 읽혀지지 않았던 <?=number_format(count($a_imginfo))?>개의 이미지를 삭제 할까요?')) submit();" class="btn1">
</form>
</div>

<script language="javascript">
</script>

<?
include_once("./admin.tail.php");
?>