summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-01-08 02:56:49 +0000
committerBharat Mediratta <bharat@menalto.com>2009-01-08 02:56:49 +0000
commitbc36ba609db3b030d28a8768023b35441f8b9b9e (patch)
treec08b06dc707c53313066f966d9e3179d15244ad0
parent8bf388a6f671faba94f46ad9e982139c211378ee (diff)
Add akismet::$test_mode, initialize it to TEST_MODE and don't contact
akismet if it's on. Force it on in the scaffolding so that we don't try to run all comments we add from there through Akismet.
-rw-r--r--core/controllers/welcome.php2
-rw-r--r--modules/akismet/helpers/akismet.php14
-rw-r--r--modules/akismet/helpers/akismet_event.php8
3 files changed, 16 insertions, 8 deletions
diff --git a/core/controllers/welcome.php b/core/controllers/welcome.php
index 1509c54e..c77e90a9 100644
--- a/core/controllers/welcome.php
+++ b/core/controllers/welcome.php
@@ -298,6 +298,7 @@ class Welcome_Controller extends Template_Controller {
url::redirect("welcome");
}
+ akismet::$test_mode = 1;
for ($i = 0; $i < $count; $i++) {
$photo = $photos[array_rand($photos)];
comment::create(
@@ -305,6 +306,7 @@ class Welcome_Controller extends Template_Controller {
"johndoe@example.com",
$this->random_phrase(rand(8, 500)), $photo->id);
}
+ akismet::$test_mode = 0;
url::redirect("welcome");
}
diff --git a/modules/akismet/helpers/akismet.php b/modules/akismet/helpers/akismet.php
index b34ed1ac..12d7a106 100644
--- a/modules/akismet/helpers/akismet.php
+++ b/modules/akismet/helpers/akismet.php
@@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class akismet_Core {
+ public static $test_mode = TEST_MODE;
+
// Lets not send everything to Akismet
private static $white_list = array(
"HTTP_USER_AGENT",
@@ -41,6 +43,10 @@ class akismet_Core {
* @return $string "spam", "ham" or "unknown"
*/
public static function check_comment($comment) {
+ if (akismet::$test_mode) {
+ return;
+ }
+
$request = self::_build_request("comment-check", $comment);
$response = self::_http_post($request);
$answer = $response->body[0];
@@ -58,6 +64,10 @@ class akismet_Core {
* @param Comment_Model $comment A comment to check
*/
public static function submit_spam($comment) {
+ if (akismet::$test_mode) {
+ return;
+ }
+
$request = self::_build_request("submit-spam", $comment);
self::_http_post($request);
}
@@ -67,6 +77,10 @@ class akismet_Core {
* @param Comment_Model $comment A comment to check
*/
public static function submit_ham($comment) {
+ if (akismet::$test_mode) {
+ return;
+ }
+
$request = self::_build_request("submit-ham", $comment);
self::_http_post($request);
}
diff --git a/modules/akismet/helpers/akismet_event.php b/modules/akismet/helpers/akismet_event.php
index 2a42acb3..c18b217b 100644
--- a/modules/akismet/helpers/akismet_event.php
+++ b/modules/akismet/helpers/akismet_event.php
@@ -19,10 +19,6 @@
*/
class akismet_event_Core {
public static function comment_created($comment) {
- if (TEST_MODE) {
- return;
- }
-
switch(akismet::check_comment($comment)) {
case "spam":
$comment->state = "spam";
@@ -41,10 +37,6 @@ class akismet_event_Core {
}
public static function comment_changed($old, $new) {
- if (TEST_MODE) {
- return;
- }
-
if ($old->state != "spam" && $new->state == "spam") {
akismet::submit_spam($new);
} else if ($old->state == "spam" && $new->state != "spam") {