안녕하세요
다른 게시판의 스킨은 말씀해주신 가이드데로 찾아 수정을 했는데
tto_board 는 매칭이 안되네요
수정 요청드릴께요
(해당 보드는 아미나 사용자라면 90% 이상이 사용하고 있는
핵심 보드중 하나입니다. 이 역시도 차후 업뎃시 반영해주시면 좋을것 같아요)
수정을 필요로 하는 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;
}