 
 ========== 사용 전 읽어 주세요 ==========
 1. 현재 페이지는 저작권에 관해서도 일부 포함하고 있습니다
 2. 사용하고 계신 업로더는 초기 버전이므로 안정화가 되기까지 잦은 수정과 추가 보완 혹은 보안이 이뤄질 수 있습니다
    안정화 버전을 원하시는 분은 좀 더 시간을 들여 추후 공개되는 소스를 관찰후 사용 하시길 권합니다
 3. 저작권의 형태는 이후 변경될 수 있습니다 모든 저작권은 현재 최초 소스 공개자인 원작자에게 있습니다
 4. 프로그램 작업은 혼자 개발에 의한 것이며 소스의 일부분은 챗gpt에 의해 도움을 받아 발췌된 부분이 일부 있음을 알립니다 ( 유틸관련 소스중 일부 영역 그외 )
 5. 사용상 문제는 프로그램을 설치하는 그 순간부터 있을 수 있음을 미리 알려 드립니다
    되도록 문제가 발생하지 않게 최대한 노력은 했으나
    언제든 오류나 문제가 발생할 수 있음을 미리 인지하고 그에 대비하는 자세로 사용해 주시길 바랍니다 ( 되도록이면 수시로 소스 파일 백업,  데이터 파일 백업을 권합니다 )
 6. 어느 정도 php와 자바스크립트 전문 지식이 있는 분이 사용하시길 바랍니다 혹여 문제 발생시 혼자 해결할 수 있는 분이여야 사용함에 있어 덜 불편할 수 있습니다
 7. 문제 발생시 본인이 책임을 지실 수 있는 분만 사용하시길 바랍니다 
 8. 프로그램 사용으로 인한 문제 발생에 관해 어떠한 책임도 저작권자에게는 없음을 다시 한번 알려드립니다
 9. 소스의 변형은 허락하나 모든 책임은 변경한 분에게 있음을 알립니다 그러므로 소스 변경 개발자는 변경된 소스에 책임을 더 가지고 접근하시기 바랍니다
 10.소스는 금전적인 판매를 위해서 변형을 당분간 허용하지 않습니다 ( 안정화가 되고 라이센스가 명확해지면 그에 따라 바뀔수 있습니다 )
 11. 아래는 설치 과정입니다 그대로 따라 해 주세요









    - 그누보드 설치 과정 G5 순정 기준 -

   ▣ 0.  g5라는 그누보드 폴더를 기준으로 홈페이지 루트에 설치 되어 있다는 가정하에
    
    
   ▣ 1. 사용하는 스킨내 소스 변경
   
        /g5/skin/board/basic/write.skin.php   또는
        /g5/skin/board/gallery/write.skin.php
        원본 기준 136번째 라인 아래에 추가및 주석처리 ( basic스킨 기준 )
	
        원본 게시판 스킨을 기준으로 추가해 준 것이므로 자신이 가진 다른 스킨에 적용을 하고자 하는 분은 위의 것을 기준 삼아 추가하고 변형해 주시면 됩니다
        기존의 업로더를 멀티 업로더로 바꾸는 과정입니다

<?php
/*===============================================
 * 웹용 멀티 파일 업로더 추가 :: 시작
 * 원본 기준 136번째 라인 아래에 추가
**---------------------------------------------*/
if( file_exists( G5_PLUGIN_PATH.'/multi_uploader/cms_plugins/gnuboard/gnu_multi_uploader_write_skin.php' ) ){
    include_once ( G5_PLUGIN_PATH.'/multi_uploader/cms_plugins/gnuboard/gnu_multi_uploader_write_skin.php' ); 
}
/*-----------------------------------------------
 * 웹용 멀티 파일 업로더 추가 :: 끝
**==============================================*/
?> 

<?php
/* 
//위의 멀티 업로더 스킨 안에 포함 되어 있으므로 원본 주석 처리

    <?php for ($i=0; $is_file && $i<$file_count; $i++) { ?>
    <div class="bo_w_flie write_div">
        <div class="file_wr write_div">
            <label for="bf_file_<?php echo $i+1 ?>" class="lb_icon"><i class="fa fa-folder-open" aria-hidden="true"></i><span class="sound_only"> 파일 #<?php echo $i+1 ?></span></label>
            <input type="file" name="bf_file[]" id="bf_file_<?php echo $i+1 ?>" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file ">
        </div>
        <?php if ($is_file_content) { ?>
        <input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="full_input frm_input" size="50" placeholder="파일 설명을 입력해주세요.">
        <?php } ?>

        <?php if($w == 'u' && $file[$i]['file']) { ?>
        <span class="file_del">
            <input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i;  ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')';  ?> 파일 삭제</label>
        </span>
        <?php } ?>
        
    </div>
    <?php } ?>

// 위의 멀티 업로더 스킨 안에 포함 되어 있으므로 주석 처리
*/
?>




 
	
       
   ▣ 2. 업데이트 관련 파일 수정
      /g5/bbs/write_update.php 파일 수정
      - 원본 기준 475번째 라인 아래에 추가
      - 원본 기준 657번째 라인 아래에 추가
       
/*===============================================
 * 멀티 파일 업로더 추가 :: 시작
 * 원본 기준 475번째 라인 아래에 추가
**---------------------------------------------*/
if( file_exists( G5_PLUGIN_PATH.'/multi_uploader/cms_plugins/gnuboard/gnu_multi_uploader_update1.php' ) ){
    include_once ( G5_PLUGIN_PATH.'/multi_uploader/cms_plugins/gnuboard/gnu_multi_uploader_update1.php' ); 
}
/*-----------------------------------------------
 * 멀티 파일 업로더 추가 :: 끝
**==============================================*/



/*===============================================
 * 멀티 파일 업로더 추가 :: 시작
 * 원본 기준 657번째 라인 아래에 추가
 * 대표 썸네일 업데이트
**---------------------------------------------*/ 
if( file_exists( G5_PLUGIN_PATH.'/multi_uploader/cms_plugins/gnuboard/gnu_multi_uploader_update2.php' ) ){
    include_once ( G5_PLUGIN_PATH.'/multi_uploader/cms_plugins/gnuboard/gnu_multi_uploader_update2.php' ); 
}
/*-----------------------------------------------
 * 멀티 파일 업로더 추가 :: 끝
**==============================================*/


 
   ▣ 3. 리스트 썸네일 호출을 위한 함수내 소스 추가

	1) /g5/lib/common.lib.php 파일  => function get_file($bo_table, $wr_id) 함수내 추가
	   약 380번째 줄 $file['count']++; 위에 아래의 소스를 추가 :: 리스트에서 선택된 사진의 대표 썸네일을 보여주는 역할을 합니다


        $file[$no]['bf_list_thumbnail'] = $row['bf_list_thumbnail']; // 대표 썸네일 추가2025.03.18



	2) /g5/lib/get_data.lib.php 파일 => function get_board_file_db($bo_table, $wr_id, $fields='*', $add_where='', $is_cache=false)  함수내 추가
	   약 202번째 줄 아래  $sql = " select $fields from...... 위에 다음의 소스를 추가  


	
	$add_where .= ' AND  bf_list_thumbnail = \'Y\' '; // 대표 썸네임을 가져오기 위해서 추가 2025.03.18


 
 


   
   ▣ 4. 관리자로 로그인후 데이터 베이스에 필드 추가를 위해 아래이 페이지를 호출
    
	호출 :: http://사이트URL/g5/plugin/multi_uploader/cms_plugins/gnuboard/gnu_add_colum.php

	파일 테이블(g5_board_file)에 썸네일중 리스트에서 사용할 대표 썸네일을 선택하는 필드( bf_list_thumbnail )를 추가합니다
	기존의 자료는 무조건 1번 파일이 대표 썸네일이 되도록 디펄트 작업을 위해 업데이트합니다 

	디비에 직접 추가하셔도 됩니다 쿼리는 아래와 같습니다
	g5_board_file 자신의 그누보드 테이블 접두어 환경에 맞게 테이블명을 넣으세요 ( g5_board_file )

	"ALTER TABLE `g5_board_file`
	ADD COLUMN `bf_list_thumbnail` ENUM('Y','N') NOT NULL DEFAULT 'N' COMMENT '대표 썸네일' COLLATE 'utf8_general_ci' AFTER `bf_datetime`";

	"UPDATE `g5_board_file` SET `bf_list_thumbnail`='Y' WHERE `bf_no`=0";





   ▣ 5. 환경설정
   
	multi_uploader_config.php :: 주석문들 참고





   ▣ 6. 데모 페이지
   
	http://홈주소/g5/plugin/multi_uploader/demo/multi_upload1.html
	http://홈주소/g5/plugin/multi_uploader/demo/multi_upload2.html
	
	
	
	
	
	
	