zrashwani / key-pic
psr7 compatible composer package for key pic spam detection webservice
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ^5.3
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ~2.0
- symfony/psr-http-message-bridge: ^0.2.0
- symfony/var-dumper: ^2.7
- zendframework/zend-diactoros: ^1.1
This package is not auto-updated.
Last update: 2024-11-05 05:24:10 UTC
README
This library provides a wrapper to use KeyPic web service for spam detection,
by using any PSR-7 compliant request (RequestInterface
objects).
How to Install
You can install this library with Composer. Drop this into your composer.json
manifest file:
{
"require": {
"zrashwani/key-pic": "dev-master"
}
}
Then run composer install
.
How to use
To use keypic web service with any request that implements PSR-7:
require 'vendor/autoload.php'; use Zrashwani\KeyPic\KeyPic; $keypicObj = new KeyPic($psrRequest); //initiate and configure keypic object $keypicObj = $keypicObj->setFormID('YOUR_KEYPIC_FORM_ID') //set form ID ->setDebug(true) // set debug mode ->setTokenInputName("keypic_token"); //hidden input name $token = $keypicObj->getToken(); if($psrRequest->getMethod() == "POST"){ $data = $psrRequest->getParsedBody(); $email = $data['EMAIL_INPUT']; $username = $data['NAME_INPUT']; $message = $data['MESSAGE_INPUT']; //Detect if entry is Spam? from 0% to 100% $spam = $keypicObj->isSpam($email, $username, $message); if($spam === false){ echo "Cannot determine spam percentage."; }elseif($spam > 60){ //if spam percentage larger than certain number echo "user and/or submitted data seems spammy, spam percentage = ".$spam; }else{ echo "Not Spam"; } }
In your form, place the call to renderHtml()
method to render pixel image or javascript, along with keypic hidden token field as following:
<form action="" method="post"> <!-- Your form elements here --> <?php echo $keypicObj->renderHtml(); ?> </form>
How to Contribute
- Fork this repository
- Create a new branch for each feature or improvement
- Send a pull request from each feature branch
It is important to separate new features or improvements into separate feature branches, and to send a pull request for each branch.
All pull requests must adhere to the PSR-2 standard.
System Requirements
- PHP 5.4.0+
License
MIT Public License