본문 바로가기

사용설명서

그누보드 대용량 파일첨부 플러그인 by 파일키위

그누보드로 운영하다 보면 첨부용량이 골치아프기 마련인데요.

파일첨부 용량을 늘려주고 싶지만 트래픽이 감당하는게 어렵죠. 

 

파일키위가 그누보드 운영자 분들을 위해서 준비했습니다. 

그누보드용 파일첨부 플러그인을 소개합니다. 용량에 제한없는 무료입니다.

제한이 있다면, 만료시간이 있습니다. 업로드된 파일은 일정시간내에 다운로드 받아야 합니다. 

 

게시판 방문자 입장에서 어떻게 사용하는지 일단 한번 보시죠. 


테스트 게시판으로 가셔서  하단 [대용량 파일첨부] 버튼을 누르면 웹폴더가 생성되고 이 링크가 게시글에 저장됩니다. 

방문자는 링크를 눌러서 다운로드 할 수 있게 됩니다.  

 

설치방법입니다.

1. 해당 게시판 설정에서 링크를 입력할 수 있도록 설정합니다.  여러개인 경우 마지막 링크에 대용량첨부 버튼이 붙게 됩니다. 

2. https://file.kiwi 에 가서 회원가입을 합니다.  여기에 사용된 이메일이 플러그인 설정시 사용됩니다. 

3. 현재 사용하고 계신 글쓰기 스킨(write.skin.php)을 수정하면 됩니다. email을 1번에서 사용한 것으로 입력해주셔야합니다.

G5_LINK_COUNT 으로 검색하면 링크 입력창 출력하는 부분에서 볼수 있습니다.

 

  <?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
    <div class="bo_w_link write_div"> 
        <label for="wr_link<?php echo $i ?>"><i class="fa fa-link" aria-hidden="true"></i><span class="sound_only"> 링크  #<?php echo $i ?></span></label>
        <input type="text" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){ echo $write['wr_link'.$i]; } ?>" id="wr_link<?php echo $i ?>" class="frm_input full_input" size="50"> 
         <!-- 추가 되는 부분 시작  -->
        <?php if($i==G5_LINK_COUNT)  {?>
        <span style=" position: absolute; padding: 5px; display:flex;  height: 100%;    top: 0;    right: 0;    bottom: 0;    align-items: center;">

            <a  style="text-decoration: underline;   padding: 10px;    "
              id="awr_link<?php echo $i ?>" target="_blank" href="#" >파일추가</a> 
            <button type=button style="padding: 5px;" id="bwr_link<?php echo $i ?>"   onclick="fk_insert('wr_link<?php echo $i ?>',this)" >대용량파일 첨부</button>
          
            <script> 
                       var email="exam@email.com"; // file.kiwi에  가입한 이메일 

                        function PopupCenter() {  

                            var w=500;
                            var h=500;
                            var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;  
                            var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;  
                                    
                            width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;  
                            height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;  
                                    
                            var left = ((width / 2) - (w / 2)) + dualScreenLeft;  
                            var top = ((height / 2) - (h / 2)) + dualScreenTop;  
                            var newWindow = window.open("https://file.kiwi/pluginpopup.html?from=gb", "_blank", 'menubar=yes,location=yes,resizable=yes,scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);  
                            if (window.focus) {  
                                newWindow.focus();  
                            }  
                            return newWindow;
                        }  

                        const fk_reg=/https:\/\/file.kiwi\/[a-zA-Z0-9]{8}#.{7,}/;

                        function fk_insert(k,th){
                        th.disabled=true;
                        window[k].value="잠시만 기다려주세요..";
                        var script = document.createElement('script');
                        var win=   PopupCenter();
                        script.onload = function () {

                        window[k].dispatchEvent(new Event("change"));
                        th.disabled=false;
                        
                            win.location.href=window[k].value;
                        };
                        script.src = "https://asia-northeast3-filekiwi-ce601.cloudfunctions.net/plugingb?"
                        +new URLSearchParams({
                        key:k,
                        email:email,
                        title:document.forms['fwrite']['wr_subject'].value
                        }).toString();;

                        document.head.appendChild(script); 

                        }
                        function fk_updateValue(e) {
                            var url = e.target.value;

                            var btn=document.getElementById("b"+e.target.name);
                            var atag=document.getElementById("a"+e.target.name);

                            console.log(url);
                        if(fk_reg.exec(url)) {
                            btn.style.display="none";
                            atag.style.display="inline";
                            atag.href=url;


                        }else {
                            btn.style.display="inline"            
                        atag.style.display="none"
                            atag.href="#";
                        }
                        }



                
                var inp=document.forms['fwrite']['wr_link<?php echo $i ?>']; 
                        window['wr_link<?php echo $i ?>']=inp;
                            inp.addEventListener('change', fk_updateValue);
                            fk_updateValue({target:inp});
                </script> 
     
            
         </span>
         <?php } ?>
           <!-- 추가 되는 부분 끝 -->                
    </div>
  
    <?php } ?> 

 

알아두세요.

  • 위 플러그인으로 생성된 모든 웹폴더와 파일의 소유권과 책임은 코드에 입력한 이메일 소유자에게 있습니다. 해당 이메일로 로그인하면, 방문자가 만든 웹폴더를 삭제 할수 있고, 파일도 개별적으로 삭제할수 있습니다. 
  • 게시판 방문자들은 누구나 업로드 할수 있고, 자신이 올린 파일에 대해서 삭제가 가능합니다.
  • 만료시간은 파일의 용량에 따라 달라집니다. 기본 48시간입니다. 
  • 파일은 암호화되어 저장되고, 웹폴더 주소 전체가 있어야 원본에 접근할 수 있습니다.
  • 파일키위는 생성된 웹폴더 주소를 저장하지 않습니다.