XE 기본 게시판 스킨(xe_official) 을 기준으로 작성 되었습니다.

다른 스킨들도 아래와 같이 응용하여 편집해 주시면 됩니다^^

스킨 파일 중에서 view_document.html 파일만 수정하면 됩니다.


1. DB 설정 기입 추가

2. 첨부파일 관련 라인 수정


DB 설정 기입 추가

view_document.html 을 열어 맨 상단에

<?
$hostName       = "localhost";
$userName       = "db 아이디";
$userPassword = "db 비번";
$dbName          = "db명";

$conn = @mysql_connect($hostName,$userName,$userPassword);

if(!$conn) {
    error("DB 연결 실패");
    exit;
}

$db = mysql_select_db($dbName);

if(!$db) {
    error("DB 선택 실패");
    exit;
}

$query = "SELECT module_srl from xe_modules where mid = '$_GET[mid]' ";
$result2 = mysql_query($query, $conn);
$row2=mysql_fetch_array($result2);

$query = "SELECT user_id, ipaddress from xe_comments where module_srl = '$row2[module_srl]' and document_srl = '$_GET[document_srl]' ";
$result = mysql_query($query, $conn);

for($i=0;$row=mysql_fetch_array($result);$i++) {
    $userid .= ",".$row[user_id];
    $ipaddress .= ",".$row[ipaddress];
}

if($is_logged) $pos1 = strpos($userid, $logged_info->user_id);
$pos2 = strpos($ipaddress, $_SERVER['REMOTE_ADDR']);
?>

을 삽입 시켜 줍니다.

* 만약 XE 설치시 테이블 머릿말을 달리 지정하셧다면 위소스에서 xe_ 부분을 찾아 XE 설치시 지정하였던 자신의 테이블 머릿말을 기입 합니다.


첨부파일 관련 라인 수정

 에 디터의 검색 기능을 이용하여 아래 와 같은 라인들을 찾아 낸 후

               <ul class="files">
                    {@ $uploaded_list = $oDocument->getUploadedFiles() }
                    <!--@foreach($uploaded_list as $key => $file)-->
                    <li><a href="{getUrl()}{$file->download_url}">{$file->source_filename} <span class="bubble">[File Size:{FileHandler::filesize($file->file_size)}/Download:{number_format($file->download_count)}]</span></a></li>
                    <!--@end-->
                </ul>

빨간글씨의 부분을

                <li>
                <?
                if($pos1 || $pos2) {
                ?>
                <a href="{getUrl()}{$file->download_url}">
                <? } ?>
                <!--@if($logged_info->user_id==$oDocument->getUserId() || $grant->is_admin)-->
                <a href="{getUrl()}{$file->download_url}">
                <!--@end-->
                {$file->source_filename}({FileHandler::filesize($file->file_size)})({number_format($file->download_count)})</a></li>

로 대체 합니다.


소스의 특징

1) 코멘트를 달지 않으면 첨부파일에 링크가 사라져서 클릭이 안됨. 코멘트를 달아야 첨부파일에 링크가 살아남.

2) 글쓴이 자신은 코멘트를 안 달아도 다운로드 가능

3) 관리자들(관리그룹)도 코멘트 안달고 다운로드 가능

4) 비회원도 IP를 근거로 코멘트를 달아야 다운로드가 가능

5) 4)으로부터 파생되는 특징 : 2개의 아이디로 활동할 경우, 1번 아이디로 댓글을 달아 놨으면 2번 아이디는 댓글을 안달아도 다운로드 가능. 왜냐면 IP가 같으니까.

6) 첨부파일 링크주소만 알고 있다면 코멘트를 달지 않아도 주소창에 이 주소를 침으로써 다운로드가 가능하긴 하지만 코멘트를 달지 않으면 첨부파일의 링크 주소를 알 수 없다고 함.