diff --git a/adm/board_form.php b/adm/board_form.php
index 3614116b1..272a25a09 100644
--- a/adm/board_form.php
+++ b/adm/board_form.php
@@ -1114,25 +1114,23 @@ $pg_anchor = '
|
|
diff --git a/bbs/list.php b/bbs/list.php
index 06bebb9dc..58961c364 100644
--- a/bbs/list.php
+++ b/bbs/list.php
@@ -153,10 +153,15 @@ if (!$sst) {
$sod = "";
}
} else {
- // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
- // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
- // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
- $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
+ $board_sort_fields = get_board_sort_fields($board, 1);
+ if (!$sod && array_key_exists($sst, $board_sort_fields)) {
+ $sst = $board_sort_fields[$sst];
+ } else {
+ // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
+ // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
+ // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
+ $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
+ }
}
if(!$sst)
diff --git a/lib/get_data.lib.php b/lib/get_data.lib.php
index eb1c934a1..daf65e7f4 100644
--- a/lib/get_data.lib.php
+++ b/lib/get_data.lib.php
@@ -351,6 +351,42 @@ function get_bo_table_banned_word(){
return run_replace('get_bo_table_banned_word', $folders);
}
+function get_board_sort_fields($board=array(), $make_key_return=''){
+ $bo_sort_fields = run_replace('get_board_sort_fields', array(
+ array('wr_num, wr_reply', '기본'),
+ array('wr_datetime asc', '날짜 이전것 부터'),
+ array('wr_datetime desc', '날짜 최근것 부터'),
+ array('wr_hit asc, wr_num, wr_reply', '조회수 낮은것 부터'),
+ array('wr_hit desc, wr_num, wr_reply', '조회수 높은것 부터'),
+ array('wr_last asc', '최근글 이전것 부터'),
+ array('wr_last desc', '최근글 최근것 부터'),
+ array('wr_comment asc, wr_num, wr_reply', '댓글수 낮은것 부터'),
+ array('wr_comment desc, wr_num, wr_reply', '댓글수 높은것 부터'),
+ array('wr_good asc, wr_num, wr_reply', '추천수 낮은것 부터'),
+ array('wr_good desc, wr_num, wr_reply', '추천수 높은것 부터'),
+ array('wr_nogood asc, wr_num, wr_reply', '비추천수 낮은것 부터'),
+ array('wr_nogood desc, wr_num, wr_reply', '비추천수 높은것 부터'),
+ array('wr_subject asc, wr_num, wr_reply', '제목 오름차순'),
+ array('wr_subject desc, wr_num, wr_reply', '제목 내림차순'),
+ array('wr_name asc, wr_num, wr_reply', '글쓴이 오름차순'),
+ array('wr_name desc, wr_num, wr_reply', '글쓴이 내림차순'),
+ array('ca_name asc, wr_num, wr_reply', '분류명 오름차순'),
+ array('ca_name desc, wr_num, wr_reply', '분류명 내림차순'),
+ ), $board, $make_key_return);
+
+ if( $make_key_return ){
+
+ $returns = array();
+ foreach( $bo_sort_fields as $v ){
+ $key = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*\s]/", "", $v[0]);
+ $returns[$key] = $v[0];
+ }
+
+ return $returns;
+ }
+ return $bo_sort_fields;
+}
+
function get_board_sfl_select_options($sfl){
global $is_admin;
|