Service/Akismet.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Service
- Subpackage
- Akismet
- Version
- $Id: Akismet.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Service_Akismet
- Parent(s)
- \Zend_Service_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Uses
- \global\Zend_Service_Abstract
Properties


\Zend_Http_Client $_httpClient = null
null
Details- Type
- \Zend_Http_Client
- Inherited_from
- \Zend_Service_Abstract::$$_httpClient
Methods


__construct(string $apiKey, string $blog) : void
Constructor
Name | Type | Description |
---|---|---|
$apiKey | string | Akismet API key |
$blog | string | Blog URL |


_makeApiCall(string $path, array $params) : \Zend_Http_Response
Perform an API call
Name | Type | Description |
---|---|---|
$path | string | |
$params | array |
Type | Description |
---|---|
\Zend_Http_Response |
Exception | Description |
---|---|
\Zend_Service_Exception | if missing user_ip or user_agent fields |


_post(string $host, string $path, array $params) : mixed
Post a request
Name | Type | Description |
---|---|---|
$host | string | |
$path | string | |
$params | array |
Type | Description |
---|---|
mixed |


getHttpClient() : \Zend_Http_Client
Gets the HTTP client object.
Inherited from: \Zend_Service_Abstract::getHttpClient()Type | Description |
---|---|
\Zend_Http_Client |


isSpam(array $params) : boolean
Check a comment for spam
Checks a comment to see if it is spam. $params should be an associative array with one or more of the following keys (unless noted, all keys are optional): - blog: URL of the blog. If not provided, uses value returned by getBlogUrl() - user_ip (required): IP address of comment submitter - user_agent (required): User Agent used by comment submitter - referrer: contents of HTTP_REFERER header - permalink: location of the entry to which the comment was submitted - comment_type: typically, one of 'blank', 'comment', 'trackback', or 'pingback', but may be any value - comment_author: name submitted with the content - comment_author_email: email submitted with the content - comment_author_url: URL submitted with the content - comment_content: actual content
Additionally, Akismet suggests returning the key/value pairs in the $_SERVER array, and these may be included in the $params.
This method implements the Akismet comment-check REST method.
Name | Type | Description |
---|---|---|
$params | array |
Type | Description |
---|---|
boolean |
Exception | Description |
---|---|
\Zend_Service_Exception | with invalid API key |


setApiKey(string $apiKey) : \Zend_Service_Akismet
Set API key
Name | Type | Description |
---|---|---|
$apiKey | string |
Type | Description |
---|---|
\Zend_Service_Akismet |


setBlogUrl(string $blogUrl) : \Zend_Service_Akismet
Set blog URL
Name | Type | Description |
---|---|---|
$blogUrl | string |
Type | Description |
---|---|
\Zend_Service_Akismet |
Exception | Description |
---|---|
\Zend_Service_Exception | if invalid URL provided |


setCharset(string $charset) : \Zend_Service_Akismet
Set charset
Name | Type | Description |
---|---|---|
$charset | string |
Type | Description |
---|---|
\Zend_Service_Akismet |


setHttpClient(\Zend_Http_Client $httpClient) : void
Sets the HTTP client object to use for retrieving the feeds.
Inherited from: \Zend_Service_Abstract::setHttpClient()If none is set, the default Zend_Http_Client will be used.
Name | Type | Description |
---|---|---|
$httpClient | \Zend_Http_Client |


setPort(int $port) : \Zend_Service_Akismet
Set TCP/IP port
Name | Type | Description |
---|---|---|
$port | int |
Type | Description |
---|---|
\Zend_Service_Akismet |
Exception | Description |
---|---|
\Zend_Service_Exception | if non-integer value provided |


setUserAgent(string $userAgent) : \Zend_Service_Akismet
Set User Agent
Should be of form "Some user agent/version | Akismet/version"
Name | Type | Description |
---|---|---|
$userAgent | string |
Type | Description |
---|---|
\Zend_Service_Akismet |
Exception | Description |
---|---|
\Zend_Service_Exception | with invalid user agent string |


submitHam(array $params) : void
Submit ham
Takes the same arguments as isSpam().
Submits a comment that has been falsely categorized as spam by Akismet as a false positive, telling Akismet's filters not to filter such comments as spam in the future.
Unlike submitSpam() and isSpam(), a valid API key is never necessary; as a result, this method never throws an exception (unless an exception happens with the HTTP client layer).
this method implements Akismet's submit-ham REST method.
Name | Type | Description |
---|---|---|
$params | array |


submitSpam(array $params) : void
Submit spam
Takes the same arguments as isSpam().
Submits known spam content to Akismet to help train it.
This method implements Akismet's submit-spam REST method.
Name | Type | Description |
---|---|---|
$params | array |
Exception | Description |
---|---|
\Zend_Service_Exception | with invalid API key |