게시판 설정에서 $DAILYNUM을 사용하면 매일 닉네임이 변경되고 $DOCNUM을 사용하면 게시글마다 닉네임이 변경되는걸로 알고 있습니다
그러면 혹시 게시글마다 닉네임이 변경되는것과 동시에 하루가 지나면 닉네임이 다시 변경되는 기능도 가능한가요?
게시판 설정에서 $DAILYNUM을 사용하면 매일 닉네임이 변경되고 $DOCNUM을 사용하면 게시글마다 닉네임이 변경되는걸로 알고 있습니다
그러면 혹시 게시글마다 닉네임이 변경되는것과 동시에 하루가 지나면 닉네임이 다시 변경되는 기능도 가능한가요?
실행은 잠담못합니다.
public function createAnonymousName($format, $member_srl, $document_srl) { if (strpos($format, '$NUM') !== false) { $num = hash_hmac('sha256', $member_srl ?: \RX_CLIENT_IP, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$NUM' => $num)); } elseif (strpos($format, '$DAILYNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':date:' . date('Y-m-d'), config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DAILYNUM' => $num)); } elseif (strpos($format, '$DOCNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':document_srl:' . $document_srl, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DOCNUM' => $num)); } elseif (strpos($format, '$DOCDAILYNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':date:' . date('Y-m-d') . ':document_srl:' . $document_srl, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DOCNUM' => $num)); } else { return $format; } }
위처럼 board.controller.php 파일의 createAnonymousName 메서드을 찾아서 다음과 같이 수정하시고(마지막 elseif부분이 추가되었습니다.)
설정은 익명_$DOCDAILYNUM 으로 익명 닉네임을 설정해보세요.
아 추가한 댓글에서 elseif 뒤쪽의 && strpos($format, '$DAILYNUM') !== false는 제거해주세요.
elseif (strpos($format, '$DOCDAILYNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':date:' . date('Y-m-d') . ':document_srl:' . $document_srl, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DOCDAILYNUM' => $num)); }
추가된 코드 전문입니다.
public function createAnonymousName($format, $member_srl, $document_srl) { if (strpos($format, '$NUM') !== false) { $num = hash_hmac('sha256', $member_srl ?: \RX_CLIENT_IP, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$NUM' => $num)); } elseif (strpos($format, '$DAILYNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':date:' . date('Y-m-d'), config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DAILYNUM' => $num)); } elseif (strpos($format, '$DOCNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':document_srl:' . $document_srl, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DOCNUM' => $num)); } elseif (strpos($format, '$DOCDAILYNUM') !== false) { $num = hash_hmac('sha256', ($member_srl ?: \RX_CLIENT_IP) . ':date:' . date('Y-m-d') . ':document_srl:' . $document_srl, config('crypto.authentication_key')); $num = sprintf('%08d', hexdec(substr($num, 0, 8)) % 100000000); return strtr($format, array('$DOCDAILYNUM' => $num)); } else { return $format; } }
삭제해야하는 부분이 어디인가요? 위 코드처럼 수정했는데 닉네임을 익명_$DOCDAILYNUM로 설정하고 새 글을 쓰면 글쓴이가 같게 나옵니다ㅠ
다만, 새로운 글일때 이전 게시글과 다르게 닉네임이 변경됩니다.
"그러면 혹시 게시글마다 닉네임이 변경되는것과 동시에 하루가 지나면 닉네임이 다시 변경되는 기능도 가능한가요? " 정확히 어떻게 물어보신 것인지는 잘 이해가 안가는데.. 대충 제 생각으로는 기존의 게시글중에 닉네임을 변경된다는 것은 전혀 이루어지지 않고 매 12시 시간마다 새로운 닉네임을 부여해서 새로운 게시글일때 부여한다고 생각하시면 될 것 같아요.
코드상으로 보니 기존게시글에 글쓴이가 댓글을 남겨도 글쓴이라고 나타나진 않을 수도 있겠네요..