From ba052c0cc94a1b1acbe3322e9e3705f71f7134ac Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 7 Jan 2009 07:36:48 +0000 Subject: Extract the Akismet driver from the Spam_Filter module into a module in its own right. Clean up the tests, streamline the code and improve the admin interaction. Add a working stats page. --- modules/akismet/controllers/admin_akismet.php | 69 +++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 modules/akismet/controllers/admin_akismet.php (limited to 'modules/akismet/controllers') diff --git a/modules/akismet/controllers/admin_akismet.php b/modules/akismet/controllers/admin_akismet.php new file mode 100644 index 00000000..6d32868f --- /dev/null +++ b/modules/akismet/controllers/admin_akismet.php @@ -0,0 +1,69 @@ +validate(); + + if ($valid) { + $new_key = $form->configure_akismet->api_key->value; + if ($new_key && !akismet::validate_key($new_key)) { + $form->configure_akismet->api_key->add_error("invalid", 1); + $valid = false; + } + } + + if ($valid) { + $old_key = module::get_var("akismet", "api_key"); + if ($old_key && !$new_key) { + message::success(_("Your Akismet key has been cleared.")); + } else if ($old_key && $new_key && $old_key != $new_key) { + message::success(_("Your Akismet key has been changed.")); + } else if (!$old_key && $new_key) { + message::success(_("Your Akismet key has been saved.")); + } + + log::success("akismet", _("Akismet key changed to $new_key")); + module::set_var("akismet", "api_key", $new_key); + url::redirect("admin/akismet"); + } else { + $valid_key = false; + } + } else { + $valid_key = module::get_var("akismet", "api_key") ? 1 : 0; + } + + $view = new Admin_View("admin.html"); + $view->content = new View("admin_akismet.html"); + $view->content->valid_key = $valid_key; + $view->content->form = $form; + print $view; + } + + public function stats() { + $view = new Admin_View("admin.html"); + $view->content = new View("admin_akismet_stats.html"); + $view->content->api_key = module::get_var("akismet", "api_key"); + $view->content->blog_url = url::base(false, "http"); + print $view; + } +} \ No newline at end of file -- cgit v1.2.3