안녕하세요?
스레드를 찾아 다니면서 IP 표시를 어느정도 해결하고 있습니다.
참고한 스레드는 아래와 같은데 지난 버전 설명 같아요.
https://www.cosmosfarm.com/threads/document/47537
https://www.cosmosfarm.com/threads/document/48773
https://www.cosmosfarm.com/threads/document/30759
그럼에도 몇가지는 해결이 안돼서 문의 드립니다.
게시판 버전이 업그레이드 되면서 코드가 일부 변경이 되어 신버전에 맞는 코드를 힘들게 찾았네요. ^^
현재 사용중인 버전은 KBoard 게시판 버전 5.9.2 / 댓글 버전 4.9 입니다.
게시판 본문에 ip를 표시를 하려고 하는데요,
관리자 - 게시판 - 입력필드 - ip주소 추가를 해서 본문에 IP는 출력할 수 있도록 했습니다. 이 경우에는 관리자 뿐만 아니라 회원/비회원 누구에게나 IP가 오픈이 됩니다.
1. 모든 사람이 볼 수 있는 게시판 본문의 IP 주소를 관리자만 보게 하거나 또는 모든 사람이 보이도록 한다면 마지막 2 단위만 보이게 하고 싶습니다. 예: * . * .123.123
2. 문제는 IP주소가 IPv6 형식으로 보내지는 작성자는 어떻게 별표(*)로 가릴 수 있을까요? 예: 9009:0d88:234K:a8f0:218e:1380:6710:5z7z
3. 댓글 부분도 위 1번과 같이 관리자만 볼 수 있거나 또는 모든 사람이 볼 수 있지만 마지막 2 단위만 보이게 하고 싶습니다. 예: * . * .123.123
그리고 ip 표시 코드 중 게시판 id를 여러개 사용을 하려고 할 때 어떻게 해야 하나요?
본문에 ip가 출력 될 때 게시판 id
if($board->id == '1' && $meta_key == 'ip' && $content->option->{$meta_key}){ // 실제 게시판 id로 적용해주세요.
댓글에 ip가 출력 될 때 게시판 id
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
위에 표시한 대로 본문과 댓글에 표시하는 게시판 id 가 있는데요, 코드가 서로 달라서 두 문장의 복수의 게시판 id 입력 방법이 궁금합니다.
항상 도움을 받고 있어서 감사할 따름입니다
고맙습니다.
안녕하세요~^^
추가한 코드에 $board->id == '1' 이런 코드가 있다면
관리자에게만 실행되게 하시려면
$board->id == '1' 부분을 $board->isAdmin() && $board->id == '1' 코드로 교체해보세요.
관리자가 아닌 사용자에게만 실행되게 하시려면
!$board->isAdmin() && $board->id == '1' 코드를 활용해보세요.
ip를 점(.)을 기준으로 마지막 두 군데만 표시되게 하시려면
올려주신 링크 중 아래의 링크에서
https://www.cosmosfarm.com/threads/document/47537
$value[1] 쪽에만 적용된 코드를 $value[0]도 추가해서 적용해주셔야 합니다.
IP 형식이 IPv6로 적용이 된다면
explode 및 implode 시 점(.)으로 처리하고 있는 부분을 쌍점(:)으로 적용해주셔야 합니다.
IP 형태가 IPv4, IPv6 혼합해서 적용된다면
explode 시 count 함수를 활용해서 배열의 길이를 체크해서 별도로 코드를 적용해주셔야 합니다.
고맙습니다.
고맙습니다.
따라서 해볼게요. ^^
그리고 게시판을 몇 개 중복해서 적용을 하려면 위에 id == '1' 부분을 어떻게 해야 될까요?
가령 게시판 id가 1번과 18번 2개를 동시에 적용을 하고 싶을때 말입니다.
고맙습니다.
여러 개의 게시판에 적용하시려면
$board->id == '1' 부분을 in_array($board->id, array('1', '18')) 이런 식으로 적용해보시겠어요?
고맙습니다.