예전 버전에서 사용하던 mysql 구문은

mysql_query("SELECT MAX(`id`) as id FROM `".$database['prefix']."Comments` WHERE `blogid` =$blogid  AND `name` != '$ownerid' and  `isFiltered` = 0 and written between $yearstart and $yearend GROUP BY `name`")

이런 식이었습니다만...

GROUP BY 나 BETWEEN 도 문제이고...
MAX()도 어떻게 처리해야 할지...좀 난감하군요.

감사드립니다.

제가 플러그인의 구조를 조금더 공부해야 겠군요
그동안 플러그인을 만들때 리버스-엔지니어링에만 너무 의존했던거 같습니다.^^;

제가 만든 안티스팸 플러그인이 있습니다.
http://textcube.org/plugin/entry/Draco-Anti-Spam-plugin
영어환자 플러그인에 이것저것 기능을 넣어서 강화시킨 플러그인입니다. (워낙 바꾸고 추가해서 같은 부분은 거의 없게 변화되었지만요;; )

주요기능은
- 한글이 들어있지 않은 외국어 댓글과 트랙백 삭제
- 중복되는 댓글과 트랙백 삭제
- 금지단어가 포함된 댓글과 트랙백 삭제
등입니다.

이 플러그인에서 제가 해결하지 못한 문제점이 있습니다.
EAS나 EAS plus와 같이 사용하면 위의 기능에 해당하는 댓글들이 정상적으로 차단되지만,  트랙백의 경우는 처리를 못하고 전부 통과시킵니다.

뭔가 충돌을 하고 있다고 짐작되지만,
함수명도 다르고, global 도 $configVal이나 $database 외에는 사용하는게 없습니다.
다른 서버에서 보내는 트랙백 이벤트일경우기 때문에 페이지에 에러코드를 표시하라고 한다고 보여지는 것도 아니고요.

해결할 방법이 생각이 잘 생각 안나는데,
좀 도와주시기 바랍니다.

플러그인에서
블로그 관리자나 사용자가 로그인했는지,
그리고 '누가' 로그인 했는지 확인하려면 어떻게 해야 할까요.

아이디어를 실현하려면 필요한 처리인데 연관된 이벤트가 없어서 난감하군요.

자세히 보니, 스팸트랙백이 제목만 있고 내용이 없는걸로 보내져왔고,
영어중환자 플러그인은 내용부분만 영어로되어 있는지 체크해서 통과된거였습니다.
플러그인을 개조해서 해결했습니다.
http://draco.pe.kr/entry/EnglishPatientPlugin-fix
답변주셔서 감사합니다.

오늘 스팸 트랙백이 꽤 많이 오는군요.
예전에 번역댓글 스팸과 마찮가지로...패턴이 아주 다양화되서 EAS로는 방어가 안되는거 같습니다.
EAS plus로 나중에 정리해서 지워지긴 하지만 완벽하게 대응은 안되네요.

전부 알파벳으로만 이루어진 트랙백인데 달리는거 보니
설치한 영어 중환자 플러그인이 텍스트큐브에서는 작동하지 않나봅니다.
노란우비 플러그인도 텍스트큐브에서는 작동하지 않는다고 하고 (제작자 분이 텍스트큐브에서 작동하게 하려면 어떻게 해야 하는지 문의하셨던데 답도 없고..)...난감하군요.

EAS를 보강하거나, 관련 플러그인 만드신 분들께 업그레이드에 필요한 정보를 제공해 주셨으면 합니다.

7

(7 답글들, 스킨 및 플러그인에 작성)

원인을 찾았습니다.
제가 사용했던 다른 플러그인과 충돌을 했군요.
혹시나 해서 다른 모든 플러그인을 끄니 정상적으로 출력이 되길래 하나씩 검토해봤더니 -_-;

플러그인끼리 영향을 주기도 하나 봅니다.
다소 어이가 없네요^^;

답변해주신 분들 감사드립니다.

8

(7 답글들, 스킨 및 플러그인에 작성)

스킨에 치환자는 정확하게 들어가 있는데...안되네요.;;

9

(7 답글들, 스킨 및 플러그인에 작성)

답변 감사합니다.

그런데... <tag name= 방식은 기본으로 있던 TattertoolsBirthday 플러그인의 index.xml 에 사용하고 있던걸요.

http://forum.tattertools.com/ko/viewtopic.php?id=1301
여기에 Peris님의 리플중 치환을 위해 설명하신 부분에도 있고....

10

(7 답글들, 스킨 및 플러그인에 작성)

-_-; 안녕하세요. 플러그인 만들어 보려고 첫걸음 내 딛은 사람입니다.
PHP로 이것저것 만들어는 봤지만, 남의 프로그램에 보조로 붙는 스킨이나 플러그인은 처음 해보려는 거라 헤깔리네요.

그래서 처음에 스킨의 치환자 위치에 글자 출력하는 걸 만들어봤는데...(누구나 첫걸음에 시작하는 Hello World;;)
그것마저 안되는 겁니다.;;;
플러그인은 인식해서 사용중으로 바꿀수 있는데, index.php 부분이 전혀 실행이 안되네요.

혹시 이게 왜 안되는것인지, 지적해주시면 감사드리겠습니다.

소스코드

index.xml===========
<?xml version="1.0" encoding="utf-8"?>
<plugin version="1.0">
  <title>Draco Test</title>
  <version>1.0</version>
  <description>플러그인 사용이 잘 되나 테스트!!!.</description>
  <license>Draco</license>
  <link>http://draco.pe.kr</link>
  <author link="http://draco.pe.kr">Draco</author>
  <safety changeData="no" exposeData="no" accessLocal="no" accessRemote="no" accessRaw="no" />
  <requirements>
    <tattertools>1.0.3</tattertools>
  </requirements>
  <binding>
    <tag name="DracoTest" handler="ShowDracoTest" />
  </binding>
</plugin>


index.php==============
<?
function ShowDracoTest() {
    $target = "Hello World!";
    return $target;
}
?>