게시물보기 #1,336

질문 아랫글 삭제가 안되네요 여기 소스입니다

-1

<?php

include_once('./_common.php');


/* 수정해야하는 부분 시작 */

$_MINITALK_PATH = 'https://*****/MiniTalk/script/'; // 미니톡 클라이언트의 minitalk.js 파일이 존재하는 URL을 입력하세요.

$_MINITALK_KEY = '*****'; // 미니톡 클라이언트 설치과정시 입력했던 32자리 암호화키를 입력하세요.

$_IS_ADMIN = $is_admin; // 미니톡 관리자권한을 부여할 조건문을 아래 예제를 참고하여 입력하여 주십시오.


/************************************************************

 * 관리자 권한 부여방법

 * 아래의 라인중 원하는 조건에 해당하는 '한줄을' 변형하여 사용하세요.


 $_IS_ADMIN = $is_admin; // 그누보드에서 관리자로 지정된 아이디일때

 $_IS_ADMIN = $member['mb_level'] > 5; // 그누보드 회원레벨이 5보다 클때

 $_IS_ADMIN = $member['mb_id'] == 'admin'; // 그누보드 회원아이디가 admin 일때

 $_IS_ADMIN = in_array($member['mb_id'],array('user_id1','user_id2','user_id3')); // 그누보드 회원아이디가 user_id1 또는 user_id2 또는 user_id3 일때

 ************************************************************/


$_NICKNAME = $member['mb_nick']; // 닉네임으로 사용할 값을 아래 예제를 참고하여 입력하여 주십시오.


/************************************************************

 * 닉네임 설정방법 (그누보드 회원에게만 적용됨)

 * 아래의 라인중 원하는 조건에 해당하는 '한줄을' 변형하여 사용하세요.


 $_NICKNAME = $member['mb_name']; // 그누보드 회원정보 중 실명사용

 $_NICKNAME = $member['mb_nick']; // 그누보드 회원정보 중 닉네임 사용

 $_NICKNAME = $member['mb_id']; // 그누보드 회원정보 중 아이디 사용

 $_NICKNAME = $member['mb_name'].'('.$member['mb_id'].')'; // 닉네임(회원아이디) 형식 사용

 ************************************************************/


/* 수정해야하는 부분 끝 */


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) return false;

    $padSize = ord($output{$valueLen - 1});

    if (($padSize < 1) || ($padSize > 16)) return false;

    for ($i=0;$i<$padSize;$i++) {

        if (ord($output{$valueLen - $i - 1}) != $padSize) return false;

    }

    return substr($output,0,$valueLen-$padSize);

}


function GetOpperCode($opper) {

    $value = json_encode(array('opper'=>$opper,'ip'=>$_SERVER['REMOTE_ADDR']));

    return urlencode(MiniTalkEncoder($value));

}


$_CHANNEL = $_GET['channel'];

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />

<title>Minitalk6</title>

<style type="text/css">

HTML, BODY {width:100%; height:100%; overflow:hidden; margin:0px; padding:0px;}

</style>

</head>

<body>

<script type="text/javascript" src="<?php echo $_MINITALK_PATH; ?>minitalk.js" charset="UTF-8"></script>

<script type="text/javascript">

new Minitalk({

    channel:"<?php echo $_CHANNEL; ?>",

    <?php if ($_IS_ADMIN == true) { // For Administator ?>

    opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",

    <?php } elseif ($$isMember == true) { // For member ?>

    opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",

    <?php } ?>

    nickname:"<?php echo $_NICKNAME; ?>",

    width:"100%",

    height:"100%",

    viewAlert:false,

    viewAlertLimit:"NONE",

    viewStatusIcon:false,

viewUser:false,

viewUserLimit:"ADMIN",

showChannelConnectMessage:false,

    skin:"default",

    type:"auto",

    language:"ko",

    logLimit:15

});

</script>

</body>

</html>

김리
김리
LV.2 190/300
2020-03-31 20:40:39
답변 2
0

  <?php } elseif ($$isMember == true) { // For member ?>

$$isMember 부분이 일단 잘못되었고

$isMember 가 되어야 할것같네요.


그리고 윗부분에 $isMember = 회원인 조건; 을 추가해주셔야 합니다.

사용자매뉴얼에 있던 소스를 그대로 사용하시면 안되고, 자신의 상황에 맞게 수정해서 사용하셔야 합니다.

알쯔
알쯔
LV.50 113,393/113,393
2020-04-01 19:17:24
김리
김리

답변 감사드립니다~

해보라는 대로 다 해봤는데 안되네요

조건식도 넣어봤고요...

아무래도


<?php if ($_IS_ADMIN == true) { // For Administator ?>

    opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",

    <?php } elseif ($_Is_Member == true) { // For member ?>

    opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",

    <?php } ?>


부분이 아얘 안먹는것 같습니다. 

elseif 이건 파란색도 아니고 그냥 갈색으로 나오네요.. 원래 그런건가요?

띄어쓰기 해서 else if 이렇게 하면 파란색으로 변하는데 역시 안되고요

버전때문인지 뭐때문인지 모르겠네요

다른건 다 잘됩니다~

김리
김리

회원연동에 도움주시는 분께 장기게임 변형하여 직접만든 오목게임 플러그인 드립니다 ㅋㅋ

김리
김리

그냥 비회원도 자유롭게 채팅할 수 있도록 할랍니다 ㅋㅋ

채팅방 더럽히면 IP차단하면 되겠죠... ㅋㅋ

김리
김리

아참 장기 플러그인 활용해서 오목 플로그인 만들었습니다. 모두 다 제가 만든건 아니고 이것저것 응용했습니다. 

사이트 사람 많이 늘어나면 100명, 200명 늘려가면서 신청하겠습니다.

감사합니다~

알쯔

<?php if (관리자인 조건을 적으세요.) { // For Administator ?>

opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",

<?php } elseif (회원인 조건을 적으세요.) { // For member ?>

opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",

<?php } ?>


회원의 경우에 예를들어 $member['mb_id'] 가 정의되어 있고, 비회원은 정의되어 있지 않는다고 가정해본다면,

아래와 같이 됩니다.


<?php if (관리자인 조건을 적으세요.) { // For Administator ?>

opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",

<?php } elseif (isset($member['mb_id']) == true) { // For member ?>

opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",

<?php } ?>

알쯔
0

관리자인 조건은 어떤걸 말씀하시는 건가요

할머니
할머니
LV.5 490/900
2020-05-23 23:09:47
할머니

공식 메뉴얼과 모든 글을 참조해서 만드는 중인데 그누보드 공식 페이지에 나와 있는 답도, 여기에 나와있는 해결책들도 모두 해결에 도움이 되지 않고 있습니다.
나머지는 정상적이나, 


<?php if ($_IS_ADMIN == true) { ?>
opperCode:"<?php echo GetOpperCode('ADMIN'); ?>",
<?php } elseif ($is_member == true) { ?>
opperCode:"<?php echo GetOpperCode('MEMBER'); ?>",
<?php } ?>


이부분에서 계속해서 에러가 나고 있고 알쯔님 말을 참고하여 조건을 적으니 관리자와 회원 비회원 모두 게스트로 체팅이 쳐질 뿐 회원만 채팅이 되며 닉네임 연동은 전혀 되지 않습니다

할머니
할머니

말을 살짝 잘못한거 같네요 제가 원하는건 회원이 그누보드 닉네임으로 채팅을 하게 되는 것인데

소스를 아무리 수정해도 그냥 게스트로만 채팅이 되지 연동이 전혀 되지 않습니다

할머니
답변 작성하기
답변을 입력하려면 먼저 로그인을 하여야 합니다.
목록 질문하기