채팅 프로그램이 그누보드 회원명단을 불러오지못합니다.ㅠ_ㅠ
본문
설치까진 완료하고, 현재 제 홈페이지에, tail.php에 넣어서 사용하려고 했습니다.
그런데, 아무리 설치를 해도, 회원닉네임을 자동으로 불러오지 못하면서, 자꾸 Guest만 출력됩니다. (물론, guest는 채팅불가)
원래 미니톡 만드신분 말씀을 들어보면, 그누보드에 로그인한 아이디의 닉네임을 자동으로 받아온다고 되어있더라구요...
미니톡 설명 주소 : http://www.minitalk.kr/document/example.arzz
홈페이지 주소 : tf1club.speeds.kr
아래, 스샷과 함께 소스코드 첨부합니다. 한줄의 도움이라도 ,,,, 도와주시길 간절히 바래봅니다 ㅠ_ㅠ
tail.php 에는 다음과 같은 소스가 입혀져 있습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 사용자 화면 우측과 하단을 담당하는 페이지입니다.
// 우측, 하단 화면을 꾸미려면 이 파일을 수정합니다.
?>
</td>
</tr>
</table>
<div style='height:25px;border-bottom:1px solid #DDDDDD;'></div>
<div style='height:25px;border-top:1px solid #DDDDDD;'></div>
<table width="<?=$table_width?>" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td>
<?php
$_MINITALK_KEY = '이부분은 제대로 넣었습니다.(비공개)';
function MiniTalkEncoder($value) {
global $_MINITALK_KEY;
$padSize = 16 - (strlen($value) % 16);
$value = $value.str_repeat(chr($padSize),$padSize);
$output = mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$_MINITALK_KEY,$value,MCRYPT_MODE_CBC,str_repeat(chr(0),16));
return base64_encode($output);
}
function MiniTalkDecoder($value) {
global $_MINITALK_KEY;
$value = base64_decode($value);
$output = mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$_MINITALK_KEY,$value,MCRYPT_MODE_CBC,str_repeat(chr(0),16));
$valueLen = strlen($output);
if ($valueLen % 16 > 0) $output = '';
$padSize = ord($output{$valueLen - 1});
if (($padSize < 1) || ($padSize > 16)) $output = '';
for ($i=0;$i<$padSize;$i++) {
if (ord($output{$valueLen - $i - 1}) != $padSize) $output = '';
}
return substr($output,0,$valueLen-$padSize);
}
function GetOpperCode($opper) {
$value = json_encode(array('opper'=>$opper,'ip'=>$_SERVER['REMOTE_ADDR']));
return urlencode(MiniTalkEncoder($value));
}
?>
<script type="text/javascript" src="http://tf1club.speeds.kr/Minitalk/script/minitalk.js" charset="UTF-8"></script>
<script type="text/javascript">
new Minitalk({
channel:"tf1club",
width:1000,
height:300,
skin:"default",
type:"horizontal",
viewUser:true,
viewStatusIcon:true,
toolType:"icon",
language:"ko",
encode:"UTF-8",
viewAlert:true,
viewAlertLimit:"MEMBER",
nickname:"<?php echo $nickname; // 고정닉네임을 줄경우 $nickname 변수에 고정닉네임설정; ?>",
<?php if ($isAdmin == true) { // 관리자권한을 줘야하는경우, $isAdmin 변수에 true 설정 ?>
opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",
<?php } elseif ($isPowerUser == true) { // 파워유저권한을 줘야하는경우, $isPowerUser 변수에 true 설정 ?>
opperCode:"<?php echo GetOpperCode('POWERUSER'); ?>",
<?php } elseif ($isMember == true) { // 회원권한을 줘야하는경우, $isMember 변수에 true 설정 ?>
opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",
<?php } ?>
logLimit:30
});
</script>
<!-- 카피라이트 시작 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20">© 2013-2014 Mesiana_KoR / cafe.naver.com/tunngleandf1 All rights reserved.</td>
</tr>
<tr>
<td height="20">대표 : Mesiana_KOR Staff : Speedy Slowly, C.Sortem, YHkim KOR, ISAC Vincente, Gray Dino</td>
</tr>
<tr>
<td height="20">Copyright © 감기약. All rights reserved.</td>
</tr>
</table>
<!-- 카피라이트 끝 -->
</td>
</tr>
</table>
<?
include_once("$g4[path]/tail.sub.php");
?>
아, 그리고 홈페이지 API문서에 보니깐, 다음과 같은 글이 있던데,,, 설마 이부분을 적용하지 않아서 그런걸까요?
new Minitalk({
nickname:"<?php echo $member['nickname']; ?>",
nickcon:"http://www.yourdomain.com/<?php echo $member['user_id']; ?>.gif",
// 이하 생략
});
혹시나 해서, 스스로 넣어보았습니다. ... 그러니 아예 채팅창이 뜨질않네요;;
nickon 때문인가 싶어서, nickon도 떼어서 적용했는데 동일한 증상입니다. 무언가 잘못해서 안뜨는거같기도하고..
막막할 따름입니다 ㅠ_ㅠ;
!-->!-->답변 2
$member['nickname']; -----------> $member[mb_nick]
이렇케 바꿔보세요
<script type="text/javascript">
new Minitalk({
channel:"tf1club",
width:1000,
height:300,
skin:"default",
type:"horizontal",
viewUser:true,
viewStatusIcon:true,
toolType:"icon",
language:"ko",
encode:"UTF-8",
viewAlert:true,
viewAlertLimit:"MEMBER",
nickname:"<?php echo $member['mb_nick']; // 고정닉네임을 줄경우 $nickname 변수에 고정닉네임설정; ?>",
<?php if ($isAdmin == true) { // 관리자권한을 줘야하는경우, $isAdmin 변수에 true 설정 ?>
opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",
<?php } elseif ($isPowerUser == true) { // 파워유저권한을 줘야하는경우, $isPowerUser 변수에 true 설정 ?>
opperCode:"<?php echo GetOpperCode('POWERUSER'); ?>",
<?php } elseif ($member['mb_id'] != null) { // 회원권한을 줘야하는경우, $isMember 변수에 true 설정 ?>
opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",
<?php } ?>
logLimit:30
});
</script>
});
이렇게 수정해 보시기 바랍니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.