인덱스 정렬이 제대로 되지 않는 부분 수정
This commit is contained in:
@ -107,6 +107,10 @@ $rb_skin['md_auto_is'] 자동롤링 여부(1,0)
|
|||||||
<div class="rb-swiper-wrapper swiper-wrapper">
|
<div class="rb-swiper-wrapper swiper-wrapper">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
/*
|
||||||
|
설정된 게시물의 갯수만큼 가져온 후, 그 중에서 조건에 맞도록 추출하는 과정을 거치므로
|
||||||
|
이미 종료되는 등 조건에 맞지 않는 게시물이 많다면 아직 조건에 맞는 게시물이 있다 하더라도 출력되지 않을 수 있음.
|
||||||
|
*/
|
||||||
$todays = date('Y-m-d');
|
$todays = date('Y-m-d');
|
||||||
|
|
||||||
foreach ($list as &$item) {
|
foreach ($list as &$item) {
|
||||||
@ -115,14 +119,19 @@ $rb_skin['md_auto_is'] 자동롤링 여부(1,0)
|
|||||||
|
|
||||||
// 상태 및 정렬 우선순위 설정
|
// 상태 및 정렬 우선순위 설정
|
||||||
if ($start_date && $end_date) {
|
if ($start_date && $end_date) {
|
||||||
if ($todays < $start_date) {
|
// 날짜 비교를 strtotime으로 변경 (더 안전함)
|
||||||
$item['_status'] = '예정'; // 예정
|
$today_time = strtotime($todays);
|
||||||
|
$start_time = strtotime($start_date);
|
||||||
|
$end_time = strtotime($end_date);
|
||||||
|
|
||||||
|
if ($today_time < $start_time) {
|
||||||
|
$item['_status'] = '예정';
|
||||||
$item['_sort'] = 1;
|
$item['_sort'] = 1;
|
||||||
} elseif ($todays > $end_date) {
|
} elseif ($today_time > $end_time) {
|
||||||
$item['_status'] = '종료'; // 종료
|
$item['_status'] = '종료';
|
||||||
$item['_sort'] = 3;
|
$item['_sort'] = 3;
|
||||||
} else {
|
} else {
|
||||||
$item['_status'] = '진행'; // 진행 중
|
$item['_status'] = '진행';
|
||||||
$item['_sort'] = 0;
|
$item['_sort'] = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -130,15 +139,15 @@ $rb_skin['md_auto_is'] 자동롤링 여부(1,0)
|
|||||||
$item['_sort'] = 9;
|
$item['_sort'] = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 시작일 없을 경우를 고려한 비교용 날짜 (미입력 시 최후순)
|
// 시작일 없을 경우를 고려한 비교용 날짜
|
||||||
$item['_start_date'] = $start_date ? $start_date : '9999-99-99';
|
$item['_start_date'] = $start_date ? $start_date : '9999-99-99';
|
||||||
}
|
}
|
||||||
unset($item);
|
unset($item);
|
||||||
|
|
||||||
// 정렬: 상태 우선순위(_sort) → 시작일(_start_date)
|
// 정렬: 상태 우선순위(_sort) → 시작일 최근순(내림차순)
|
||||||
usort($list, function ($a, $b) {
|
usort($list, function ($a, $b) {
|
||||||
if ($a['_sort'] === $b['_sort']) {
|
if ($a['_sort'] === $b['_sort']) {
|
||||||
// 시작일이 빠른 순서대로 하려는 경우 a, b의 순서를 변경하면 됨
|
// strcmp를 역순으로: 시작일이 최근인 것을 먼저 (내림차순)
|
||||||
return strcmp($b['_start_date'], $a['_start_date']);
|
return strcmp($b['_start_date'], $a['_start_date']);
|
||||||
}
|
}
|
||||||
return $a['_sort'] <=> $b['_sort'];
|
return $a['_sort'] <=> $b['_sort'];
|
||||||
@ -149,52 +158,50 @@ $rb_skin['md_auto_is'] 자동롤링 여부(1,0)
|
|||||||
return $item['_status'] !== '종료';
|
return $item['_status'] !== '종료';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// array_filter 후 인덱스 재정렬 (중요!)
|
||||||
|
$list = array_values($list);
|
||||||
|
|
||||||
// 정렬 후 list_count 재설정
|
// 정렬 후 list_count 재설정
|
||||||
$list_count = count($list);
|
$list_count = count($list);
|
||||||
|
|
||||||
for ($i=0; $i<$list_count; $i++) {
|
for ($i=0; $i<$list_count; $i++) {
|
||||||
|
|
||||||
//썸네일
|
//썸네일
|
||||||
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
|
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
|
||||||
|
|
||||||
//썸네일여부 확인
|
//썸네일여부 확인
|
||||||
if($thumb['src']) {
|
if($thumb['src']) {
|
||||||
if (strstr($list[$i]['wr_option'], 'secret')) {
|
if (strstr($list[$i]['wr_option'], 'secret')) {
|
||||||
$img = G5_THEME_URL.'/rb.img/sec_image.png';
|
$img = G5_THEME_URL.'/rb.img/sec_image.png';
|
||||||
} else {
|
} else {
|
||||||
$img = $thumb['src'];
|
$img = $thumb['src'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$img = G5_THEME_URL.'/rb.img/no_image.png';
|
||||||
|
$thumb['alt'] = '이미지가 없습니다.';
|
||||||
|
}
|
||||||
|
|
||||||
|
//썸네일 출력 class="skin_list_image" 필수 (높이값 설정용)
|
||||||
|
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" class="skin_list_image">';
|
||||||
|
|
||||||
|
//게시물 링크
|
||||||
|
$wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);
|
||||||
|
$sec_txt = '<span style="opacity:0.6">작성자 및 관리자 외 열람할 수 없습니다.<br>비밀글 기능으로 보호된 글입니다.</span>';
|
||||||
|
$wr_content = strip_tags($list[$i]['wr_content']);
|
||||||
|
|
||||||
|
//이벤트 라벨
|
||||||
|
$rb_ev_ico = '';
|
||||||
|
switch ($list[$i]['_status']) {
|
||||||
|
case '예정':
|
||||||
|
$rb_ev_ico = '<span class="rb_latest_event_label ev_label1 font-R" style="opacity:0.5;">예정</span>';
|
||||||
|
break;
|
||||||
|
case '종료':
|
||||||
|
$rb_ev_ico = '<span class="rb_latest_event_label ev_label2 font-R">종료</span>';
|
||||||
|
break;
|
||||||
|
case '진행':
|
||||||
|
$rb_ev_ico = '<span class="rb_latest_event_label main_rb_bg color-fff font-R">진행</span>';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$img = G5_THEME_URL.'/rb.img/no_image.png';
|
|
||||||
$thumb['alt'] = '이미지가 없습니다.';
|
|
||||||
}
|
|
||||||
|
|
||||||
//썸네일 출력 class="skin_list_image" 필수 (높이값 설정용)
|
|
||||||
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" class="skin_list_image">';
|
|
||||||
|
|
||||||
//게시물 링크
|
|
||||||
$wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);
|
|
||||||
$sec_txt = '<span style="opacity:0.6">작성자 및 관리자 외 열람할 수 없습니다.<br>비밀글 기능으로 보호된 글입니다.</span>';
|
|
||||||
$wr_content = strip_tags($list[$i]['wr_content']);
|
|
||||||
|
|
||||||
//이벤트
|
|
||||||
$todays = date('Y-m-d'); // 오늘 날짜
|
|
||||||
|
|
||||||
$start_date = isset($list[$i]['wr_1']) ? $list[$i]['wr_1'] : '';
|
|
||||||
$end_date = isset($list[$i]['wr_2']) ? $list[$i]['wr_2'] : '';
|
|
||||||
$rb_ev_ico = '';
|
|
||||||
|
|
||||||
switch ($list[$i]['_status']) {
|
|
||||||
case '예정':
|
|
||||||
$rb_ev_ico = '<span class="rb_latest_event_label ev_label1 font-R" style="opacity:0.5;">예정</span>';
|
|
||||||
break;
|
|
||||||
case '종료':
|
|
||||||
$rb_ev_ico = '<span class="rb_latest_event_label ev_label2 font-R">종료</span>';
|
|
||||||
break;
|
|
||||||
case '진행':
|
|
||||||
$rb_ev_ico = '<span class="rb_latest_event_label main_rb_bg color-fff font-R">진행</span>';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="rb_swiper_list">
|
<div class="rb_swiper_list">
|
||||||
@ -303,7 +310,6 @@ $rb_skin['md_auto_is'] 자동롤링 여부(1,0)
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user