diff --git a/adm/shop_admin/date_filter.lib.php b/adm/shop_admin/date_filter.lib.php
new file mode 100644
index 000000000..d7dc3f966
--- /dev/null
+++ b/adm/shop_admin/date_filter.lib.php
@@ -0,0 +1,26 @@
+ $params['to_date']) {
+ return false;
+ }
+
+ return array($params['fr_date'], $params['to_date']);
+}
diff --git a/adm/shop_admin/itemsellrank.php b/adm/shop_admin/itemsellrank.php
index 57be153b7..608ee6074 100644
--- a/adm/shop_admin/itemsellrank.php
+++ b/adm/shop_admin/itemsellrank.php
@@ -4,13 +4,18 @@ include_once('./_common.php');
auth_check_menu($auth, $sub_menu, "r");
+include_once('./date_filter.lib.php');
+$date_range = shop_admin_date_range($_GET, date('Ymd'));
+if ($date_range === false) {
+ http_response_code(400);
+ alert('조회 기간은 올바른 시작일과 종료일을 YYYYMMDD 형식으로 입력해 주십시오. 시작일은 종료일보다 늦을 수 없습니다.');
+}
+list($fr_date, $to_date) = $date_range;
+
$g5['title'] = '상품판매순위';
include_once (G5_ADMIN_PATH.'/admin.head.php');
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
-$fr_date = (isset($_GET['fr_date']) && preg_match("/[0-9]/", $_GET['fr_date'])) ? $_GET['fr_date'] : '';
-$to_date = (isset($_GET['to_date']) && preg_match("/[0-9]/", $_GET['to_date'])) ? $_GET['to_date'] : date("Ymd", time());
-
$doc = isset($_GET['doc']) ? clean_xss_tags($_GET['doc'], 1, 1) : '';
$sort1 = (isset($_GET['sort1']) && in_array($_GET['sort1'], array('ct_status_1', 'ct_status_2', 'ct_status_3', 'ct_status_4', 'ct_status_5', 'ct_status_6', 'ct_status_7', 'ct_status_8', 'ct_status_9', 'ct_status_sum'))) ? $_GET['sort1'] : 'ct_status_sum';
$sort2 = (isset($_GET['sort2']) && in_array($_GET['sort2'], array('desc', 'asc'))) ? $_GET['sort2'] : 'desc';
@@ -57,7 +62,14 @@ $sql = $sql . " limit $from_record, $rows ";
$result = sql_query($sql);
//$qstr = 'page='.$page.'&sort1='.$sort1.'&sort2='.$sort2;
-$qstr1 = $qstr.'&fr_date='.$fr_date.'&to_date='.$to_date.'&sel_ca_id='.$sel_ca_id;
+// 검증된 날짜만 URL에 전달한다. 최초 조회의 빈 날짜는 링크에서 생략한다.
+$filter_query = array('sel_ca_id' => $sel_ca_id);
+if ($fr_date !== '' && $to_date !== '') {
+ $filter_query['fr_date'] = $fr_date;
+ $filter_query['to_date'] = $to_date;
+}
+$qstr1 = htmlspecialchars(http_build_query($filter_query, '', '&'), ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
+$paging_query = htmlspecialchars(http_build_query(array_merge($filter_query, array('sort1' => $sort1, 'sort2' => $sort2)), '', '&'), ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$listall = '전체목록';
?>
@@ -92,9 +104,9 @@ $listall = '전체목
기간설정
- 에서
+ 에서
- 까지
+ 까지
@@ -162,7 +174,7 @@ $listall = '전체목
-
+