XE 공식 자료실

제작자
srboard
등록일
2011-11-14
다운로드 수
222
링크1
srboard.styx.kr

http://srboard.styx.kr/xe/
위 링크에 사용된 채팅소스입니다.
ajax를 사용하고,
사용자의 계정에 직접 설치해서 사용하는 것입니다.
채팅 데이타는 ./widgets/srchat/chat/ 경로에 저장되기 때문에,
이 디렉토리를 FTP에서 777 또는 707로 권한설정해줘야 합니다.

라이선스
GPL v2
설치경로
./widgets/srchat
최초 등록일
2010-10-24
전체 다운로드
13,616
체험하기

쉬운설치로 바로 체험할 수 있습니다

상세 설명



<img class="zbxe_widget_output" widget="srchat" skin="default" chtsrchat="영문숫자로채팅방아이디" chtwidth="190px" chtheight="30mm" cht_contwh="85mm" cht_usrwh="15mm" cht_fsize="8" cht_family="Gulim" cht_wico="1" />

위젯 코드를 붙여넣기 할 때는
• chtheight="30mm" :
30%를 지칭하는데,%가 저기에 들어가면, 스킨으로 %라는 기호가 전달이 안됩니다.
그래서, 이것저것 해보다가 mm로 정했습니다.
mm로 전달된 값은 자바스크립트에서 % 로 변환됩니다.

이 두가지 제한사항은 페이지수정에서 위젯코드를 직접 만들 때는 해당되지 않습니다.
<img ~~> 이렇게 생성해서, 붙여넣기 할 때만 문제가 됩니다.

설치방법
widgets/srchat/chat 폴더의 권한을 FTP에서 777, 또는 707로 줍니다.
이후에 위젯코드를 생성하고,
관리자기능 링크를 열어서, [ install ] 버튼을 누르면 됩니다

srchat/chat
srchat/emoticon
압축 풀었을 때 이 폴더가 없으면, 새폴더라도 만들고,
FTP에서 widgets/srchat/chat 폴더의 권한을 777 또는 707로 주세요.
(알집으로 풀면 빈폴더를 복원해내질 않습니다. 유의하세요.)


수정사항

• 오류수정 세가지
:: srchat.php 16번줄
$chtread = 10; // 처음 접속했을 때, 읽어오는 본문의 갯수 (0 ~ 90)
이 값을 0으로 했을 때, 아무것도 읽어오지 않아야 하는데.. 하여튼 그 오류 수정.
(다른 버전의 srchat에서 수정해놓고, XE용 srchat에 적용하는 것을 빠뜨린 문제였습니다)

:: srchat.php 13번줄
$chtusrinout = 0; // 사용자 입출력상황 본문 출력 여부 (0: 출력 안 함, 1: 출력)
이 값이 1일 때, '사용자'가 퇴장했습니다. 입장했습니다. 라고 본문에 나오는데,
이 때 사용자 닉네임에 뭔가 군더더기가 달라 붙는 오류 수정.
(이미지 마크 또는 이미지 닉네임, 그리고 레벨 아이콘, 아이콘샵아이콘, 그룹아이콘등의 정보를 달고 나오는 문제였습니다)

:: 첨부파일 이미지 액막되는 문제 수정

• 이모티콘 위치조정
:: 기존에는 이모티콘 상부 간격 설정이 관리자기능에 있었는데 없애고.
:: 자바스크립트로 글쓰는 란 바로 위에 이모티콘박스가 열리도록 했습니다.
(글쓰는 란이 위쪽으로 올라가면, 바로 아래에 이모티콘 박스가 열립니다)

• 기능 추가

:: 그림에서처럼.
:: 글 쓰는 란이 위쪽으로 갈 수 있도록 했습니다.
:: 새 글이 위쪽으로 나올 수 있도록 했습니다.

:: 본문 출력 방향 = 위에서 아래로(기존 방식) + 아래에서 위로 + 모바일에서 위로(모바일에서만 아래에서 위로 나오는 설정)
:: 글쓰는 란 위치 = 아래로(기존 방식) + 위로 + 모바일에서 위로(모바일에서만 위로 나오는 설정)
:: 기울게
:: 밑줄
굵게에 이어서 기울게, 밑줄을 추가했습니다.
하위 설정사항 = 체크박스 보임 (체크박스 보이고 사용함) + 체크박스 안보임(체크박스 안보이는데, 글쓰는 란 입력으로 사용함) + 사용 안 함(글쓰는 란 입력도 불가)

모바일에서는 아무래도
새 글이 위쪽으로 뜨고,
글쓰는 란도 위쪽으로 있는게 편리하겠습니다.

• 한글 ajax입력이 안되는 경우엔 urlencode.rar
:: 외국서버에서 한글이 ajax로 입력안되는 경우가 있다고해서 원본의 일부를 수정한 파일입니다.
:: 수정하는 방법은 http://srboard.styx.kr/srboard/index.php?id=free&no=584 덧글에 있는데, 별도로 배포하고 있습니다.
:: 한글입력에 문제가 없으면, 불필요한 부하만 늘어나는 수정입니다.
:: 적용 방법 - 원본을 다운받아서 압축풀고, urlencode.rar를 다운받아서 압축풀어서 원본의 해당파일에 덮어씌웁니다.

• 질문은
:: http://srboard.styx.kr/srboard/index.php?id=free 여기서 하시고,
:: 질문에 "XE용 srchat" 에 대한 질문이라고, 특정해주시기 바랍니다. (srchat도 여러가지가 있어서)
:: 알집으로 압축풀면, 빈 폴더가 압축이 안풀리는거 같습니다.
:: 다른 압축프로그램을 사용하던가 아니면, 직접 생성해서 설치하세요.







• 213.0 -> 213.1 수정사항
:: 채팅 관리자기능에 일시정지 기능 없애고, 대신에 "본문 본인 강조" 설정을 추가했습니다.
:: 채팅 본문에서 각자 자기가 쓴 글(에서 닉네임 부분)이 강조되는 것입니다.
:: 강조 방식은 skin/스킨이름/default.css 18번줄에
#cht_fbdy #cht_AA b.myself {background:#DBFDD4} /* 글쓴이 닉네임을 본문에서 구분,강조 */
이 내용입니다.

• 213.1 -> 213.2 수정사항
:: "본문 본인 강조" 기능에 비회원이 적용되지 않는 문제점이 있어서 수정했습니다.
:: 수정된 파일은 srchat.js 파일 하나 입니다.
• 213.2 -> 213.3 수정사항
:: "귓속말" 기능에서 글쓰는 란에 표시되는 방식을 수정했습니다.
:: 기존에 "whisper//내용" 이렇게 표시되던 것을 "귓속말상대닉//내용" 으로 표시되도록 했습니다.
:: 수정된 파일은 srchat.php, srchat.js 입니다.
• skin.html 수정하는 방법
:: 이모티콘, 굵게 등을 수정하는 방법입니다.
<div style='display:none'>
<label id="cht_KK" title=";ico">이모티콘<input type="checkbox" id="cht_LL" onclick="cht_toggle()" class="cht_ckb" /></label>
<label style="display:none" title=";b"> 굵게<input type="checkbox" id="cht_MM" onclick="dallar('chcontent').style.fontWeight=((this.checked)? 'bold':'normal')" class="cht_ckb" /></label>
<label style="display:none" title=";i"> 기울게<input type="checkbox" id="cht_PP" onclick="dallar('chcontent').style.fontStyle=((this.checked)? 'italic':'normal')" class="cht_ckb" /></label>
<label style="display:none" title=";u"> 밑줄<input type="checkbox" id="cht_QQ" class="cht_ckb" /></label>
<label style="display:none" title=";exit"> 퇴장<input type="checkbox" id="cht_OO" onclick="cht_leave()" class="cht_ckb" /></label>
</div>
<a href="#none" onclick="dallar('cht_LL').checked=(dallar('cht_LL').checked == false)? true:false;cht_toggle()">emoticon</a>
&nbsp;<a href="#none" onclick="dallar('cht_MM').checked=(dallar('cht_MM').checked == false)? true:false;dallar('chcontent').style.fontWeight=((dallar('cht_MM').checked)? 'bold':'normal')"><b>B</b></a>
&nbsp;<a href="#none" onclick="dallar('cht_PP').checked=(dallar('cht_PP').checked == false)? true:false;dallar('chcontent').style.fontStyle=((dallar('cht_PP').checked)? 'italic':'normal')" style="font-style:italic"><b>I</b></a>
&nbsp;<a href="#none" onclick="dallar('cht_QQ').checked=(dallar('cht_QQ').checked == false)? true:false;" style="font-decoration:underline"><b>U</b></a>
&nbsp;<a href="#none" onclick="dallar('cht_OO').checked=(dallar('cht_OO').checked == false)? true:false;cht_leave()" style="font-decoration:underline">exit</a>

<label style="display:none" title="whisper//"> 귓속말<input type="checkbox" id="cht_JJ" onclick="chtipths()" class="cht_ckb" /></label>
</div>
파란색 글자가 추가된 부분입니다.
기존의 이모티콘,굵게,기울게,퇴장 체크박스 뭉치(?)를 <div>로 감싸서, display:none 으로 해놓고,
아래에 그걸 대체하는 링크를 추가한 것입니다.
배경색 노란 부분 onclick="" 부분이 중요한데,
저런 식으로 감춰진 체크박스에 체크/체크해제를 넣고, 그 담에 원래 체크박스에 있던 onclick 함수를 뒤에 추가해줍니다.

이 예제는 <a> 링크로 했는데, <img>로 해서 거기에 onclick을 저렇게 넣어서 수정해도 됩니다.
다만 이렇게 수정했을 때, 채팅 관리자기능에서
예를 들어 "기울게"를 "사용 안 함"으로 설정하더라도, 추가한 링크는 그냥 보여집니다.
그럴 경우엔 skin.html 에서 그 기능의 추가한 링크-해당 부분을 직접 지워야 합니다.
그니까, 이렇게 사용자가 추가한 부분은 자동으로 감춰지는게 안된다는 말입니다.

• 213.3 -> 213.5 수정사항
:: 모바일에서 레이어로 이미지 뜨는게 안된다고 해서
:: 모바일에서는 무조건 이미지가 새 창으로 뜨도록 했습니다.
:: 그런데 같은 원본내용을 가지고 모바일과 PC에서 따로 따로 작동을 해야 하기 때문에
:: 달라지는 부분은 자바스크립트에서 처리되도록 했습니다.
:: srchat.php 13번줄
$chtusrinout = 0; // 사용자 입출력상황 본문 출력 여부 (0: 출력 안 함, 1: 출력)
이 값을 1로 했을 때, 처음 접속했을 때, 누가 입장했습니다. 라는게 제대로 안뜬다는 지적이 있어서 수정했습니다.

:: 첨부파일 이미지를 썸네일로 띄울 때, 우측에 첨부파일의 이름이 뜨도록 했습니다.
=> 모바일에서 썸네일을 보이지 않을 때, 자바스크립트에서 삭제 후 처리가 쉽도록 하기 위해섭니다.
:: 첨부파일중 이미지가 아닌 파일은 = 클릭 즉시 다운로드 되는 첨부파일은 글자 색상이 조금 달라졌습니다.
=> 이미지 링크를 구분처리하기 위해섭니다. PC일 때, 자바스크립트에서 원본의 새창링크를 레이어로 띄우는 자바스크립트함수로 변경하기 쉽도록 하기 위해서.

:: 기존에 "whisper//내용" 이렇게 표시되던 것을 "귓속말상대닉//내용" 으로 표시되도록 했습니다.
:: 수정된 파일은 srchat.php, srchat.js 입니다.
• 213.5 -> 213.6 수정사항
:: "알림음 호출" 메뉴를 추가함
=> 상대방 닉네임을 클릭해서, 그 상대방에게 알림음이 뜨도록 하는 기능입니다.
:: 세로2단 스킨일 때, 참여자목록의 닉네임을 클릭하면 참여자목록 높이가 커지도록 했습니다.
=> 참여자 인원수를 클릭하면 다시 작아집니다.
:: 귓속말을 사용하다 중단할 때, 체크박스를 체크해제하지 않고 본문에 "상대방닉//" 이 상태에서 엔터(입력)하면 귓속말이 해제되도록 했습니다.
=> 귓속말 보내는 모드에서 귓속말 내용이 없을 때, 귓속말 모드가 해제됩니다.
:: 수정된 파일은 srchat.php, srchat.js 입니다.

• 213.6 -> 213.8 수정사항
:: srchat.js 수정
=> "닉네임//" 상태에서 엔터해서 귓속말해제 되는 부분에 오류 수정했습니다.
=> 귓속말 상태에서 1:1 대화신청 또는 알림음 호출할 때 생기는 오류 수정했습니다.

포럼 0

로그인 후 작성할 수 있습니다.