| 1 |
<?php |
<?php |
| 2 |
// $Id: undisposable.module,v 1.2 2008/04/12 13:02:51 mustafau Exp $ |
// $Id: undisposable.module,v 1.3 2008/04/22 13:14:00 mustafau Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 6 |
|
* Functions for detecting disposable e-mail addresses. |
| 7 |
* |
* |
| 8 |
* PHP serialization support is built-in. |
* PHP serialization support is built-in. |
| 9 |
* If you want to use XML-RPC, JASON or REST services read lib/README.txt |
* If you want to use XML-RPC, JASON or REST services read lib/README.txt |
| 58 |
if ($type == 'validate' && $category == 'account') { |
if ($type == 'validate' && $category == 'account') { |
| 59 |
// Validate the e-mail address. |
// Validate the e-mail address. |
| 60 |
$respond = _undisposable('isDisposableEmail', $edit['mail']); |
$respond = _undisposable('isDisposableEmail', $edit['mail']); |
| 61 |
if ($respond['stat'] != 'ok') { |
if (isset($respond['stat']) && $respond['stat'] == 'ok' && $respond['email']['isdisposable']) { |
| 62 |
form_set_error('mail', $respond['stat']); |
form_set_error('mail', t('The e-mail address %email has been reported as disposable.', array('%email' => $edit['mail']))); |
| 63 |
|
watchdog('user', t('Rejected registration attempt with disposable e-mail address: %name (%email).', array('%name' => $edit['name'], '%email' => $edit['mail']))); |
| 64 |
} |
} |
| 65 |
} |
} |
| 66 |
} |
} |
| 67 |
|
|
| 68 |
/** |
/** |
| 69 |
* Helper function. |
* Helper function for querying Undisposable.org database. |
|
* Query Undisposable.org database. |
|
| 70 |
* |
* |
| 71 |
* Example: |
* Example: |
| 72 |
* @code |
* @code |
| 74 |
* return ($respond['stat'] == 'ok') ? $respond['email']['isdisposable'] : FALSE; |
* return ($respond['stat'] == 'ok') ? $respond['email']['isdisposable'] : FALSE; |
| 75 |
* @endcode |
* @endcode |
| 76 |
* |
* |
| 77 |
* @param string $op |
* @param $op |
| 78 |
* @param string $arg |
* Service to query. |
| 79 |
|
* @param $arg |
| 80 |
|
* Either an e-mail address or hostname. |
| 81 |
*/ |
*/ |
| 82 |
function _undisposable($op, $arg) { |
function _undisposable($op, $arg) { |
| 83 |
$uri = 'http://www.undisposable.net/services/php/'; |
$uri = 'http://www.undisposable.net/services/php/'; |