MEMO

아보카도 퍼스널에 외부로그인 추가하기

뭔가 알려드리기 보다는 기록용으로 적어둡니다.

질문 남겨주셔도 제가 뭔가 알려드리기 어려우니 참고만 해주세요 ^_^ ~

이 곳까지 검색해서 오셨으면 외부로그인/아웃로그인이 뭔지는 뭔지 아실 겁니다.

아보카도 에디션은 그누보드 기반입니다.

그누보드에는 자체적으로 아웃로그인 및 그 치환자를 지원하고 있습니다만

대하님이 배포하신 아보카도 퍼스널에는 삭제되어 있습니다.

ㅅㄷ님의 갠홈 배포본과 ㅅㄷ님 홈을 기반으로 한 휘핑님의 갠홈 배포본에서는

따로 추가/수정없이 아웃로그인이 적용 될 거라고 생각합니다만 직접 해보셔야 될 것 같습니다.

해당 게시글에선

아웃로그인을 사용할 수 있게 만드는 법

치환자 {{outlogin}} 가 아웃로그인 스킨으로 치환될 수 있는 방법

을 이야기합니다.

1. 아웃로그인 사용하기

해당 파일을 다운받아 /lib 폴더 안에 집어넣습니다.

outlogin.lib.php
0.00MB

해당 파일도 다운받아 압축을 푼 후 /skin 폴더 안에 집어넣습니다.

최종적인 파일 경로는 /skin/outlogin/basic/ …이어야 합니다.

outlogin.zip
0.00MB

가장 상위에 있는 파일 중 head.php 5번째줄에 해당 코드를 추가합니다.

include_once(G5_LIB_PATH.'/outlogin.lib.php'); 

이런 모습이 되어야 합니다.

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 
include_once(G5_PATH.'/head.sub.php');
include_once(G5_LIB_PATH.'/latest.lib.php'); 
include_once(G5_LIB_PATH.'/outlogin.lib.php'); 

해당 절차로 간단하게 아웃로그인을 사용할 수 있습니다.

아웃로그인을 넣고 싶은 위치에 해당 코드를 추가하면 됩니다.

<?php echo outlogin('basic'); ?>

2. 치환자 적용시키기

그 다음 마찬가지로 가장 상위에 있는 파일 중 template.php 에 해당 코드를 추가합니다.

위치는 상관 없지만 중간에 넣을 땐 타 코드 사이에 넣지 않게 주의하세요.

<?php if($str=='outlogin') { ?>
	<? echo outlogin('basic'); ?>
<?}

extend/ccommunity.config.php 262줄에서 283줄까지 주석 처리 된 것을 풀어둡니다.

/** 와 **/ 를 삭제하시면 됩니다.

하신 뒤 276 줄의 이 코드를

		include G5_PATH.'/template/txt.outlogin.php';

아래 코드와 같이 바꿔주세요.

		include G5_PATH.'/template.php';

또, 272줄과 273줄 사이에 해당 코드를 삽입해주세요.

		$str="outlogin";

최종적으로 이런 형태가 나와야 합니다.

	if(strstr($pc_str, "{{OUTLOGIN}}") || strstr($mo_str, "{{OUTLOGIN}}")) { 
		ob_start();
		$str="outlogin"; 
		include G5_PATH.'/template.php';
		$visual_str = ob_get_contents();
		ob_end_clean();

		$pc_str = str_replace("{{OUTLOGIN}}", $visual_str, $pc_str);
		$mo_str = str_replace("{{OUTLOGIN}}", $visual_str, $mo_str);
	}

이제 페이지에서 {{outlogin}} 을 쓰면 아웃로그인 치환자가 정상적으로 작동합니다.

아웃로그인 스킨은 그누보드 스킨을 다운받거나 직접 고쳐쓰시면 됩니다.

번외

다른분도 그럴진 모르겠지만 아웃로그인을 달고 로그인을 하면

인클루드한 게시글 스타일시트가 제대로 불러와지지 않는 현상이 있었습니다.

만약 해당 사항이 나타난다면 아래를 참고하세요.

왜 이걸로 해결되는지는 모릅니다… 해보니까 됐어요.

/lib/outlogin.lib.php 37줄과 38줄 사이에 해당 코드를 삽입합니다.

	$content = ob_get_contents();
	ob_end_clean();

	return $content;

이런 식이 되어야 합니다.


	if ($is_member)
		include_once ($outlogin_skin_path.'/outlogin.skin.2.php');
	$content = ob_get_contents();
	ob_end_clean();

	return $content;
	else // 로그인 전이라면
		include_once ($outlogin_skin_path.'/outlogin.skin.1.php');
	$content = ob_get_contents();
	ob_end_clean();

	return $content;
}

끝입니다!

즐거운 갠홈 생활 되세요 ^_^ ~