PageRenderTime 45ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/mobile/skin/board/basic/list.skin.php

https://gitlab.com/dev.essetel/sjnuri
PHP | 229 lines | 194 code | 30 blank | 5 comment | 53 complexity | ddd45ab97e0a97f6efede472cebfd520 MD5 | raw file
  1. <?php
  2. if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
  3. // 선택옵션으로 인해 셀합치기가 가변적으로 변함
  4. $colspan = 2;
  5. if ($is_checkbox) $colspan++;
  6. // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
  7. add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
  8. ?>
  9. <form name="fboardlist" id="fboardlist" action="<?php echo G5_BBS_URL; ?>/board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
  10. <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
  11. <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
  12. <input type="hidden" name="stx" value="<?php echo $stx ?>">
  13. <input type="hidden" name="spt" value="<?php echo $spt ?>">
  14. <input type="hidden" name="sst" value="<?php echo $sst ?>">
  15. <input type="hidden" name="sod" value="<?php echo $sod ?>">
  16. <input type="hidden" name="page" value="<?php echo $page ?>">
  17. <input type="hidden" name="sw" value="">
  18. <?php if ($rss_href || $write_href) { ?>
  19. <ul class="<?php echo isset($view) ? 'view_is_list btn_top' : 'btn_top top btn_bo_user';?>">
  20. <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
  21. <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b03 btn" title="RSS"><i class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li><?php } ?>
  22. <?php if ($is_admin == 'super' || $is_auth) { ?>
  23. <li>
  24. <button type="button" class="btn_more_opt btn_b03 btn is_list_btn" title="게시판 리스트 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 리스트 옵션</span></button>
  25. <?php if ($is_checkbox) { ?>
  26. <ul class="more_opt is_list_btn">
  27. <li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
  28. <li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
  29. <li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>
  30. </ul>
  31. <?php } ?>
  32. </li>
  33. <?php } ?>
  34. <?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="fix_btn write_btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
  35. </ul>
  36. <?php } ?>
  37. <!-- 게시판 목록 시작 -->
  38. <div id="bo_list">
  39. <?php if ($is_category) { ?>
  40. <nav id="bo_cate">
  41. <h2><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']) ?> 카테고리</h2>
  42. <ul id="bo_cate_ul">
  43. <?php echo $category_option ?>
  44. </ul>
  45. </nav>
  46. <?php } ?>
  47. <div class="list_01">
  48. <?php if ($is_checkbox) { ?>
  49. <div class="all_chk chk_box">
  50. <input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
  51. <label for="chkall">
  52. <span></span>
  53. <b class="sound_only">현재 페이지 게시물 </b> 전체선택
  54. </label>
  55. </div>
  56. <?php } ?>
  57. <ul>
  58. <?php for ($i=0; $i<count($list); $i++) { ?>
  59. <li class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
  60. <?php if ($is_checkbox) { ?>
  61. <div class="bo_chk chk_box">
  62. <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>" class="selec_chk">
  63. <label for="chk_wr_id_<?php echo $i ?>">
  64. <span></span>
  65. <b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
  66. </label>
  67. </div>
  68. <?php } ?>
  69. <div class="bo_cnt">
  70. <?php if ($list[$i]['is_notice'] || ($is_category && $list[$i]['ca_name'])) { ?>
  71. <div class="bo_cate_ico">
  72. <?php if ($list[$i]['is_notice']) { ?><strong class="notice_icon">공지</strong><?php } ?>
  73. <?php if ($is_category && $list[$i]['ca_name']) { ?>
  74. <a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name']; ?></a>
  75. <?php } ?>
  76. </div>
  77. <?php } ?>
  78. <a href="<?php echo $list[$i]['href'] ?>" class="bo_subject">
  79. <?php echo $list[$i]['icon_reply']; ?>
  80. <?php if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret']; ?>
  81. <?php echo $list[$i]['subject'] ?>
  82. <?php
  83. // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
  84. if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";
  85. if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
  86. if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
  87. if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
  88. ?>
  89. <?php if ($list[$i]['comment_cnt']) { ?>
  90. <span class="bo_cmt">
  91. <span class="sound_only">댓글</span>
  92. <?php echo $list[$i]['comment_cnt']; ?>
  93. <span class="sound_only"></span>
  94. </span>
  95. <?php } ?>
  96. </a>
  97. </div>
  98. <div class="bo_info">
  99. <span class="sound_only">작성자</span><?php echo $list[$i]['name'] ?>
  100. <span class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
  101. <span class="bo_view"><i class="fa fa-eye" aria-hidden="true"></i> <?php echo number_format($list[$i]['wr_hit']) ?><span class="sound_only"></span></span>
  102. <?php if ($is_good) { ?><span class="sound_only">추천</span><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?><?php } ?>
  103. <?php if ($is_nogood) { ?><span class="sound_only">비추천</span><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?><?php } ?>
  104. </div>
  105. </li>
  106. <?php } ?>
  107. <?php if (count($list) == 0) { echo '<li class="empty_table">게시물이 없습니다.</li>'; } ?>
  108. </ul>
  109. </div>
  110. </div>
  111. </form>
  112. <?php if($is_checkbox) { ?>
  113. <noscript>
  114. <p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
  115. </noscript>
  116. <?php } ?>
  117. <!-- 페이지 -->
  118. <?php echo $write_pages; ?>
  119. <div id="bo_list_total">
  120. <span>전체 <?php echo number_format($total_count) ?></span>
  121. <?php echo $page ?> 페이지
  122. </div>
  123. <fieldset id="bo_sch">
  124. <legend>게시물 검색</legend>
  125. <form name="fsearch" method="get">
  126. <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
  127. <input type="hidden" name="sca" value="<?php echo $sca ?>">
  128. <input type="hidden" name="sop" value="and">
  129. <label for="sfl" class="sound_only">검색대상</label>
  130. <select name="sfl" id="sfl">
  131. <?php echo get_board_sfl_select_options($sfl); ?>
  132. </select>
  133. <input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어를 입력하세요" required id="stx" class="sch_input" size="15" maxlength="20">
  134. <button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i> <span class="sound_only">검색</span></button>
  135. </form>
  136. </fieldset>
  137. <?php if ($is_checkbox) { ?>
  138. <script>
  139. function all_checked(sw) {
  140. var f = document.fboardlist;
  141. for (var i=0; i<f.length; i++) {
  142. if (f.elements[i].name == "chk_wr_id[]")
  143. f.elements[i].checked = sw;
  144. }
  145. }
  146. function fboardlist_submit(f) {
  147. var chk_count = 0;
  148. for (var i=0; i<f.length; i++) {
  149. if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
  150. chk_count++;
  151. }
  152. if (!chk_count) {
  153. alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
  154. return false;
  155. }
  156. if(document.pressed == "선택복사") {
  157. select_copy("copy");
  158. return;
  159. }
  160. if(document.pressed == "선택이동") {
  161. select_copy("move");
  162. return;
  163. }
  164. if(document.pressed == "선택삭제") {
  165. if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
  166. return false;
  167. f.removeAttribute("target");
  168. f.action = g5_bbs_url+"/board_list_update.php";
  169. }
  170. return true;
  171. }
  172. // 선택한 게시물 복사 및 이동
  173. function select_copy(sw) {
  174. var f = document.fboardlist;
  175. if (sw == 'copy')
  176. str = "복사";
  177. else
  178. str = "이동";
  179. var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
  180. f.sw.value = sw;
  181. f.target = "move";
  182. f.action = g5_bbs_url+"/move.php";
  183. f.submit();
  184. }
  185. // 게시판 리스트 관리자 옵션
  186. jQuery(function($){
  187. $(".btn_more_opt.is_list_btn").on("click", function(e) {
  188. e.stopPropagation();
  189. $(".more_opt.is_list_btn").toggle();
  190. });
  191. $(document).on("click", function (e) {
  192. if(!$(e.target).closest('.is_list_btn').length) {
  193. $(".more_opt.is_list_btn").hide();
  194. }
  195. });
  196. });
  197. </script>
  198. <?php } ?>
  199. <!-- 게시판 목록 -->