제작하신 앱의 문의글은 앱 명칭을 기입해주셔야 확인이 빠릅니다.

tto_board write.skin 파일 수정 요청

안녕하세요

다른 게시판의 스킨은 말씀해주신 가이드데로 찾아 수정을 했는데

tto_board 는 매칭이 안되네요

수정 요청드릴께요

(해당 보드는 아미나 사용자라면 90% 이상이 사용하고 있는

핵심 보드중 하나입니다. 이 역시도 차후 업뎃시 반영해주시면 좋을것 같아요)

 

수정을 필요로 하는 write.skin.php 파일만 첨부드립니다.

감사합니다.

 

Comments

최고관리자 2017.04.03 08:51
이 경우는 basic_board 수정방법과 동일하게 tto_board/write/basic/write.skin.php 파일을 수정해주셔야 합니다.

수정방법은 간단하게 설명드리면...

========================================================

(1)

최상단부분 아래내용을 찾습니다.

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

이 다음줄에 아래 내용을 추가해줍니다.

if(preg_match("/GNUPUSH/", $_SERVER['HTTP_USER_AGENT'])){

$rnum = get_random_string_gnu('10');

$sql = " select MAX(gf_ix) as cnt from g5_gnupushapp_file_num ";
$row = sql_fetch($sql);
$gnupushapp_file_wr_id = $row['cnt'];
$gnupushapp_file_wr_id++;
$gnupushapp_file_wr_id = $gnupushapp_file_wr_id * (-1);

sql_query(" INSERT INTO g5_gnupushapp_file_num
                    SET `gf_rnum` = '{$rnum}'
            ", true);

set_session('gnupushapp_file_up', $rnum);
set_session('gnupushapp_file_bo_table', $bo_table);
set_session('gnupushapp_file_img_src', '');
set_session('gnupushapp_file_count', '');
set_session('gnupushapp_file_source', '');
set_session('gnupushapp_file_size','');
set_session('gnupushapp_file_wr_id',$gnupushapp_file_wr_id);
set_session('gnupushapp_file_w',$w);
if($w == 'u'){
set_session('gnupushapp_file_original_wr_id',$wr_id);
}

}

-------------------------------------

(2)

아래 내용을 찾습니다.

<?php if ($is_file) { ?>

이 다음줄에 아래 내용을 추가해줍니다.

<?php
// 그누푸시앱 첨부파일

if(preg_match("/GNUPUSH/", $_SERVER['HTTP_USER_AGENT'])){

$upload_max_filesize_m = number_format(floor($board['bo_upload_size'] / 1000000)) . 'MB';

if($w == 'u'){
$file_num = $write['wr_file']."/".$file_count;
}else{
$file_num = "0/".$file_count;
}

?>

<div class="form-group">
<label class="col-sm-2 control-label">첨부파일</label>
<div class="col-sm-10">
<div id="file_status">파일 허용 용량 : 개당 <?php echo $upload_max_filesize_m ?> / 파일 개수 <?php echo $file_num ?></div>
<button type="button" onclick="window.Android.open('<?php echo $rnum ?>');" class="btn btn-sm btn-color"><i class="fa fa-plus-circle fa-lg"></i> 파일선택</button>
</div>
</div>
<div class="form-group" style="margin-bottom:0;">
<div class="col-sm-10 col-sm-offset-2">
<table id="variableFiles"><tbody>
<tr>
<td>
<ul id="files" style="padding: 0px; margin-left: 0px;">
<?php
if($w =='u'){

$sql = " update {$g5['board_file_table']}
set bf_rstring = '{$rnum}'
where bo_table = '{$bo_table}'
  and wr_id = '{$wr_id}' ";
sql_query($sql);
}
for ($i=0; $is_file && $i<$file_count; $i++) {
if($w == 'u' && $file[$i]['file']) {

$file_no = $i;
$ext = substr($file[$i]['source'], -4);
$ext = strtolower($ext);
$extImg = in_array($ext, array('.jpg', 'jpeg', '.gif', '.png'));
if($extImg){
$image_src = G5_DATA_URL.'/file/'.$bo_table.'/'.urlencode($file[$i]['file']);


?>

<li id="file_<?php echo $file_no ?>" style="margin:10 0;list-style:none;display:list-item"><img src="<?php echo $image_src ?>" width="50" height="50"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> <button type="button" onclick="window.Android.delete('<?php echo $file_no ?>');" class="btn_frmline">삭제</button><br><br></li>

<?php }else{ ?>

<li id="file_<?php echo $file_no ?>" style="margin:10 0;list-style:none;display:list-item"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> <button type="button" onclick="window.Android.delete('<?php echo $file_no ?>');" class="btn_frmline">삭제</button><br><br></li>

<?php }    }else{ ?>


<li id="file_<?php echo $i ?>" style="margin:10 0;list-style:none;display:none"></li>

<?php

} }

?>


</ul>
</td></tr>

</tbody></table>
</div>
</div>

<?php

}else{

?>

----------------------------------

(3)

그리고 아래 내용을 찾습니다.

function del_file() {
// file_length 이하로는 필드가 삭제되지 않아야 합니다.
var file_length = <?php echo (int)$file_length; ?>;
var objTbl = document.getElementById("variableFiles");
if (objTbl.rows.length - 1 > file_length) {
objTbl.deleteRow(objTbl.rows.length - 1);
flen--;
}
}
</script>

이 다음줄에 아래한줄을 추가해줍니다.

<?php } ?>



------------------------------------


(4)

form끝나는 부분을 찾습니다.

</form>

이 다음에 아래의 내용을 추가해줍니다.

<?php if(preg_match("/GNUPUSH/", $_SERVER['HTTP_USER_AGENT'])){ ?>
<iframe id="iframe_dd" name="iframe_dd" src="" style="position:absolute; top:-9999px; left:-9999px" border=0></iframe>
<?php } ?>


---------------------------------------

(5)

아래 내용을 찾습니다.

<script>
<?php if($write_min || $write_max) { ?>
// 글자수 제한
var char_min = parseInt(<?php echo $write_min; ?>); // 최소
var char_max = parseInt(<?php echo $write_max; ?>); // 최대
check_byte("wr_content", "char_count");

$(function() {
$("#wr_content").on("keyup", function() {
check_byte("wr_content", "char_count");
});
});
<?php } ?>

이 다음에 아래의 내용을 추가해줍니다.

function aftermobileFileUpload(file_no,fileSize,sourceFilename,download_url,bf_no){

var file_count = "<?php echo $file_count;?>";

var file_no_b = Number(file_no) + 1;

var c = '파일 허용 용량 : 개당 <?php echo $upload_max_filesize_m ?> / 파일 개수 '+ file_no_b + '/'+file_count;

$("#file_status").empty();
$("#file_status").append(c);


var b="";
var type = isImage(sourceFilename);

var ext = getExtension(sourceFilename);
var res = sourceFilename.substring(0, 12);
var final_sourcefilename = res + "···."+ext;

if(type=="img"){
b+='<div style="border:1px solid #ccc;overflow: hidden;margin-bottom:15px"><div style="float:left;height:80px;background-color: #eee;border-right:1px solid #ccc;padding-left:10px;padding-right:10px;padding-top:30px;">파일 '+bf_no+'</div><div style="margin-left:10px;height:80px;padding: 5px 10px;overflow: hidden"><img src="'+download_url+'" width="50" height="50"><br>'+final_sourcefilename+'('+fileSize+') <button type="button" onclick="window.Android.delete('+bf_no+');" class="btn_frmline">삭제</button></div></div>';


}else{
b+='<div style="border:1px solid #ccc;overflow: hidden;margin-bottom:15px"><div style="float:left;height:40px;background-color: #eee;border-right:1px solid #ccc;padding: 10px 10px;">파일 '+bf_no+'</div><div style="margin-left:10px;height:40px;padding: 10px 10px;overflow: hidden">'+final_sourcefilename+'('+fileSize+') <button type="button" onclick="window.Android.delete('+bf_no+');" class="btn_frmline">삭제</button></div></div>';

}
$("#file_"+bf_no).append(b);
$("#file_"+bf_no).css("display","list-item");

}

function del_re(a){
$('#file_'+ a).empty();
$("#file_"+a).css("display","none");

var str = $("#file_status").text();
var arrayStr = str.split("/");
var num = arrayStr[1].substr(-1, 1);

var file_count = "<?php echo $file_count;?>";

var file_no_b = Number(num) - 1;

var c = arrayStr[0]+' / 파일 개수 '+ file_no_b + '/'+file_count;

$("#file_status").empty();
$("#file_status").append(c);
}

function getExtension(filename) {
    var parts = filename.split('.');
    return parts[parts.length - 1];
}

function isImage(filename) {
    var ext = getExtension(filename);
var retval = 'etc';

    switch (ext.toLowerCase()) {
    case 'jpg': retval = 'img'; break;
case 'jpeg': retval = 'img'; break;
    case 'gif': retval = 'img'; break;
    case 'bmp': retval = 'img'; break;
    case 'png': retval = 'img'; break;

case 'mp3': retval = 'music'; break;
case 'wav': retval = 'music'; break;
case 'ogg': retval = 'music'; break;
case 'aac': retval = 'music'; break;

case 'webm': retval = 'media'; break;
case 'mp4': retval = 'media'; break;
case 'ogv': retval = 'media'; break;
case 'avi': retval = 'media'; break;
case 'mov': retval = 'media'; break;
case 'mkv': retval = 'media'; break;       
       
    }
    return retval;
}