[첫화면으로]UseModWiki소스수정/반영된사용자의견

마지막으로 [b]

이 페이지가 너무 길어지는 바람에... 오래된 것들은 10개 항목씩 끊어서 다시 아래의 archive 페이지로 옮깁니다.


목차:

1. ip 막기
2. intermap 파일에 주석 허용

1. ip 막기

UseMod 1.0을 보면 UserIsBanned와 DoEditBanned에 문제가 있어서 수정되었습니다. 보고 적용해주시기 바랍니다.
-- 조프 2005-2-25 1:45 am
UserIsBanned 에서 딱 한 줄 추가되었고 DoEditBanned 에서는 사용법 설명하는 문구가 바뀐 정도로군요. UpdateBanned 는 바뀐 게 없고... 이것만 고치면 되는 건가요? 따라가다보면 GetRemoteHost 도 바뀌긴 했네요.
-- Raymundo 2005-2-25 7:13 am
사실 저도 IP ban은 쓰질 않고 있어서, 고치면 잘 동작하는건지 모르겠습니다. 대신 좀 고쳐서 금지단어 기능을 넣어봤으니 그 쪽이 제대로 되는지 확인해주세요. 주절주절에 자꾸 스팸 게시물이 올라와서요.
-- 조프 2005-2-25 9:27 am
지금은 시간이 없으니 주말쯤에 봐서 적용하도록 하겠습니다. 생각난김에, 매크로처럼 액션들도 별도의 파일들로 분리하게 할까 합니다. 그나저나 주절주절의 스팸은 직접 붙여넣기 해서 쓰는 것 같더군요. 조프위키의 인기가 높다는 뜻이겠죠 :-)
-- Raymundo 2005-2-25 11:17 am

일단 위 두 함수는 1.0의 코드로 고쳐놨습니다.
-- Raymundo 2005-2-26 3:44 pm

2. intermap 파일에 주석 허용

intermap 파일에 주석을 달 수 있게 했으면 좋겠는데, 아무래도 주석은 "#"으로 시작하는 게 좋겠죠. 근데 위키에서 intermap 파일을 처리하는 과정상, 주석을 제거한 후에 빈 줄 같은게 없어야 합니다.

# 줄의 처음부터 #으로 시작하는 주석
aaaaa        AAAAAAAAAAAAAAAAAAAAAAA
        # 앞에 공백이 있어도 허용
bbbb          BBBBBBBBBBBBBBBBBB
ccccccc    CCCCCCCCCCCCCCC   # 이렇게 내용이 있는 줄 뒷부분에 달린 주석
위와 같은 경우, 주석을 제거하고 나면
aaaaa        AAAAAAAAAAAAAAAAAAAAAAA
bbbb          BBBBBBBBBBBBBBBBBB
ccccccc    CCCCCCCCCCCCCCC
이렇게 빈 줄이 없어야 합니다.

제가 현재 작성한 치환은 아래와 같습니다.
            $data =~ s/^\s+//gm;          # 각 라인의 앞에 공백 제거
            $data =~ s/\s+$//gm;          # 각 라인의 뒤에 공백 제거
            $data =~ s/^#.*$//gm;         # 샵으로 시작하는 라인 제거
            $data =~ s/\s+#.*$//gm;       # 공백 이후 샵으로 시작하면 거기서부터 라인 끝까지 제거
            $data =~ s/(\r?\n)+/\n/gs;    # 줄바꿈이 하나 이상 있으면 그걸 하나로 치환. 빈 줄제거.
            $data =~ s/^\r?\n//gs;        # 텍스트 제일 앞에 빈 줄 제거

보다시피 여섯번을 치환을 해야 하니.. 아무리 봐도 맘에 들지 않습니다. 좀 더 효과적인 방법이 없을까요?

동일한 질문을 올린 곳:

반영되었음.
-- Raymundo 2006-3-12 4:22 am


위키위키분류

마지막 편집일: 2006-3-12 4:22 am (변경사항 [d])
1164 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기