Skip to content

Commit

Permalink
reCAPTCHA initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
shevabam committed Jan 13, 2015
1 parent b1ac29b commit 1c4a843
Show file tree
Hide file tree
Showing 3 changed files with 403 additions and 0 deletions.
119 changes: 119 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# reCAPTCHA

- [Installation](#installation)
- [Initialization](#initialization)
- [Usage](#usage)
- [Customization](#customization)
- [Theme](#theme)
- [Language](#language)
- [Type](#type)
- [Full example](#full-example)


## Installation

With Composer, add this line to your *require* section :

"phelium/recaptcha": "1.0"

Then run `composer update`.


## Initilization

require 'vendor/autoload.php';

use Phelium\Component\reCAPTCHA;


To initialize reCAPTCHA, you must provide your site key and your secret key.
There is two possible ways :

$reCAPTCHA = new reCAPTCHA('your site key', 'your secret key');

or

$reCAPTCHA = new reCAPTCHA();
$reCAPTCHA->setSiteKey('your site key');
$reCAPTCHA->setSecretKey('your secret key');

## Usage

To generate the *script* tag, use :

$reCAPTCHA->getScript();

To generate the HTML block, use in your form :

$reCAPTCHA->getHtml();

Checking the server side, in your form validation script :

if ($reCAPTCHA->isValid($_POST['g-recaptcha-response']))
{
// do whatever you want, the captcha is valid
}

## Customization

### Theme

Several themes are available : light (default) or dark.

$reCAPTCHA->setTheme('dark');

### Language

You can change the language of reCAPTCHA. Check [https://developers.google.com/recaptcha/docs/language](https://developers.google.com/recaptcha/docs/language) for more information.
By default, the language is automatically detected.

$reCAPTCHA->setLanguage('it');

### Type

Several types are available : image (default) or audio.

$reCAPTCHA->setType('audio');


## Full example

Here is an example :

<?php
require 'vendor/autoload.php';
use Phelium\Component\reCAPTCHA;

$reCAPTCHA = new reCAPTCHA('your site key', 'your secret key');
?>

<html>
<head>
<title>reCAPTCHA example</title>
<?php echo $reCAPTCHA->getScript(); ?>
</head>

<body>

<?php
if (isset($_POST['name']))
{
var_dump($_POST);

if ($reCAPTCHA->isValid($_POST['g-recaptcha-response']))
{
echo '<br>-- Captcha OK ! --<br>';
}
}
?>

<form action="#" method="POST">
<input type="text" name="name" placeholder="name">

<?php echo $reCAPTCHA->getHtml(); ?>

<input type="submit">
</form>

</body>
</html>
25 changes: 25 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "phelium/recaptcha",
"description": "reCAPTCHA v2 class",
"keywords": ["recaptcha", "captcha", "google"],
"homepage": "https://github.com/shevabam/recaptcha",
"authors": [
{
"name": "ShevAbam"
}
],
"support": {
"issues": "https://github.com/shevabam/recaptcha/issues",
"source": "https://github.com/shevabam/recaptcha/tree/master"
},
"license": "GNU GPL 2.0",
"version": "1.0",
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-4": {
"Phelium\\Component\\": "src"
}
}
}
Loading

0 comments on commit 1c4a843

Please sign in to comment.