add search

This commit is contained in:
Amberstone 2024-11-25 23:56:26 +09:00
parent 244a8d275e
commit 6ac6a1a4d9
Signed by: amber
GPG key ID: 094B0E55F98D8BF1
2 changed files with 238 additions and 198 deletions

View file

@ -69,6 +69,7 @@ $month_pre = 0;
?> ?>
<div id="bo_frame" style="max-width:<?= $width ?>;margin:0 auto;"> <div id="bo_frame" style="max-width:<?= $width ?>;margin:0 auto;">
<!-- 상단 공지 부분 --> <!-- 상단 공지 부분 -->
<?php if (empty($stx)) { ?>
<nav class="pg_wrap theme-box"> <nav class="pg_wrap theme-box">
<span class="pg control"> <span class="pg control">
<a href="<?= G5_BBS_URL . "/board.php?bo_table=" . $bo_table . "&"; <a href="<?= G5_BBS_URL . "/board.php?bo_table=" . $bo_table . "&";
@ -129,162 +130,181 @@ $month_pre = 0;
</a> </a>
</span> </span>
</nav> </nav>
<?php } else { ?>
<nav class="pg_wrap theme-box">
<span></span>
<h2 class="this-month txt-point" style="padding: 8px 0"><?=$stx?>의 검색 결과</h2>
</nav>
<?php } ?>
<div id="bo_list"> <div id="bo_list">
<section id="diary_calendar"> <section id="diary_calendar">
<div class="diary-calendar theme-box"> <div class="diary-calendar theme-box">
<h2 class="this-month txt-point"><?= $year ?>/<?= $sel_mon ?></h2> <?php
<div class="controls txt-right"> if (!empty($stx)) {
<?php if ($admin_href) { ?><a href="<?= $admin_href ?>" class="ui-btn small admin">관리자</a><?php } ?> ?>
</div> <h2 class="this-month txt-point">
<table class="theme-list calendar-list"> <a href="<?= G5_BBS_URL ?>/board.php?bo_table=<?=$bo_table?>">돌아가기</a>
<thead> </h2>
<tr class="txt-center"> <div class="controls txt-right">
<th class="sun"></th> <?php if ($admin_href) { ?><a href="<?= $admin_href ?>" class="ui-btn small admin">관리자</a><?php } ?>
<th></th> </div>
<th></th> <?
<th></th> } else {
<th></th> ?>
<th></th> <h2 class="this-month txt-point"><?= $year ?>/<?= $sel_mon ?></h2>
<th class="sat"></th> <div class="controls txt-right">
</tr> <?php if ($admin_href) { ?><a href="<?= $admin_href ?>" class="ui-btn small admin">관리자</a><?php } ?>
</thead> </div>
<tbody> <table class="theme-list calendar-list">
<?php <thead>
$query = "SELECT * FROM {$write_table} WHERE wr_1!='' and left(wr_1,6) = '$year$sel_mon' ORDER BY wr_id ASC"; <tr class="txt-center">
$result = sql_query($query); <th class="sun"></th>
$j = 0; // layer id <th></th>
// 내용을 보여주는 부분 <th></th>
while ($row = sql_fetch_array($result)) { // 제목글 뽑아서 링크 문자열 만들기.. <th></th>
if (strstr($row['wr_option'], "secret") && (!$is_admin || ($row['mb_id'] && $member['mb_id'] != $member['mb_id']))) <th></th>
continue; <th></th>
if (substr($row['wr_1'], 0, 6) < $year . $sel_mon) { <th class="sat"></th>
$start_day = 1; </tr>
$start_day = (int) $start_day; </thead>
} else { <tbody>
$start_day = substr($row['wr_1'], 6, 2); <?php
$start_day = (int) $start_day; $query = "SELECT * FROM {$write_table} WHERE wr_1!='' and left(wr_1,6) = '$year$sel_mon' ORDER BY wr_id ASC";
} $result = sql_query($query);
$j = 0; // layer id
$end_day = $start_day; // 내용을 보여주는 부분
while ($row = sql_fetch_array($result)) { // 제목글 뽑아서 링크 문자열 만들기..
if (!$write_href) { if (strstr($row['wr_option'], "secret") && (!$is_admin || ($row['mb_id'] && $member['mb_id'] != $member['mb_id'])))
$link = ''; continue;
$cursor = " default"; if (substr($row['wr_1'], 0, 6) < $year . $sel_mon) {
} else if ($is_admin || ($member['mb_id'] && $member['mb_id'] == $row['mb_id'])) { $start_day = 1;
$cursor = ""; $start_day = (int) $start_day;
$link = "get_info('" . $row['wr_1'] . "');";
} else {
$link = "";
$cursor = " default";
}
$secret = strstr($row['wr_option'], "secret") ? "secret" : "";
$html_day[$start_day] .= '<a href="#" onclick="' . $link . ' return false;" id="d_' . $row['wr_1'] . '" class="wr-date ui-btn point' . $cursor . '">';
$html_day[$start_day] .= '<i>' . $start_day . '</i>';
$html_day[$start_day] .= '</a>';
}
// 달력의 틀을 보여주는 부분
$temp = 7 - (($lastday[$month] + $dayoftheweek) % 7);
if ($temp == 7)
$temp = 0;
$lastcount = $lastday[$month] + $dayoftheweek + $temp;
for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다.
$bgcolor = "days"; // 쭉 흰색으로 칠하고
if ($b_year == $year && $b_mon == $month && $b_day == $cday)
$bgcolor = "today"; // 오늘날짜 표기
$re = $iz % 7;
if ($re == 1)
echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다.
if ($dayoftheweek < $iz && $iz <= $lastday[$month] + $dayoftheweek) {
// 전체 루프안에서 숫자가 들어가는 셀들만 해당됨
// 즉 11월 달에서 1일부터 30 일까지만 해당
$daytext = "$cday"; // $cday 는 숫자 예> 11월달은 1~ 30일 까지
//$daytext 은 셀에 써질 날짜 숫자 넣을 공간
// 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고
// 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.
if ($re == 0)
$col = "right";
else if ($re == 1)
$col = "left";
else
$col = "";
$fr_date = $year . sprintf("%02d", $month) . sprintf("%02d", $cday);
echo ("<td width=$col_width height=$col_height class='{$bgcolor} {$col}' valign='top'>");
// 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정
if (strlen($month) == 1) {
$monthp = "0" . $month;
} else {
$monthp = $month;
}
if (strlen($cday) == 1) {
$cdayp = "0" . $cday;
} else {
$cdayp = $cday;
}
$memday = $year . $monthp . $cdayp;
$daycont = "";
// 기념일(양력) 표시
/*
for($i=0 ; $i < sizeof($dayfile) ; $i++) { // 파일 첫 행부터 끝행까지 루프
$arrDay = explode("|", $dayfile[$i]);
if($memday == $year.$arrDay[0]) {
$daycont = $arrDay[1];
$daycontcolor = $arrDay[2];
if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시
}
}
*/
// 석봉운님의 음력날짜 변수선언
/*
$myarray = soltolun($year,$month,$cday);
if ($myarray[day]==1 || $myarray[day]==11 || $myarray[day]==21) {
$moonday ="<font color='gray'>&nbsp;(음)$myarray[month].$myarray[day]$myarray[leap]</font>";
} else { } else {
$moonday=""; $start_day = substr($row['wr_1'], 6, 2);
$start_day = (int) $start_day;
} }
include $file_index."/lunar.txt"; ### 음력 기념일 파일 지정 $end_day = $start_day;
if ($annivmoonday&&$daycont) $blank="<br />"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔 if (!$write_href) {
else $blank=""; $link = '';
*/ $cursor = " default";
if ($html_day[$cday]) { } else if ($is_admin || ($member['mb_id'] && $member['mb_id'] == $row['mb_id'])) {
echo $html_day[$cday];
} else {
if ($write_href) {
$wlink = "get_info('" . $fr_date . "');";
$cursor = ""; $cursor = "";
$link = "get_info('" . $row['wr_1'] . "');";
} else { } else {
$wlink = ""; $link = "";
$cursor = " default"; $cursor = " default";
} }
$html_day[$cday] .= '<a href="#" onclick="' . $wlink . ' return false;" id="w_' . $fr_date . '" class="wr-date ui-btn etc' . $cursor . '" data-date="' . $fr_date . '" data-mood="" data-etc="" data-wid="">'; $secret = strstr($row['wr_option'], "secret") ? "secret" : "";
$html_day[$cday] .= '<i>' . $daytext . '</i>';
$html_day[$cday] .= '</a>'; $html_day[$start_day] .= '<a href="#" onclick="' . $link . ' return false;" id="d_' . $row['wr_1'] . '" class="wr-date ui-btn point' . $cursor . '">';
echo $html_day[$cday]; $html_day[$start_day] .= '<i>' . $start_day . '</i>';
$html_day[$start_day] .= '</a>';
} }
echo ("</td>"); // 한칸을 마무리
$cday++; // 날짜를 카운팅 // 달력의 틀을 보여주는 부분
}
// 유효날짜가 아니면 그냥 회색을 칠한다. $temp = 7 - (($lastday[$month] + $dayoftheweek) % 7);
else {
echo ("<td width=$col_width height=$col_height class='noday'>&nbsp;</td>"); if ($temp == 7)
} $temp = 0;
if ($re == 0) $lastcount = $lastday[$month] + $dayoftheweek + $temp;
echo ("</tr>");
} // 반복구문이 끝남 for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다.
unset($row); $bgcolor = "days"; // 쭉 흰색으로 칠하고
?> if ($b_year == $year && $b_mon == $month && $b_day == $cday)
</tbody> $bgcolor = "today"; // 오늘날짜 표기
</table> $re = $iz % 7;
if ($re == 1)
echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다.
if ($dayoftheweek < $iz && $iz <= $lastday[$month] + $dayoftheweek) {
// 전체 루프안에서 숫자가 들어가는 셀들만 해당됨
// 즉 11월 달에서 1일부터 30 일까지만 해당
$daytext = "$cday"; // $cday 는 숫자 예> 11월달은 1~ 30일 까지
//$daytext 은 셀에 써질 날짜 숫자 넣을 공간
// 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고
// 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.
if ($re == 0)
$col = "right";
else if ($re == 1)
$col = "left";
else
$col = "";
$fr_date = $year . sprintf("%02d", $month) . sprintf("%02d", $cday);
echo ("<td width=$col_width height=$col_height class='{$bgcolor} {$col}' valign='top'>");
// 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정
if (strlen($month) == 1) {
$monthp = "0" . $month;
} else {
$monthp = $month;
}
if (strlen($cday) == 1) {
$cdayp = "0" . $cday;
} else {
$cdayp = $cday;
}
$memday = $year . $monthp . $cdayp;
$daycont = "";
// 기념일(양력) 표시
/*
for($i=0 ; $i < sizeof($dayfile) ; $i++) { // 파일 첫 행부터 끝행까지 루프
$arrDay = explode("|", $dayfile[$i]);
if($memday == $year.$arrDay[0]) {
$daycont = $arrDay[1];
$daycontcolor = $arrDay[2];
if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시
}
}
*/
// 석봉운님의 음력날짜 변수선언
/*
$myarray = soltolun($year,$month,$cday);
if ($myarray[day]==1 || $myarray[day]==11 || $myarray[day]==21) {
$moonday ="<font color='gray'>&nbsp;(음)$myarray[month].$myarray[day]$myarray[leap]</font>";
} else {
$moonday="";
}
include $file_index."/lunar.txt"; ### 음력 기념일 파일 지정
if ($annivmoonday&&$daycont) $blank="<br />"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔
else $blank="";
*/
if ($html_day[$cday]) {
echo $html_day[$cday];
} else {
if ($write_href) {
$wlink = "get_info('" . $fr_date . "');";
$cursor = "";
} else {
$wlink = "";
$cursor = " default";
}
$html_day[$cday] .= '<a href="#" onclick="' . $wlink . ' return false;" id="w_' . $fr_date . '" class="wr-date ui-btn etc' . $cursor . '" data-date="' . $fr_date . '" data-mood="" data-etc="" data-wid="">';
$html_day[$cday] .= '<i>' . $daytext . '</i>';
$html_day[$cday] .= '</a>';
echo $html_day[$cday];
}
echo ("</td>"); // 한칸을 마무리
$cday++; // 날짜를 카운팅
}
// 유효날짜가 아니면 그냥 회색을 칠한다.
else {
echo ("<td width=$col_width height=$col_height class='noday'>&nbsp;</td>");
}
if ($re == 0)
echo ("</tr>");
} // 반복구문이 끝남
unset($row);
?>
</tbody>
</table>
<?php } ?>
</div> </div>
<?php if ($board['bo_content_head']) { ?> <?php if ($board['bo_content_head']) { ?>
<hr class="padding small"> <hr class="padding small">
@ -292,7 +312,7 @@ $month_pre = 0;
<?= stripslashes($board['bo_content_head']); ?> <?= stripslashes($board['bo_content_head']); ?>
</div> </div>
<?php } ?> <?php } ?>
<?php if ($is_member && $write_href) { ?> <?php if ($is_member && $write_href && empty($stx)) { ?>
<hr class="padding small"> <hr class="padding small">
<div id="diary_write" class="none-trans"> <div id="diary_write" class="none-trans">
<div class="theme-box"> <div class="theme-box">
@ -302,65 +322,85 @@ $month_pre = 0;
</div> </div>
<hr class="padding small"> <hr class="padding small">
<?php } ?> <?php } ?>
<fieldset id="bo_sch">
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<input type="hidden" name="sfl" value="wr_content">
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx"
class="frm_input required" size="15" maxlength="20">
<button type="submit" class="ui-btn"><i class="material-icons">search</i></button>
</form>
</fieldset>
</section> </section>
<section id="diary_list"> <section id="diary_list">
<div class="diary-cont"> <div class="diary-cont">
<?php <?php
$order = $board['bo_4'] ? "asc" : "desc"; $order = $board['bo_4'] ? "asc" : "desc";
$result = sql_query("SELECT * FROM {$write_table} WHERE wr_1!='' and left(wr_1,6) = '$year$sel_mon' ORDER BY wr_1 {$order}"); $result = sql_query("SELECT * FROM {$write_table} WHERE wr_1!='' and left(wr_1,6) = '$year$sel_mon' ORDER BY wr_1 {$order}");
for ($i = 0; $row = sql_fetch_array($result); $i++) { if (!empty($stx)) {
if (strstr($row['wr_option'], "secret") && (!$is_admin || ($row['mb_id'] && $member['mb_id'] != $member['mb_id']))) // need after fix for secure
continue; $stx = "\"%".stripslashes($stx)."%\"";
?> $result = sql_query("SELECT * FROM {$write_table} WHERE wr_content LIKE {$stx} ORDER BY wr_id");
<div class="theme-box" id="w_<?= $row['wr_1'] ?>" data-date="<?= $row['wr_1'] ?>" }
data-wid="<?= $row['wr_id'] ?>"> for ($i = 0; $row = sql_fetch_array($result); $i++) {
<div class="options"> if (strstr($row['wr_option'], "secret") && (!$is_admin || ($row['mb_id'] && $member['mb_id'] != $member['mb_id'])))
<h3 class="wr_date"> continue;
<?= substr($row['wr_1'], 0, 4) ?>/<?= substr($row['wr_1'], 4, 2) ?>/<?= substr($row['wr_1'], 6, 2) ?><span ?>
class="secret"><?= strstr($row['wr_option'], "secret") ? " ::" : ""; ?></span> <div class="theme-box" id="w_<?= $row['wr_1'] ?>" data-date="<?= $row['wr_1'] ?>"
</h3> data-wid="<?= $row['wr_id'] ?>">
<p class="btn_confirm"> <div class="options">
<?php if ($is_admin || ($member['mb_id'] && $member['mb_id'] == $row['mb_id'])) { <h3 class="wr_date">
$cursor = ""; <?= substr($row['wr_1'], 0, 4) ?>/<?= substr($row['wr_1'], 4, 2) ?>/<?= substr($row['wr_1'], 6, 2) ?><span
$delete_href = ""; class="secret"><?= strstr($row['wr_option'], "secret") ? " ::" : ""; ?></span>
// 로그인중이고 자신의 글이라면 또는 관리자라면 패스워드를 묻지 않고 바로 수정, 삭제 가능 </h3>
if (($member['mb_id'] && ($member['mb_id'] == $row['mb_id'])) || $is_admin) { <p class="btn_confirm">
$delete_href = "javascript:del('./delete.php?bo_table=" . $bo_table . "&wr_id=" . $row['wr_id'] . "&page=" . $page . urldecode($qstr) . "');"; <?php if ($is_admin || ($member['mb_id'] && $member['mb_id'] == $row['mb_id'])) {
if ($is_admin) { $cursor = "";
$delete_href = "javascript:del('./delete.php?bo_table=" . $bo_table . "&wr_id=" . $row['wr_id'] . "&token=" . $token . "&page=" . $page . urldecode($qstr) . "');"; $delete_href = "";
// 로그인중이고 자신의 글이라면 또는 관리자라면 패스워드를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] == $row['mb_id'])) || $is_admin) {
$delete_href = "javascript:del('./delete.php?bo_table=" . $bo_table . "&wr_id=" . $row['wr_id'] . "&page=" . $page . urldecode($qstr) . "');";
if ($is_admin) {
$delete_href = "javascript:del('./delete.php?bo_table=" . $bo_table . "&wr_id=" . $row['wr_id'] . "&token=" . $token . "&page=" . $page . urldecode($qstr) . "');";
}
} else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면
$delete_href = "./password.php?w=d&bo_table=" . $bo_table . "&wr_id=" . $row['wr_id'] . "&page=" . $page . $qstr;
} }
} else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면 ?><a href="#" onclick="get_info('<?= $row['wr_1'] ?>'); return false;">M</a><a
$delete_href = "./password.php?w=d&bo_table=" . $bo_table . "&wr_id=" . $row['wr_id'] . "&page=" . $page . $qstr; href="<?= $delete_href ?>">D</a>
} <?php
?><a href="#" onclick="get_info('<?= $row['wr_1'] ?>'); return false;">M</a><a } ?>
href="<?= $delete_href ?>">D</a>
<?php
} ?>
</p>
</div>
<hr class="line">
<div class="ui-cont<?= $row['wr_file'] ? " with-image" : ""; ?>">
<div class="ui-thumb file" data-file="<?= $row['wr_file'] ?>">
<?php if ($row['wr_file']) {
$thumb = get_list_thumbnail($bo_table, $row['wr_id'], $gall_w, $gall_h, false, true);
$thumb2 = get_mmb_image($bo_table, $row['wr_id']);
?>
<a href="<?= $thumb2['src'] ?>" onclick="view_img(this.href);return false;"><img
src="<?= $thumb['src'] ?>"></a>
<?php } ?>
</div>
<div class="diary-text">
<p class="misc"><?php if ($row['wr_4']) { ?><em><?= $board['bo_5'] ? $board['bo_5'] : "[날씨]"; ?></em>
<span class="weather"><?= $row['wr_4'] ?></span><?php }
if ($row['wr_3']) { ?><em><?= $board['bo_6'] ? $board['bo_6'] : "[무드]"; ?></em>
<span class="mood"><?= $row['wr_3'] ?></span><?php } ?>
</p> </p>
<div class="content"><?= nl2br($row['wr_content']) ?></div> </div>
<hr class="line">
<div class="ui-cont<?= $row['wr_file'] ? " with-image" : ""; ?>">
<div class="ui-thumb file" data-file="<?= $row['wr_file'] ?>">
<?php if ($row['wr_file']) {
$thumb = get_list_thumbnail($bo_table, $row['wr_id'], $gall_w, $gall_h, false, true);
$thumb2 = get_mmb_image($bo_table, $row['wr_id']);
?>
<a href="<?= $thumb2['src'] ?>" onclick="view_img(this.href);return false;"><img
src="<?= $thumb['src'] ?>"></a>
<?php } ?>
</div>
<div class="diary-text">
<p class="misc"><?php if ($row['wr_4']) { ?><em><?= $board['bo_5'] ? $board['bo_5'] : "[날씨]"; ?></em>
<span class="weather"><?= $row['wr_4'] ?></span><?php }
if ($row['wr_3']) { ?><em><?= $board['bo_6'] ? $board['bo_6'] : "[무드]"; ?></em>
<span class="mood"><?= $row['wr_3'] ?></span><?php } ?>
</p>
<div class="content"><?= nl2br($row['wr_content']) ?></div>
</div>
</div> </div>
</div> </div>
</div> <hr class="padding small">
<hr class="padding small"> <?php } ?>
<?php } ?>
</div> </div>
</section> </section>
</div> </div>

View file

@ -80,7 +80,7 @@ add_stylesheet('<link rel="stylesheet" href="' . $board_skin_url . '/style.css">
placeholder="<?= $board['bo_5'] ? $board['bo_5'] : "날씨"; ?>"><input type="text" name="wr_3" id="wr_3" placeholder="<?= $board['bo_5'] ? $board['bo_5'] : "날씨"; ?>"><input type="text" name="wr_3" id="wr_3"
value="<?= $write['wr_3'] ?>" placeholder="<?= $board['bo_6'] ? $board['bo_6'] : "무드"; ?>"> value="<?= $write['wr_3'] ?>" placeholder="<?= $board['bo_6'] ? $board['bo_6'] : "무드"; ?>">
</section> </section>
<textarea name="wr_content" id="wr_content" maxlength="255" required></textarea> <textarea name="wr_content" id="wr_content" required></textarea>
<input type="file" id="wr_file" name="bf_file[0]" title="파일첨부 : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" <input type="file" id="wr_file" name="bf_file[0]" title="파일첨부 : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능"
class="frm_file frm_input full"> class="frm_file frm_input full">
<div class="btn_confirm txt-right"> <div class="btn_confirm txt-right">