001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094095096097098099100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
<?php // (2019.3.15, 차재복, Cha Jae Bok, http://www.ktword.co.kr) # 배열 목록 출력 함수 function contents_display($set, $cur_path, $id, $dbi) { echo "<ol class='ol_items'>"; foreach ($set as $key => $value) { // 항목 레벨 깊이 차이 계산 $diff = ($set[$key+1]['depth']-$set[$key]['depth']); echo "<li id='li_{$value['id']}' class='il_items'>"; // show/hide (▷/▽) ------------------------------------- if ( $diff > 0 or ($value['sub_cnt'] == 0 and $value['linked_num'] > 0 and $value['id']==$id) ) { echo " <a href='{$value['id']}' class='lower_ol_hideshow' data-id='{$value['id']}' style='color:red;'>▽</a>"; } else if ( $diff <= 0 or ($value['sub_cnt'] == 0 and $value['linked_num']>0 and $value['id']!=$id) ) { echo " <a href='{$value['id']}' class='ajax_page' data-id='{$value['id']}' style='color:red;'>▷</a>"; } // 빈 칸 echo " "; # 분류항목 명칭 및 요약 출력 ------------------------------ // 선택 항목 강조 (현 분류항목이 선택항목 path에 속하는지 여부에 따라 폰트 강조) $strong = ( strpos(','.$cur_path.',',','.$value['id'].',')!==false ? 'color:Crimson;' : '') ; // 분류항목 링크 표시 $href = "../view/view.php?nav=2&id={$value['id']}"; echo "<a href='{$href}' class='view' data-id='{$value['id']}' style='{$strong}'>"; // 분류항목 명칭 echo $value['name']; // 중간 띄어쓰기 echo " "; echo " : "; // 분류항목 요약 echo $value['yoyak']; echo "</a>"; # (편집자용) 분류항목 Edit 버튼, Move 버튼, 상세 편집용 div -------------------------------- if ( !empty($_SESSION['user_name']) ) { // 편집자용 edit 클릭 태그 호출 edit_span($value['id'], $value['name'], $value['sub_cnt'], ''); // 해당 항목 상세 편집용 div detail_edit_div($value['id'], '', $value['name'], $value['yoyak'], $value['sub_cnt']); } # 해당 id 항목 상세보기용 div echo "<div class='detail_view' data-id='{$value['id']}' data-no='' style='display:none;margin-top:5px;margin-left:25px;'>"; echo "</div>"; if ( $diff > 0) echo "<ol class='ol_items'>"; // 레벨 추가 // 개별 용어항목 명칭 및 요약 출력 if ( $value['linked_num'] > 0 and strpos(','.$cur_path.',',','.$value['id'].',') !== false ) { if ( $value['sub_cnt'] == 0 ) echo "<ol class='ol_items'>"; // 하부 분류 없으나, 용어항목들을 감싸기 위해 ol 추가 // 용어항목 명칭 및 요약 출력을 위한 함수 호출 detail_items_display($value['id'], $dbi); if ( $value['sub_cnt'] == 0 ) echo "</ol>"; } // (편집자용) 용어해설 항목 생성 편집용 div (처음에는 안 보임) if ( !empty($_SESSION['user_name']) ) { echo "<div class='no_edit' data-id='{$value['id']}' data-no='' style='display:none; margin-top:5px; margin-left:20px; border:1px dotted gray;'>"; edit_no($id); echo "</div>"; } if ( $diff == 0) echo "</li>"; // 동급 레벨 if ( $diff < 0) // 레벨 닫음 echo str_repeat("</ol></li>", - $diff); } echo "</ol>"; } # 각 id별 세부 용어 항목명 보이기 함수 루틴 function detail_items_display($id, $dbi) { $query="select titlename, no, list_ord, tree_id as id, yoyak from book_idx where tree_id={$id} order by list_ord, titlename"; $result = mysqli_query($dbi,$query); $cnt = mysqli_num_rows($result); $n=1; while ( $matched=mysqli_fetch_assoc($result) ) { echo "<li >"; echo " "; echo " $n. "; # 용어항목 명칭 및 요약 출력 ----------------------------- $href = "../view/view.php?nav=2&id={$id}&no={$matched['no']}"; echo "<a href='{$href}' class='view' data-id='{$id}' data-no='{$matched['no']}' >"; // 용어항목 명칭 echo $matched['titlename']; echo " "; // 용어항목 요약 출력 -------------------------------- if ( !empty($matched['yoyak']) ) { echo " : "; echo $matched['yoyak']; } echo "</a>"; # (편집자용) 용어항목 Edit 버튼 및 상세 편집용 div -------------------------------- if ( !empty($_SESSION['user_name']) ) { // 편집자용 edit 클릭 태그 호출 edit_span($id, $matched['titlename'], 0, $matched['no']); // 해당 항목 상세 편집용 div detail_edit_div ($id, $matched['no'], $matched['titlename'], $matched['yoyak']); } # 해당 no 항목 상세보기용 div (처음에는 화면에 안 보임) echo "<div class='detail_view' data-id='{$id}' data-no='{$matched['no']}' style='display:none;margin-top:5px;margin-left:20px;'>"; echo "</div>"; echo "</li>"; $n=$n+1; } } ?>