diff --git a/fp-plugins/akismet/inc/Akismet.class.php b/fp-plugins/akismet/inc/Akismet.class.php
index a749054..b274b7c 100755
--- a/fp-plugins/akismet/inc/Akismet.class.php
+++ b/fp-plugins/akismet/inc/Akismet.class.php
@@ -1,4 +1,5 @@
Usage:
- *
- * $akismet = new Akismet('http://www.example.com/blog/', 'aoeu1aoue');
- * $akismet->setCommentAuthor($name);
- * $akismet->setCommentAuthorEmail($email);
- * $akismet->setCommentAuthorURL($url);
- * $akismet->setCommentContent($comment);
- * $akismet->setPermalink('http://www.example.com/blog/alex/someurl/');
- * if($akismet->isCommentSpam())
- * // store the comment but mark it as spam (in case of a mis-diagnosis)
- * else
- * // store the comment normally
- *
+ * Usage:
+ *
+ * $akismet = new Akismet('http://www.example.com/blog/', 'aoeu1aoue');
+ * $akismet->setCommentAuthor($name);
+ * $akismet->setCommentAuthorEmail($email);
+ * $akismet->setCommentAuthorURL($url);
+ * $akismet->setCommentContent($comment);
+ * $akismet->setPermalink('http://www.example.com/blog/alex/someurl/');
+ * if($akismet->isCommentSpam())
+ * // store the comment but mark it as spam (in case of a mis-diagnosis)
+ * else
+ * // store the comment normally
+ *
*
- * @package akismet
- * @name Akismet
- * @version 0.2
- * @author Alex Potsides (converted to PHP4 by Bret Kuhns)
- * @link http://www.achingbrain.net/
+ * @package akismet
+ * @name Akismet
+ * @version 0.2
+ * @author Alex Potsides (converted to PHP4 by Bret Kuhns)
+ * @link http://www.achingbrain.net/
*/
class Akismet {
+
var $version = '0.2';
+
var $wordPressAPIKey;
+
var $blogURL;
+
var $comment;
+
var $apiPort;
+
var $akismetServer;
+
var $akismetVersion;
// This prevents some potentially sensitive information from being sent accross the wire.
var $ignore = array(
- 'HTTP_COOKIE',
- 'HTTP_X_FORWARDED_FOR',
- 'HTTP_X_FORWARDED_HOST',
- 'HTTP_MAX_FORWARDS',
- 'HTTP_X_FORWARDED_SERVER',
- 'REDIRECT_STATUS',
- 'SERVER_PORT',
- 'PATH',
- 'DOCUMENT_ROOT',
- 'SERVER_ADMIN',
- 'QUERY_STRING',
- 'PHP_SELF'
- );
-
+ 'HTTP_COOKIE',
+ 'HTTP_X_FORWARDED_FOR',
+ 'HTTP_X_FORWARDED_HOST',
+ 'HTTP_MAX_FORWARDS',
+ 'HTTP_X_FORWARDED_SERVER',
+ 'REDIRECT_STATUS',
+ 'SERVER_PORT',
+ 'PATH',
+ 'DOCUMENT_ROOT',
+ 'SERVER_ADMIN',
+ 'QUERY_STRING',
+ 'PHP_SELF'
+ );
/**
- * @throws Exception An exception is thrown if your API key is invalid.
- * @param string Your WordPress API key.
- * @param string $blogURL The URL of your blog.
+ *
+ * @throws Exception An exception is thrown if your API key is invalid.
+ * @param
+ * string Your WordPress API key.
+ * @param string $blogURL
+ * The URL of your blog.
*/
- function Akismet($blogURL, $wordPressAPIKey) {
+ function __construct($blogURL, $wordPressAPIKey) {
$this->blogURL = $blogURL;
$this->wordPressAPIKey = $wordPressAPIKey;
@@ -89,9 +99,9 @@ class Akismet {
$this->akismetVersion = '1.1';
// Start to populate the comment data
- $this->comment['blog'] = $blogURL;
- $this->comment['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
- $this->comment['referrer'] = $_SERVER['HTTP_REFERER'];
+ $this->comment ['blog'] = $blogURL;
+ $this->comment ['user_agent'] = $_SERVER ['HTTP_USER_AGENT'];
+ $this->comment ['referrer'] = $_SERVER ['HTTP_REFERER'];
// This is necessary if the server PHP5 is running on has been set up to run PHP4 and
// PHP5 concurently and is actually running through a separate proxy al a these instructions:
@@ -99,27 +109,25 @@ class Akismet {
// and http://wiki.coggeshall.org/37.html
// Otherwise the user_ip appears as the IP address of the PHP4 server passing the requests to the
// PHP5 one...
- $this->comment['user_ip'] = $_SERVER['REMOTE_ADDR'] != getenv('SERVER_ADDR') ? $_SERVER['REMOTE_ADDR'] : getenv('HTTP_X_FORWARDED_FOR');
+ $this->comment ['user_ip'] = $_SERVER ['REMOTE_ADDR'] != getenv('SERVER_ADDR') ? $_SERVER ['REMOTE_ADDR'] : getenv('HTTP_X_FORWARDED_FOR');
// Check to see if the key is valid
$response = $this->http_post('key=' . $this->wordPressAPIKey . '&blog=' . $this->blogURL, $this->akismetServer, '/' . $this->akismetVersion . '/verify-key');
- if($response[1] != 'valid') {
- // Whoops, no it's not. Throw an exception as we can't proceed without a valid API key.
+ if ($response [1] != 'valid') {
+ // Whoops, no it's not. Throw an exception as we can't proceed without a valid API key.
trigger_error('Invalid API key. Please obtain one from http://wordpress.com/api-keys/', E_USER_ERROR);
}
}
function http_post($request, $host, $path) {
- $http_request =
- "POST " . $path . " HTTP/1.0\r\n" .
- "Host: " . $host . "\r\n" .
- "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n" .
- "Content-Length: " . strlen($request) . "\r\n" .
- "User-Agent: Akismet PHP5 Class " . $this->version . " | Akismet/1.11\r\n" .
- "\r\n" .
- $request
- ;
+ $http_request = "POST " . $path . " HTTP/1.0\r\n" . //
+ "Host: " . $host . "\r\n" . //
+ "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n" . //
+ "Content-Length: " . strlen($request) . "\r\n" . //
+ "User-Agent: Akismet PHP5 Class " . $this->version . " | Akismet/1.11\r\n" . //
+ "\r\n" . //
+ $request;
$socketWriteRead = new SocketWriteRead($host, $this->apiPort, $http_request);
$socketWriteRead->send();
@@ -127,22 +135,22 @@ class Akismet {
return explode("\r\n\r\n", $socketWriteRead->getResponse(), 2);
}
- // Formats the data for transmission echo $sql;
+ // Formats the data for transmission echo $sql;
function getQueryString() {
- foreach($_SERVER as $key => $value) {
- if(!in_array($key, $this->ignore)) {
- if($key == 'REMOTE_ADDR') {
- $this->comment[$key] = $this->comment['user_ip'];
+ foreach ($_SERVER as $key => $value) {
+ if (!in_array($key, $this->ignore)) {
+ if ($key == 'REMOTE_ADDR') {
+ $this->comment [$key] = $this->comment ['user_ip'];
} else {
- $this->comment[$key] = $value;
+ $this->comment [$key] = $value;
}
}
}
$query_string = '';
-
- foreach($this->comment as $key => $data) {
-
+
+ foreach ($this->comment as $key => $data) {
+
@$query_string .= $key . '=' . urlencode(stripslashes($data)) . '&';
}
@@ -150,156 +158,171 @@ class Akismet {
}
/**
- * Tests for spam.
+ * Tests for spam.
*
- * Uses the web service provided by {@link http://www.akismet.com Akismet} to see whether or not the submitted comment is spam. Returns a boolean value.
+ * Uses the web service provided by {@link http://www.akismet.com Akismet} to see whether or not the submitted comment is spam. Returns a boolean value.
*
- * @return bool True if the comment is spam, false if not
+ * @return bool True if the comment is spam, false if not
*/
function isSpam() {
$response = $this->http_post($this->getQueryString(), $this->wordPressAPIKey . '.rest.akismet.com', '/' . $this->akismetVersion . '/comment-check');
-
- return ($response[1] == 'true');
+
+ return ($response [1] == 'true');
}
/**
- * Submit spam that is incorrectly tagged as ham.
+ * Submit spam that is incorrectly tagged as ham.
*
- * Using this function will make you a good citizen as it helps Akismet to learn from its mistakes. This will improve the service for everybody.
+ * Using this function will make you a good citizen as it helps Akismet to learn from its mistakes. This will improve the service for everybody.
*/
function submitSpam() {
$this->http_post($this->getQueryString(), $this->wordPressAPIKey . '.' . $this->akismetServer, '/' . $this->akismetVersion . '/submit-spam');
}
/**
- * Submit ham that is incorrectly tagged as spam.
+ * Submit ham that is incorrectly tagged as spam.
*
- * Using this function will make you a good citizen as it helps Akismet to learn from its mistakes. This will improve the service for everybody.
+ * Using this function will make you a good citizen as it helps Akismet to learn from its mistakes. This will improve the service for everybody.
*/
function submitHam() {
$this->http_post($this->getQueryString(), $this->wordPressAPIKey . '.' . $this->akismetServer, '/' . $this->akismetVersion . '/submit-ham');
}
/**
- * To override the user IP address when submitting spam/ham later on
+ * To override the user IP address when submitting spam/ham later on
*
- * @param string $userip An IP address. Optional.
+ * @param string $userip
+ * An IP address. Optional.
*/
function setUserIP($userip) {
- $this->comment['user_ip'] = $userip;
+ $this->comment ['user_ip'] = $userip;
}
/**
- * To override the referring page when submitting spam/ham later on
+ * To override the referring page when submitting spam/ham later on
*
- * @param string $referrer The referring page. Optional.
+ * @param string $referrer
+ * The referring page. Optional.
*/
function setReferrer($referrer) {
- $this->comment['referrer'] = $referrer;
+ $this->comment ['referrer'] = $referrer;
}
/**
- * A permanent URL referencing the blog post the comment was submitted to.
+ * A permanent URL referencing the blog post the comment was submitted to.
*
- * @param string $permalink The URL. Optional.
+ * @param string $permalink
+ * The URL. Optional.
*/
function setPermalink($permalink) {
- $this->comment['permalink'] = $permalink;
+ $this->comment ['permalink'] = $permalink;
}
/**
- * The type of comment being submitted.
+ * The type of comment being submitted.
*
- * May be blank, comment, trackback, pingback, or a made up value like "registration" or "wiki".
+ * May be blank, comment, trackback, pingback, or a made up value like "registration" or "wiki".
*/
function setType($commentType) {
- $this->comment['comment_type'] = $commentType;
+ $this->comment ['comment_type'] = $commentType;
}
/**
- * The name that the author submitted with the comment.
+ * The name that the author submitted with the comment.
*/
function setAuthor($commentAuthor) {
- $this->comment['comment_author'] = $commentAuthor;
+ $this->comment ['comment_author'] = $commentAuthor;
}
/**
- * The email address that the author submitted with the comment.
+ * The email address that the author submitted with the comment.
*
- * The address is assumed to be valid.
+ * The address is assumed to be valid.
*/
function setAuthorEmail($authorEmail) {
- $this->comment['comment_author_email'] = $authorEmail;
+ $this->comment ['comment_author_email'] = $authorEmail;
}
/**
- * The URL that the author submitted with the comment.
+ * The URL that the author submitted with the comment.
*/
function setAuthorURL($authorURL) {
- $this->comment['comment_author_url'] = $authorURL;
+ $this->comment ['comment_author_url'] = $authorURL;
}
/**
- * The comment's body text.
+ * The comment's body text.
*/
function setContent($commentBody) {
- $this->comment['comment_content'] = $commentBody;
+ $this->comment ['comment_content'] = $commentBody;
}
/**
- * Defaults to 80
+ * Defaults to 80
*/
function setAPIPort($apiPort) {
$this->apiPort = $apiPort;
}
/**
- * Defaults to rest.akismet.com
+ * Defaults to rest.akismet.com
*/
function setAkismetServer($akismetServer) {
$this->akismetServer = $akismetServer;
}
/**
- * Defaults to '1.1'
+ * Defaults to '1.1'
*/
function setAkismetVersion($akismetVersion) {
$this->akismetVersion = $akismetVersion;
}
+
}
-
/**
- * Utility class used by Akismet
+ * Utility class used by Akismet
*
- * This class is used by Akismet to do the actual sending and receiving of data. It opens a connection to a remote host, sends some data and the reads the response and makes it available to the calling program.
+ * This class is used by Akismet to do the actual sending and receiving of data. It opens a connection to a remote host, sends some data and the reads the response and makes it available to the calling program.
*
- * The code that makes up this class originates in the Akismet WordPress plugin, which is {@link http://akismet.com/download/ available on the Akismet website}.
+ * The code that makes up this class originates in the Akismet WordPress plugin, which is {@link http://akismet.com/download/ available on the Akismet website}.
*
- * N.B. It is not necessary to call this class directly to use the Akismet class. This is included here mainly out of a sense of completeness.
+ * N.B. It is not necessary to call this class directly to use the Akismet class. This is included here mainly out of a sense of completeness.
*
- * @package akismet
- * @name SocketWriteRead
- * @version 0.1
- * @author Alex Potsides
- * @link http://www.achingbrain.net/
+ * @package akismet
+ * @name SocketWriteRead
+ * @version 0.1
+ * @author Alex Potsides
+ * @link http://www.achingbrain.net/
*/
class SocketWriteRead {
+
var $host;
+
var $port;
+
var $request;
+
var $response;
+
var $responseLength;
+
var $errorNumber;
+
var $errorString;
/**
- * @param string $host The host to send/receive data.
- * @param int $port The port on the remote host.
- * @param string $request The data to send.
- * @param int $responseLength The amount of data to read. Defaults to 1160 bytes.
+ *
+ * @param string $host
+ * The host to send/receive data.
+ * @param int $port
+ * The port on the remote host.
+ * @param string $request
+ * The data to send.
+ * @param int $responseLength
+ * The amount of data to read. Defaults to 1160 bytes.
*/
- function SocketWriteRead($host, $port, $request, $responseLength = 1160) {
+ function __construct($host, $port, $request, $responseLength = 1160) {
$this->host = $host;
$this->port = $port;
$this->request = $request;
@@ -309,24 +332,23 @@ class SocketWriteRead {
}
/**
- * Sends the data to the remote host.
+ * Sends the data to the remote host.
*
- * @throws An exception is thrown if a connection cannot be made to the remote host.
+ * @throws An exception is thrown if a connection cannot be made to the remote host.
*/
function send() {
$this->response = '';
- $fs = fsockopen($this->host, $this->port, $this->errorNumber, $this->errorString,
- AKISMET_TIMEOUT);
+ $fs = fsockopen($this->host, $this->port, $this->errorNumber, $this->errorString, AKISMET_TIMEOUT);
- if($this->errorNumber != 0) {
+ if ($this->errorNumber != 0) {
trigger_error('Error connecting to host: ' . $this->host . ' Error number: ' . $this->errorNumber . ' Error message: ' . $this->errorString, E_USER_ERROR);
}
- if($fs !== false) {
+ if ($fs !== false) {
@fwrite($fs, $this->request);
- while(!feof($fs)) {
+ while (!feof($fs)) {
$this->response .= fgets($fs, $this->responseLength);
}
@@ -335,34 +357,35 @@ class SocketWriteRead {
}
/**
- * Returns the server response text
+ * Returns the server response text
*
- * @return string
+ * @return string
*/
function getResponse() {
return $this->response;
}
/**
- * Returns the error number
+ * Returns the error number
*
- * If there was no error, 0 will be returned.
+ * If there was no error, 0 will be returned.
*
- * @return int
+ * @return int
*/
function getErrorNumber() {
return $this->errorNumber;
}
/**
- * Returns the error string
+ * Returns the error string
*
- * If there was no error, an empty string will be returned.
+ * If there was no error, an empty string will be returned.
*
- * @return string
+ * @return string
*/
function getErrorString() {
return $this->errorString;
}
+
}
?>
\ No newline at end of file
diff --git a/fp-plugins/akismet/plugin.akismet.php b/fp-plugins/akismet/plugin.akismet.php
index 890bb51..81d1665 100644
--- a/fp-plugins/akismet/plugin.akismet.php
+++ b/fp-plugins/akismet/plugin.akismet.php
@@ -62,7 +62,7 @@ if (class_exists('AdminPanelAction')) {
$this->smarty->assign('akismetconf', $akismetconf);
}
- function onsubmit() {
+ function onsubmit($data = null) {
global $fp_config;
if ($_POST ['wp-apikey']) {
diff --git a/fp-plugins/akismet/tpls/admin.plugin.akismet.tpl b/fp-plugins/akismet/tpls/admin.plugin.akismet.tpl
index a2dc80c..9bcaed1 100644
--- a/fp-plugins/akismet/tpls/admin.plugin.akismet.tpl
+++ b/fp-plugins/akismet/tpls/admin.plugin.akismet.tpl
@@ -8,7 +8,7 @@
{html_form}
+
{$plang.whatis}