Version Description
- Initial release.
=
Download this release
Release Info
Developer | shamim51 |
Plugin | Advanced noCaptcha & invisible Captcha |
Version | 1.1 |
Comparing to | |
See all releases |
Version 1.1
- admin/anr-admin-class.php +273 -0
- advanced-nocaptcha-recaptcha.php +27 -0
- anr-captcha-class.php +188 -0
- functions.php +155 -0
- images/advanced-nocaptcha-recaptcha.jpg +0 -0
- languages/anr.pot +373 -0
- readme.txt +68 -0
- style/style.css +3 -0
admin/anr-admin-class.php
ADDED
@@ -0,0 +1,273 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if (!class_exists('anr_admin_class'))
|
4 |
+
{
|
5 |
+
class anr_admin_class
|
6 |
+
{
|
7 |
+
private static $instance;
|
8 |
+
|
9 |
+
public static function init()
|
10 |
+
{
|
11 |
+
if(!self::$instance instanceof self) {
|
12 |
+
self::$instance = new self;
|
13 |
+
}
|
14 |
+
return self::$instance;
|
15 |
+
}
|
16 |
+
|
17 |
+
function actions_filters()
|
18 |
+
{
|
19 |
+
add_action('admin_menu', array(&$this, 'MenuPage'));
|
20 |
+
add_filter('plugin_action_links', array(&$this, 'add_settings_link'), 10, 2 );
|
21 |
+
}
|
22 |
+
|
23 |
+
|
24 |
+
|
25 |
+
/******************************************ADMIN SETTINGS PAGE BEGIN******************************************/
|
26 |
+
|
27 |
+
function MenuPage()
|
28 |
+
{
|
29 |
+
add_menu_page('Advanced noCaptcha reCaptcha', 'Advanced noCaptcha', 'manage_options', 'anr-admin-settings', array(&$this, 'admin_settings'),plugins_url( 'advanced-nocaptcha-recaptcha/images/advanced-nocaptcha-recaptcha.jpg' ));
|
30 |
+
|
31 |
+
add_submenu_page('anr-admin-settings', 'Advanced noCaptcha reCaptcha - ' .__('Settings','anr'), __('Settings','anr'), 'manage_options', 'anr-admin-settings', array(&$this, 'admin_settings'));
|
32 |
+
|
33 |
+
add_submenu_page('anr-admin-settings', 'Advanced noCaptcha reCaptcha - ' .__('Instruction','fepcf'), __('Instruction','fepcf'), 'manage_options', 'anr-instruction', array(&$this, "InstructionPage"));
|
34 |
+
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
function admin_settings()
|
39 |
+
{
|
40 |
+
$token = wp_create_nonce( 'anr-admin-settings' );
|
41 |
+
$url = 'https://shamimbiplob.wordpress.com/contact-us/';
|
42 |
+
$actionURL = admin_url( 'admin.php?page=anr-admin-settings' );
|
43 |
+
$ReviewURL = 'https://wordpress.org/support/view/plugin-reviews/advanced-nocaptcha-recaptcha';
|
44 |
+
echo "<style>
|
45 |
+
input[type='text'], textarea, select {
|
46 |
+
width: 100%;
|
47 |
+
}
|
48 |
+
</style>";
|
49 |
+
$languages = array(
|
50 |
+
__( 'Auto Detect', 'anr' ) => '',
|
51 |
+
__( 'Arabic', 'anr' ) => 'ar',
|
52 |
+
__( 'Bulgarian', 'anr' ) => 'bg',
|
53 |
+
__( 'Catalan', 'anr' ) => 'ca',
|
54 |
+
__( 'Chinese (Simplified)', 'anr' ) => 'zh-CN',
|
55 |
+
__( 'Chinese (Traditional)', 'anr' ) => 'zh-TW',
|
56 |
+
__( 'Croatian', 'anr' ) => 'hr',
|
57 |
+
__( 'Czech', 'anr' ) => 'cs',
|
58 |
+
__( 'Danish', 'anr' ) => 'da',
|
59 |
+
__( 'Dutch', 'anr' ) => 'nl',
|
60 |
+
__( 'English (UK)', 'anr' ) => 'en-GB',
|
61 |
+
__( 'English (US)', 'anr' ) => 'en',
|
62 |
+
__( 'Filipino', 'anr' ) => 'fil',
|
63 |
+
__( 'Finnish', 'anr' ) => 'fi',
|
64 |
+
__( 'French', 'anr' ) => 'fr',
|
65 |
+
__( 'French (Canadian)', 'anr' ) => 'fr-CA',
|
66 |
+
__( 'German', 'anr' ) => 'de',
|
67 |
+
__( 'German (Austria)', 'anr' ) => 'de-AT',
|
68 |
+
__( 'German (Switzerland)', 'anr' ) => 'de-CH',
|
69 |
+
__( 'Greek', 'anr' ) => 'el',
|
70 |
+
__( 'Hebrew', 'anr' ) => 'iw',
|
71 |
+
__( 'Hindi', 'anr' ) => 'hi',
|
72 |
+
__( 'Hungarain', 'anr' ) => 'hu',
|
73 |
+
__( 'Indonesian', 'anr' ) => 'id',
|
74 |
+
__( 'Italian', 'anr' ) => 'it',
|
75 |
+
__( 'Japanese', 'anr' ) => 'ja',
|
76 |
+
__( 'Korean', 'anr' ) => 'ko',
|
77 |
+
__( 'Latvian', 'anr' ) => 'lv',
|
78 |
+
__( 'Lithuanian', 'anr' ) => 'lt',
|
79 |
+
__( 'Norwegian', 'anr' ) => 'no',
|
80 |
+
__( 'Persian', 'anr' ) => 'fa',
|
81 |
+
__( 'Polish', 'anr' ) => 'pl',
|
82 |
+
__( 'Portuguese', 'anr' ) => 'pt',
|
83 |
+
__( 'Portuguese (Brazil)', 'anr' ) => 'pt-BR',
|
84 |
+
__( 'Portuguese (Portugal)', 'anr' )=> 'pt-PT',
|
85 |
+
__( 'Romanian', 'anr' ) => 'ro',
|
86 |
+
__( 'Russian', 'anr' ) => 'ru',
|
87 |
+
__( 'Serbian', 'anr' ) => 'sr',
|
88 |
+
__( 'Slovak', 'anr' ) => 'sk',
|
89 |
+
__( 'Slovenian', 'anr' ) => 'sl',
|
90 |
+
__( 'Spanish', 'anr' ) => 'es',
|
91 |
+
__( 'Spanish (Latin America)', 'anr' )=> 'es-419',
|
92 |
+
__( 'Swedish', 'anr' ) => 'sv',
|
93 |
+
__( 'Thai', 'anr' ) => 'th',
|
94 |
+
__( 'Turkish', 'anr' ) => 'tr',
|
95 |
+
__( 'Ukrainian', 'anr' ) => 'uk',
|
96 |
+
__( 'Vietnamese', 'anr' ) => 'vi'
|
97 |
+
|
98 |
+
);
|
99 |
+
|
100 |
+
$locations = array(
|
101 |
+
__( 'Login Form', 'anr' ) => 'login',
|
102 |
+
__( 'Registration Form', 'anr' ) => 'registration',
|
103 |
+
__( 'Lost Password Form', 'anr' ) => 'lost_password',
|
104 |
+
__( 'Reset Password Form', 'anr' ) => 'reset_password',
|
105 |
+
__( 'Comment Form', 'anr' ) => 'comment'
|
106 |
+
|
107 |
+
);
|
108 |
+
|
109 |
+
|
110 |
+
if(isset($_POST['anr-admin-settings-submit'])){
|
111 |
+
$errors = $this->admin_settings_action();
|
112 |
+
if(count($errors->get_error_messages())>0){
|
113 |
+
echo anr_error($errors);
|
114 |
+
}
|
115 |
+
else{
|
116 |
+
echo'<div id="message" class="updated fade">' .__("Options successfully saved.", 'anr'). ' </div>';}}
|
117 |
+
echo "<div id='poststuff'>
|
118 |
+
|
119 |
+
<div id='post-body' class='metabox-holder columns-2'>
|
120 |
+
|
121 |
+
<!-- main content -->
|
122 |
+
<div id='post-body-content'>
|
123 |
+
<div class='postbox'><div class='inside'>
|
124 |
+
<h2>".__("Advanced noCaptcha reCaptcha Settings", 'anr')."</h2>
|
125 |
+
<h5>".sprintf(__("If you like this plugin please <a href='%s' target='_blank'>Review in Wordpress.org</a> and give 5 star", 'anr'),esc_url($ReviewURL))."</h5>
|
126 |
+
<form method='post' action='$actionURL'>
|
127 |
+
<table>
|
128 |
+
<thead>
|
129 |
+
<tr><th width = '50%'>".__("Setting", 'anr')."</th><th width = '50%'>".__("Value", 'anr')."</th></tr>
|
130 |
+
</thead>
|
131 |
+
<tr><td>".__("Site Key", 'anr')."<br/><small><a href='https://www.google.com/recaptcha/admin' target='_blank'>Get From Google</a></small></td><td><input type='text' size = '40' name='site_key' value='".anr_get_option('site_key')."' /></td></tr>
|
132 |
+
<tr><td>".__("Secret key", 'anr')."<br/><small><a href='https://www.google.com/recaptcha/admin' target='_blank'>Get From Google</a></small></td><td><input type='text' size = '40' name='secret_key' value='".anr_get_option('secret_key')."' /></td></tr>
|
133 |
+
|
134 |
+
<tr><td>".__("Language", 'anr')."</td><td><select name='language'>";
|
135 |
+
|
136 |
+
foreach ( $languages as $language => $code ) {
|
137 |
+
|
138 |
+
echo "<option value='$code' ".selected(anr_get_option('language'), $code,false).">$language</option>";
|
139 |
+
|
140 |
+
}
|
141 |
+
|
142 |
+
echo "</select></td></tr>
|
143 |
+
<tr><td>".__("Theme", 'anr')."</td><td><select name='theme'>
|
144 |
+
|
145 |
+
<option value='light' ".selected(anr_get_option('theme'), 'light',false).">Light</option>
|
146 |
+
<option value='dark' ".selected(anr_get_option('theme'), 'dark',false).">Dark</option>
|
147 |
+
|
148 |
+
</select></td></tr>
|
149 |
+
<tr><td>".__("Error Message", 'anr')."</td><td><input type='text' size = '40' name='error_message' value='".anr_get_option('error_message', '<strong>ERROR</strong>: Please solve Captcha correctly.')."' /></td></tr>
|
150 |
+
|
151 |
+
<tr><td>".__("Show Captcha on", 'anr')."</td><td>";
|
152 |
+
|
153 |
+
foreach ( $locations as $location => $slug ) {
|
154 |
+
|
155 |
+
echo "<ul colspan='2'><input type='checkbox' name='$slug' value='1' ".checked(anr_get_option($slug), '1', false)." /> $location</ul>";
|
156 |
+
|
157 |
+
}
|
158 |
+
if ( function_exists('fepcf_plugin_activate'))
|
159 |
+
echo "<ul colspan='2'><input type='checkbox' name='fep_contact_form' value='1' ".checked(anr_get_option('fep_contact_form'), '1', false)." /> FEP Contact Form</ul>";
|
160 |
+
else
|
161 |
+
echo "<ul colspan='2'><input type='checkbox' name='fep_contact_form' disabled value='1' ".checked(anr_get_option('fep_contact_form'), '1', false)." /> FEP Contact Form (is not installed) <a href='https://wordpress.org/plugins/fep-contact-form/' target='_blank'>Install Now</a></ul>";
|
162 |
+
|
163 |
+
echo "<ul colspan='2'> For other forms see <a href='".esc_url(admin_url( 'admin.php?page=anr-instruction' ))."'>Instruction</a></ul>";
|
164 |
+
echo "</td></tr>";
|
165 |
+
|
166 |
+
do_action('anr_admin_setting_form');
|
167 |
+
|
168 |
+
echo "<tr><td colspan='2'><input type='checkbox' name='loggedin_hide' value='1' ".checked(anr_get_option('loggedin_hide'), '1', false)." /> ".__("Hide Captcha for logged in users?", 'anr')."</td></tr>
|
169 |
+
<tr><td colspan='2'><input type='checkbox' name='no_js' value='1' ".checked(anr_get_option('no_js'), '1', false)." /> ".__("Show captcha if javascript disabled?", 'anr')."<br/><small>".__("If JavaScript is a requirement for your site, we advise that you do NOT check this", 'anr')."</small></td></tr>
|
170 |
+
<tr><td colspan='2'><span><input class='button-primary' type='submit' name='anr-admin-settings-submit' value='".__("Save Options", 'anr')."' /></span></td><td><input type='hidden' name='token' value='$token' /></td></tr>
|
171 |
+
</table>
|
172 |
+
</form>
|
173 |
+
<ul>".sprintf(__("For paid support pleasse visit <a href='%s' target='_blank'>Advanced noCaptcha reCaptcha</a>", 'anr'),esc_url($url))."</ul>
|
174 |
+
</div></div></div>
|
175 |
+
". $this->anr_admin_sidebar(). "
|
176 |
+
</div></div>";
|
177 |
+
}
|
178 |
+
|
179 |
+
function anr_admin_sidebar()
|
180 |
+
{
|
181 |
+
return '<div id="postbox-container-1" class="postbox-container">
|
182 |
+
|
183 |
+
|
184 |
+
<div class="postbox">
|
185 |
+
<h3 class="hndle" style="text-align: center;">
|
186 |
+
<span>'. __( "Plugin Author", "anr" ). '</span>
|
187 |
+
</h3>
|
188 |
+
|
189 |
+
<div class="inside">
|
190 |
+
<div style="text-align: center; margin: auto">
|
191 |
+
<strong>Shamim Hasan</strong><br />
|
192 |
+
Know php, MySql, css, javascript, html. Expert in WordPress. <br /><br />
|
193 |
+
|
194 |
+
You can hire for plugin customization, build custom plugin or any kind of wordpress job via <br> <a
|
195 |
+
href="https://shamimbiplob.wordpress.com/contact-us/"><strong>Contact Form</strong></a>
|
196 |
+
</div>
|
197 |
+
</div>
|
198 |
+
</div>
|
199 |
+
</div>';
|
200 |
+
}
|
201 |
+
|
202 |
+
|
203 |
+
function admin_settings_action()
|
204 |
+
{
|
205 |
+
if (isset($_POST['anr-admin-settings-submit']))
|
206 |
+
{
|
207 |
+
$errors = new WP_Error();
|
208 |
+
$options = $_POST;
|
209 |
+
|
210 |
+
if( !current_user_can('manage_options'))
|
211 |
+
$errors->add('noPermission', __('No Permission!', 'anr'));
|
212 |
+
|
213 |
+
|
214 |
+
if ( !wp_verify_nonce($options['token'], 'anr-admin-settings'))
|
215 |
+
$errors->add('invalidToken', __('Sorry, your nonce did not verify!', 'anr'));
|
216 |
+
|
217 |
+
do_action('anr_action_admin_setting_before_save', $errors);
|
218 |
+
|
219 |
+
$options = apply_filters('anr_filter_admin_setting_before_save',$options);
|
220 |
+
//var_dump($options);
|
221 |
+
|
222 |
+
if (count($errors->get_error_codes())==0){
|
223 |
+
update_option('anr_admin_options', $options);
|
224 |
+
}
|
225 |
+
return $errors;
|
226 |
+
}
|
227 |
+
return false;
|
228 |
+
}
|
229 |
+
|
230 |
+
function InstructionPage()
|
231 |
+
{
|
232 |
+
$url = 'https://shamimbiplob.wordpress.com/contact-us/';
|
233 |
+
echo '<div id="poststuff">
|
234 |
+
|
235 |
+
<div id="post-body" class="metabox-holder columns-2">
|
236 |
+
|
237 |
+
<!-- main content -->
|
238 |
+
<div id="post-body-content">';
|
239 |
+
|
240 |
+
echo "<div class='postbox'><div class='inside'>
|
241 |
+
<h2>".__("Advanced noCaptcha reCaptcha Setup Instruction", 'anr')."</h2>
|
242 |
+
<p><ul>
|
243 |
+
<li>".sprintf(__("Get your site key and secret key from <a href='%s' target='_blank'>GOOGLE</a> if you do not have already.", 'anr'),esc_url('https://www.google.com/recaptcha/admin'))."</li>
|
244 |
+
<li>".sprintf(__("Goto <a href='%s'>SETTINGS</a> page and set up as you need. and ENJOY...", 'anr'),esc_url(admin_url( 'admin.php?page=anr-admin-settings' )))."</li><br/>
|
245 |
+
<h3>".__("Implement noCaptcha in Contact Form 7", 'anr')."</h3><br />
|
246 |
+
<li>".__("To show noCaptcha use ", 'anr')."<code>[anr_nocaptcha g-recaptcha-response]</code></li><br />
|
247 |
+
<h3>".__("If you want to implement noCaptcha in any other custom form", 'anr')."</h3><br />
|
248 |
+
<li>".__("To show form field use ", 'anr')."<code>anr_captcha_form_field()</code></li>
|
249 |
+
<li>".__("To verify use ", 'anr')."<code>anr_verify_captcha()</code> it will return true on success otherwise false</li><br />
|
250 |
+
<li>".sprintf(__("For paid support pleasse visit <a href='%s' target='_blank'>Advanced noCaptcha reCaptcha</a>", 'anr'),esc_url($url))."</li>
|
251 |
+
</ul></p></div></div></div>
|
252 |
+
". $this->anr_admin_sidebar(). "
|
253 |
+
</div></div>";
|
254 |
+
}
|
255 |
+
|
256 |
+
|
257 |
+
function add_settings_link( $links, $file ) {
|
258 |
+
//add settings link in plugins page
|
259 |
+
$plugin_file = 'advanced-nocaptcha-recaptcha/advanced-nocaptcha-recaptcha.php';
|
260 |
+
if ( $file == $plugin_file ) {
|
261 |
+
$settings_link = '<a href="' . admin_url( 'admin.php?page=anr-admin-settings' ) . '">' .__( 'Settings', 'anr' ) . '</a>';
|
262 |
+
array_unshift( $links, $settings_link );
|
263 |
+
}
|
264 |
+
return $links;
|
265 |
+
}
|
266 |
+
/******************************************ADMIN SETTINGS PAGE END******************************************/
|
267 |
+
|
268 |
+
|
269 |
+
} //END CLASS
|
270 |
+
} //ENDIF
|
271 |
+
|
272 |
+
add_action('wp_loaded', array(anr_admin_class::init(), 'actions_filters'));
|
273 |
+
?>
|
advanced-nocaptcha-recaptcha.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
Plugin Name: Advanced noCaptcha reCaptcha
|
4 |
+
Plugin URI: https://shamimbiplob.wordpress.com/contact-us/
|
5 |
+
Description: Show noCaptcha in Login, Register, Lost Password, Reset Password, Comment Form (after Comment textarea before submit button). Also can implement in any other form easily.
|
6 |
+
Version: 1.1
|
7 |
+
Author: Shamim
|
8 |
+
Author URI: https://shamimbiplob.wordpress.com/contact-us/
|
9 |
+
Text Domain: anr
|
10 |
+
License: GPLv2 or later
|
11 |
+
*/
|
12 |
+
//DEFINE
|
13 |
+
global $wpdb;
|
14 |
+
define('ANR_PLUGIN_DIR',plugin_dir_path( __FILE__ ));
|
15 |
+
define('ANR_PLUGIN_URL',plugins_url().'/advanced-nocaptcha-recaptcha/');
|
16 |
+
|
17 |
+
require_once('functions.php');
|
18 |
+
|
19 |
+
|
20 |
+
//ADD ACTIONS
|
21 |
+
|
22 |
+
add_action('after_setup_theme', 'anr_include_require_files');
|
23 |
+
add_action('plugins_loaded', 'anr_translation');
|
24 |
+
add_action('wp_enqueue_scripts', 'anr_enqueue_scripts');
|
25 |
+
add_action('login_enqueue_scripts', 'anr_login_enqueue_scripts');
|
26 |
+
|
27 |
+
|
anr-captcha-class.php
ADDED
@@ -0,0 +1,188 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if (!class_exists('anr_captcha_class'))
|
4 |
+
{
|
5 |
+
class anr_captcha_class
|
6 |
+
{
|
7 |
+
private static $instance;
|
8 |
+
|
9 |
+
public static function init()
|
10 |
+
{
|
11 |
+
if(!self::$instance instanceof self) {
|
12 |
+
self::$instance = new self;
|
13 |
+
}
|
14 |
+
return self::$instance;
|
15 |
+
}
|
16 |
+
|
17 |
+
function actions_filters()
|
18 |
+
{
|
19 |
+
if ( '1' == anr_get_option( 'fep_contact_form' )) {
|
20 |
+
add_action ('fepcf_message_form_after_content', array(&$this, 'form_field'), 99);
|
21 |
+
add_action ('fepcf_action_message_before_send', array(&$this, 'fepcf_verify'));
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( '1' == anr_get_option( 'login' )) {
|
25 |
+
add_action ('login_form', array(&$this, 'form_field'), 99);
|
26 |
+
add_filter ('wp_authenticate_user', array(&$this, 'login_verify'), 10, 2 );
|
27 |
+
}
|
28 |
+
|
29 |
+
if ( '1' == anr_get_option( 'registration' )) {
|
30 |
+
add_action ('register_form', array(&$this, 'form_field'), 99);
|
31 |
+
add_filter ('registration_errors', array(&$this, 'registration_verify'), 10, 3 );
|
32 |
+
}
|
33 |
+
|
34 |
+
if ( '1' == anr_get_option( 'lost_password' )) {
|
35 |
+
add_action ('lostpassword_form', array(&$this, 'form_field'), 99);
|
36 |
+
add_action ('allow_password_reset', array(&$this, 'lostpassword_verify'), 10, 2); //lostpassword_post does not return wp_error
|
37 |
+
}
|
38 |
+
|
39 |
+
if ( '1' == anr_get_option( 'reset_password' )) {
|
40 |
+
add_action ('resetpass_form', array(&$this, 'form_field'), 99);
|
41 |
+
add_filter ('validate_password_reset', array(&$this, 'reset_password_verify'), 10, 2 );
|
42 |
+
}
|
43 |
+
|
44 |
+
if ( '1' == anr_get_option( 'comment' )) {
|
45 |
+
add_filter ('comment_form_field_comment', array(&$this, 'comment_form_field') );
|
46 |
+
add_action ('pre_comment_on_post', array(&$this, 'comment_verify') );
|
47 |
+
}
|
48 |
+
|
49 |
+
if ( function_exists( 'wpcf7_add_shortcode' )) {
|
50 |
+
wpcf7_add_shortcode('anr_nocaptcha', array(&$this, 'wpcf7_form_field'), true);
|
51 |
+
add_filter('wpcf7_validate_anr_nocaptcha', array(&$this, 'wpcf7_verify'), 10, 2);
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
function form_field()
|
57 |
+
{
|
58 |
+
$loggedin_hide = anr_get_option( 'loggedin_hide' );
|
59 |
+
|
60 |
+
if ( is_user_logged_in() && $loggedin_hide )
|
61 |
+
return;
|
62 |
+
|
63 |
+
echo anr_captcha_form_field( false );
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
function comment_form_field( $defaults )
|
68 |
+
{
|
69 |
+
$loggedin_hide = anr_get_option( 'loggedin_hide' );
|
70 |
+
|
71 |
+
if ( is_user_logged_in() && $loggedin_hide )
|
72 |
+
return $defaults;
|
73 |
+
|
74 |
+
$defaults = $defaults. '<br />' .anr_captcha_form_field( false );
|
75 |
+
return $defaults;
|
76 |
+
|
77 |
+
|
78 |
+
}
|
79 |
+
|
80 |
+
function verify()
|
81 |
+
{
|
82 |
+
|
83 |
+
$loggedin_hide = anr_get_option( 'loggedin_hide' );
|
84 |
+
|
85 |
+
if ( is_user_logged_in() && $loggedin_hide )
|
86 |
+
return true;
|
87 |
+
|
88 |
+
return anr_verify_captcha();
|
89 |
+
|
90 |
+
}
|
91 |
+
|
92 |
+
function fepcf_verify ( $errors )
|
93 |
+
{
|
94 |
+
$error_message = str_replace(__('<strong>ERROR</strong>: ', 'anr'), '', anr_get_option( 'error_message' ));
|
95 |
+
|
96 |
+
if ( ! $this->verify() )
|
97 |
+
|
98 |
+
$errors->add('anr_error', $error_message);
|
99 |
+
}
|
100 |
+
|
101 |
+
function login_verify ( $user, $password )
|
102 |
+
{
|
103 |
+
if ( ! $this->verify() ) {
|
104 |
+
$error_message = anr_get_option( 'error_message' );
|
105 |
+
return new WP_Error( 'anr_error', $error_message );
|
106 |
+
}
|
107 |
+
|
108 |
+
return $user;
|
109 |
+
}
|
110 |
+
|
111 |
+
function registration_verify ( $errors, $sanitized_user_login, $user_email )
|
112 |
+
{
|
113 |
+
if ( ! $this->verify() ) {
|
114 |
+
$error_message = anr_get_option( 'error_message' );
|
115 |
+
$errors->add( 'anr_error', $error_message );
|
116 |
+
}
|
117 |
+
|
118 |
+
return $errors;
|
119 |
+
}
|
120 |
+
|
121 |
+
function lostpassword_verify( $result, $user_id )
|
122 |
+
{
|
123 |
+
if ( ! $this->verify() ) {
|
124 |
+
$error_message = anr_get_option( 'error_message' );
|
125 |
+
return new WP_Error( 'anr_error', $error_message );
|
126 |
+
}
|
127 |
+
|
128 |
+
return $result;
|
129 |
+
}
|
130 |
+
|
131 |
+
|
132 |
+
function reset_password_verify( $errors, $user )
|
133 |
+
{
|
134 |
+
|
135 |
+
if ( ! $this->verify() ) {
|
136 |
+
$error_message = anr_get_option( 'error_message' );
|
137 |
+
$errors->add('anr_error', $error_message);
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
function comment_verify( $comment_post_ID )
|
142 |
+
{
|
143 |
+
|
144 |
+
if ( ! $this->verify() ) {
|
145 |
+
$error_message = anr_get_option( 'error_message' );
|
146 |
+
wp_die( $error_message, 200 );
|
147 |
+
}
|
148 |
+
}
|
149 |
+
|
150 |
+
function wpcf7_form_field( $tags )
|
151 |
+
{
|
152 |
+
$loggedin_hide = anr_get_option( 'loggedin_hide' );
|
153 |
+
|
154 |
+
if ( is_user_logged_in() && $loggedin_hide )
|
155 |
+
return;
|
156 |
+
|
157 |
+
return anr_captcha_form_field( false )."<span class='wpcf7-form-control-wrap g-recaptcha-response'></span>";
|
158 |
+
|
159 |
+
|
160 |
+
}
|
161 |
+
|
162 |
+
function wpcf7_verify( $result, $tag )
|
163 |
+
{
|
164 |
+
$tag = new WPCF7_Shortcode( $tag );
|
165 |
+
$name = $tag->name;
|
166 |
+
|
167 |
+
if ( ! $this->verify() ) {
|
168 |
+
|
169 |
+
$error_message = anr_get_option( 'error_message' ).'<button onclick="javascript:location.reload();">Reload Captcha</button>';
|
170 |
+
|
171 |
+
if ( method_exists($result, 'invalidate' ) ) { // wpcf7 4.1
|
172 |
+
$result->invalidate( $tag, $error_message );
|
173 |
+
} else {
|
174 |
+
$result['valid'] = false;
|
175 |
+
$result['reason'][$name] = $error_message;
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
return $result;
|
180 |
+
}
|
181 |
+
|
182 |
+
|
183 |
+
|
184 |
+
} //END CLASS
|
185 |
+
} //ENDIF
|
186 |
+
|
187 |
+
add_action('init', array(anr_captcha_class::init(), 'actions_filters'));
|
188 |
+
?>
|
functions.php
ADDED
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
if ( !function_exists('anr_get_option') ) :
|
5 |
+
|
6 |
+
function anr_get_option( $option, $default = '', $section = 'anr_admin_options' ) {
|
7 |
+
|
8 |
+
$options = get_option( $section );
|
9 |
+
|
10 |
+
if ( isset( $options[$option] ) ) {
|
11 |
+
return $options[$option];
|
12 |
+
}
|
13 |
+
|
14 |
+
return $default;
|
15 |
+
}
|
16 |
+
|
17 |
+
endif;
|
18 |
+
|
19 |
+
function anr_translation()
|
20 |
+
{
|
21 |
+
//SETUP TEXT DOMAIN FOR TRANSLATIONS
|
22 |
+
load_plugin_textdomain('anr', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
|
23 |
+
}
|
24 |
+
|
25 |
+
function anr_enqueue_scripts()
|
26 |
+
{
|
27 |
+
$language = trim(anr_get_option( 'language' ));
|
28 |
+
|
29 |
+
$lang = "";
|
30 |
+
if ( $language )
|
31 |
+
$lang = "?hl=$language";
|
32 |
+
|
33 |
+
wp_register_script( 'anr-google-recaptcha-script', "https://www.google.com/recaptcha/api.js$lang", array(), '1.1', true );
|
34 |
+
|
35 |
+
}
|
36 |
+
|
37 |
+
function anr_login_enqueue_scripts()
|
38 |
+
{
|
39 |
+
$language = trim(anr_get_option( 'language' ));
|
40 |
+
|
41 |
+
$lang = "";
|
42 |
+
if ( $language )
|
43 |
+
$lang = "?hl=$language";
|
44 |
+
|
45 |
+
wp_register_script( 'anr-google-recaptcha-script', "https://www.google.com/recaptcha/api.js$lang", array(), '1.1', true );
|
46 |
+
wp_enqueue_style( 'anr-login-style', ANR_PLUGIN_URL . 'style/style.css' );
|
47 |
+
|
48 |
+
}
|
49 |
+
|
50 |
+
function anr_include_require_files()
|
51 |
+
{
|
52 |
+
if ( is_admin() )
|
53 |
+
{
|
54 |
+
$fep_files = array(
|
55 |
+
'admin' => 'admin/anr-admin-class.php'
|
56 |
+
);
|
57 |
+
|
58 |
+
} else {
|
59 |
+
$fep_files = array(
|
60 |
+
'main' => 'anr-captcha-class.php'
|
61 |
+
);
|
62 |
+
}
|
63 |
+
|
64 |
+
$fep_files = apply_filters('anr_include_files', $fep_files );
|
65 |
+
|
66 |
+
foreach ( $fep_files as $fep_file ) {
|
67 |
+
require_once ( $fep_file );
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
function anr_captcha_form_field( $echo = true )
|
72 |
+
{
|
73 |
+
$site_key = trim(anr_get_option( 'site_key' ));
|
74 |
+
$theme = anr_get_option( 'theme' );
|
75 |
+
$no_js = anr_get_option( 'no_js' );
|
76 |
+
|
77 |
+
wp_enqueue_script('anr-google-recaptcha-script');
|
78 |
+
|
79 |
+
$field = "<div class='g-recaptcha' data-sitekey='$site_key' data-theme='$theme'></div>";
|
80 |
+
|
81 |
+
if ( $no_js == 1 )
|
82 |
+
{
|
83 |
+
$field .="<noscript>
|
84 |
+
<div style='width: 302px; height: 352px;'>
|
85 |
+
<div style='width: 302px; height: 352px; position: relative;'>
|
86 |
+
<div style='width: 302px; height: 352px; position: absolute;'>
|
87 |
+
<iframe src='https://www.google.com/recaptcha/api/fallback?k=$site_key'
|
88 |
+
frameborder='0' scrolling='no'
|
89 |
+
style='width: 302px; height:352px; border-style: none;'>
|
90 |
+
</iframe>
|
91 |
+
</div>
|
92 |
+
<div style='width: 250px; height: 80px; position: absolute; border-style: none;
|
93 |
+
bottom: 21px; left: 25px; margin: 0px; padding: 0px; right: 25px;'>
|
94 |
+
<textarea id='g-recaptcha-response' name='g-recaptcha-response'
|
95 |
+
class='g-recaptcha-response'
|
96 |
+
style='width: 250px; height: 80px; border: 1px solid #c1c1c1;
|
97 |
+
margin: 0px; padding: 0px; resize: none;' value=''>
|
98 |
+
</textarea>
|
99 |
+
</div>
|
100 |
+
</div>
|
101 |
+
</div>
|
102 |
+
</noscript>";
|
103 |
+
}
|
104 |
+
|
105 |
+
if ( $echo )
|
106 |
+
echo $field;
|
107 |
+
|
108 |
+
return $field;
|
109 |
+
|
110 |
+
}
|
111 |
+
|
112 |
+
function anr_verify_captcha()
|
113 |
+
{
|
114 |
+
$secre_key = trim(anr_get_option( 'secret_key' ));
|
115 |
+
$response = isset( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : '';
|
116 |
+
$remoteip = $_SERVER["REMOTE_ADDR"];
|
117 |
+
|
118 |
+
if ( !$secre_key ) //if $secre_key is not set
|
119 |
+
return true;
|
120 |
+
|
121 |
+
if ( !$response || !$remoteip )
|
122 |
+
return false;
|
123 |
+
|
124 |
+
$url = "https://www.google.com/recaptcha/api/siteverify";
|
125 |
+
|
126 |
+
// make a POST request to the Google reCAPTCHA Server
|
127 |
+
$request = wp_remote_post( $url, array('body' => array( 'secret' => $secre_key, 'response' => $response, 'remoteip' => $remoteip ) ) );
|
128 |
+
|
129 |
+
if ( is_wp_error( $request ) )
|
130 |
+
return false;
|
131 |
+
|
132 |
+
// get the request response body
|
133 |
+
$request_body = wp_remote_retrieve_body( $request );
|
134 |
+
if ( !$request_body )
|
135 |
+
return false;
|
136 |
+
|
137 |
+
$result = json_decode( $request_body, true );
|
138 |
+
if ( !isset($result['success']) || !$result['success'] )
|
139 |
+
return false;
|
140 |
+
|
141 |
+
if ( true == $result['success'] )
|
142 |
+
return true;
|
143 |
+
|
144 |
+
return false;
|
145 |
+
}
|
146 |
+
|
147 |
+
add_filter('shake_error_codes', 'anr_add_shake_error_codes' );
|
148 |
+
|
149 |
+
function anr_add_shake_error_codes( $shake_error_codes )
|
150 |
+
{
|
151 |
+
$shake_error_codes[] = 'anr_error';
|
152 |
+
|
153 |
+
return $shake_error_codes;
|
154 |
+
}
|
155 |
+
|
images/advanced-nocaptcha-recaptcha.jpg
ADDED
Binary file
|
languages/anr.pot
ADDED
@@ -0,0 +1,373 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2015 Advanced noCaptcha reCaptcha
|
2 |
+
# This file is distributed under the same license as the Advanced noCaptcha reCaptcha package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Advanced noCaptcha reCaptcha 1.1\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/advanced-nocaptcha-"
|
7 |
+
"recaptcha\n"
|
8 |
+
"POT-Creation-Date: 2015-04-27 09:06:05+00:00\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
|
13 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
+
|
16 |
+
#: admin/anr-admin-class.php:31 admin/anr-admin-class.php:261
|
17 |
+
msgid "Settings"
|
18 |
+
msgstr ""
|
19 |
+
|
20 |
+
#: admin/anr-admin-class.php:33
|
21 |
+
msgid "Instruction"
|
22 |
+
msgstr ""
|
23 |
+
|
24 |
+
#: admin/anr-admin-class.php:50
|
25 |
+
msgid "Auto Detect"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: admin/anr-admin-class.php:51
|
29 |
+
msgid "Arabic"
|
30 |
+
msgstr ""
|
31 |
+
|
32 |
+
#: admin/anr-admin-class.php:52
|
33 |
+
msgid "Bulgarian"
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
#: admin/anr-admin-class.php:53
|
37 |
+
msgid "Catalan"
|
38 |
+
msgstr ""
|
39 |
+
|
40 |
+
#: admin/anr-admin-class.php:54
|
41 |
+
msgid "Chinese (Simplified)"
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
#: admin/anr-admin-class.php:55
|
45 |
+
msgid "Chinese (Traditional)"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#: admin/anr-admin-class.php:56
|
49 |
+
msgid "Croatian"
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: admin/anr-admin-class.php:57
|
53 |
+
msgid "Czech"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: admin/anr-admin-class.php:58
|
57 |
+
msgid "Danish"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: admin/anr-admin-class.php:59
|
61 |
+
msgid "Dutch"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: admin/anr-admin-class.php:60
|
65 |
+
msgid "English (UK)"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: admin/anr-admin-class.php:61
|
69 |
+
msgid "English (US)"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: admin/anr-admin-class.php:62
|
73 |
+
msgid "Filipino"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: admin/anr-admin-class.php:63
|
77 |
+
msgid "Finnish"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: admin/anr-admin-class.php:64
|
81 |
+
msgid "French"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: admin/anr-admin-class.php:65
|
85 |
+
msgid "French (Canadian)"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: admin/anr-admin-class.php:66
|
89 |
+
msgid "German"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: admin/anr-admin-class.php:67
|
93 |
+
msgid "German (Austria)"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: admin/anr-admin-class.php:68
|
97 |
+
msgid "German (Switzerland)"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: admin/anr-admin-class.php:69
|
101 |
+
msgid "Greek"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: admin/anr-admin-class.php:70
|
105 |
+
msgid "Hebrew"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: admin/anr-admin-class.php:71
|
109 |
+
msgid "Hindi"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: admin/anr-admin-class.php:72
|
113 |
+
msgid "Hungarain"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: admin/anr-admin-class.php:73
|
117 |
+
msgid "Indonesian"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: admin/anr-admin-class.php:74
|
121 |
+
msgid "Italian"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: admin/anr-admin-class.php:75
|
125 |
+
msgid "Japanese"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: admin/anr-admin-class.php:76
|
129 |
+
msgid "Korean"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: admin/anr-admin-class.php:77
|
133 |
+
msgid "Latvian"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: admin/anr-admin-class.php:78
|
137 |
+
msgid "Lithuanian"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: admin/anr-admin-class.php:79
|
141 |
+
msgid "Norwegian"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: admin/anr-admin-class.php:80
|
145 |
+
msgid "Persian"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: admin/anr-admin-class.php:81
|
149 |
+
msgid "Polish"
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: admin/anr-admin-class.php:82
|
153 |
+
msgid "Portuguese"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: admin/anr-admin-class.php:83
|
157 |
+
msgid "Portuguese (Brazil)"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: admin/anr-admin-class.php:84
|
161 |
+
msgid "Portuguese (Portugal)"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: admin/anr-admin-class.php:85
|
165 |
+
msgid "Romanian"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: admin/anr-admin-class.php:86
|
169 |
+
msgid "Russian"
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: admin/anr-admin-class.php:87
|
173 |
+
msgid "Serbian"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: admin/anr-admin-class.php:88
|
177 |
+
msgid "Slovak"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: admin/anr-admin-class.php:89
|
181 |
+
msgid "Slovenian"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: admin/anr-admin-class.php:90
|
185 |
+
msgid "Spanish"
|
186 |
+
msgstr ""
|
187 |
+
|
188 |
+
#: admin/anr-admin-class.php:91
|
189 |
+
msgid "Spanish (Latin America)"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
#: admin/anr-admin-class.php:92
|
193 |
+
msgid "Swedish"
|
194 |
+
msgstr ""
|
195 |
+
|
196 |
+
#: admin/anr-admin-class.php:93
|
197 |
+
msgid "Thai"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: admin/anr-admin-class.php:94
|
201 |
+
msgid "Turkish"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: admin/anr-admin-class.php:95
|
205 |
+
msgid "Ukrainian"
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: admin/anr-admin-class.php:96
|
209 |
+
msgid "Vietnamese"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: admin/anr-admin-class.php:101
|
213 |
+
msgid "Login Form"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: admin/anr-admin-class.php:102
|
217 |
+
msgid "Registration Form"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: admin/anr-admin-class.php:103
|
221 |
+
msgid "Lost Password Form"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: admin/anr-admin-class.php:104
|
225 |
+
msgid "Reset Password Form"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: admin/anr-admin-class.php:105
|
229 |
+
msgid "Comment Form"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: admin/anr-admin-class.php:116
|
233 |
+
msgid "Options successfully saved."
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
#: admin/anr-admin-class.php:124
|
237 |
+
msgid "Advanced noCaptcha reCaptcha Settings"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: admin/anr-admin-class.php:125
|
241 |
+
msgid ""
|
242 |
+
"If you like this plugin please <a href='%s' target='_blank'>Review in "
|
243 |
+
"Wordpress.org</a> and give 5 star"
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: admin/anr-admin-class.php:129
|
247 |
+
msgid "Setting"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: admin/anr-admin-class.php:129
|
251 |
+
msgid "Value"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: admin/anr-admin-class.php:131
|
255 |
+
msgid "Site Key"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: admin/anr-admin-class.php:132
|
259 |
+
msgid "Secret key"
|
260 |
+
msgstr ""
|
261 |
+
|
262 |
+
#: admin/anr-admin-class.php:134
|
263 |
+
msgid "Language"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: admin/anr-admin-class.php:143
|
267 |
+
msgid "Theme"
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: admin/anr-admin-class.php:149
|
271 |
+
msgid "Error Message"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: admin/anr-admin-class.php:151
|
275 |
+
msgid "Show Captcha on"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: admin/anr-admin-class.php:168
|
279 |
+
msgid "Hide Captcha for logged in users?"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: admin/anr-admin-class.php:169
|
283 |
+
msgid "Show captcha if javascript disabled?"
|
284 |
+
msgstr ""
|
285 |
+
|
286 |
+
#: admin/anr-admin-class.php:169
|
287 |
+
msgid ""
|
288 |
+
"If JavaScript is a requirement for your site, we advise that you do NOT "
|
289 |
+
"check this"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: admin/anr-admin-class.php:170
|
293 |
+
msgid "Save Options"
|
294 |
+
msgstr ""
|
295 |
+
|
296 |
+
#: admin/anr-admin-class.php:173 admin/anr-admin-class.php:250
|
297 |
+
msgid ""
|
298 |
+
"For paid support pleasse visit <a href='%s' target='_blank'>Advanced "
|
299 |
+
"noCaptcha reCaptcha</a>"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: admin/anr-admin-class.php:186
|
303 |
+
msgid "Plugin Author"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: admin/anr-admin-class.php:211
|
307 |
+
msgid "No Permission!"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: admin/anr-admin-class.php:215
|
311 |
+
msgid "Sorry, your nonce did not verify!"
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: admin/anr-admin-class.php:241
|
315 |
+
msgid "Advanced noCaptcha reCaptcha Setup Instruction"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: admin/anr-admin-class.php:243
|
319 |
+
msgid ""
|
320 |
+
"Get your site key and secret key from <a href='%s' target='_blank'>GOOGLE</"
|
321 |
+
"a> if you do not have already."
|
322 |
+
msgstr ""
|
323 |
+
|
324 |
+
#: admin/anr-admin-class.php:244
|
325 |
+
msgid ""
|
326 |
+
"Goto <a href='%s'>SETTINGS</a> page and set up as you need. and ENJOY..."
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: admin/anr-admin-class.php:245
|
330 |
+
msgid "Implement noCaptcha in Contact Form 7"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: admin/anr-admin-class.php:246
|
334 |
+
msgid "To show noCaptcha use "
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: admin/anr-admin-class.php:247
|
338 |
+
msgid "If you want to implement noCaptcha in any other custom form"
|
339 |
+
msgstr ""
|
340 |
+
|
341 |
+
#: admin/anr-admin-class.php:248
|
342 |
+
msgid "To show form field use "
|
343 |
+
msgstr ""
|
344 |
+
|
345 |
+
#: admin/anr-admin-class.php:249
|
346 |
+
msgid "To verify use "
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: anr-captcha-class.php:94
|
350 |
+
msgid "<strong>ERROR</strong>: "
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#. Plugin Name of the plugin/theme
|
354 |
+
msgid "Advanced noCaptcha reCaptcha"
|
355 |
+
msgstr ""
|
356 |
+
|
357 |
+
#. #-#-#-#-# plugin.pot (Advanced noCaptcha reCaptcha 1.1) #-#-#-#-#
|
358 |
+
#. Plugin URI of the plugin/theme
|
359 |
+
#. #-#-#-#-# plugin.pot (Advanced noCaptcha reCaptcha 1.1) #-#-#-#-#
|
360 |
+
#. Author URI of the plugin/theme
|
361 |
+
msgid "https://shamimbiplob.wordpress.com/contact-us/"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#. Description of the plugin/theme
|
365 |
+
msgid ""
|
366 |
+
"Show noCaptcha in Login, Register, Lost Password, Reset Password, Comment "
|
367 |
+
"Form (after Comment textarea before submit button). Also can implement in "
|
368 |
+
"any other form easily."
|
369 |
+
msgstr ""
|
370 |
+
|
371 |
+
#. Author of the plugin/theme
|
372 |
+
msgid "Shamim"
|
373 |
+
msgstr ""
|
readme.txt
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Advanced noCaptcha reCaptcha ===
|
2 |
+
Contributors: shamim51
|
3 |
+
Tags: recaptcha,nocaptcha,no captcha,bot,spam,captcha,contact form 7 captcha,widget,plugin,sidebar,shortcode,page,posts,comments,google
|
4 |
+
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4HKBQ3QFSCPHJ&lc=US&item_name=Front%20End%20PM&item_number=Front%20End%20PM¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
|
5 |
+
Requires at least: 2.8
|
6 |
+
Tested up to: 4.2.2
|
7 |
+
Stable tag: trunk
|
8 |
+
License: GPLv2 or later
|
9 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
+
|
11 |
+
Show noCaptcha in Comment Form (after Comment textarea before submit button), Contact Form 7, Login, Register, Lost Password, Reset Password.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
+
Show noCaptcha in Comment Form (after Comment textarea before submit button), Contact Form 7, Login, Register, Lost Password, Reset Password. Also can implement in any other form easily.
|
16 |
+
|
17 |
+
= Show noCaptcha on =
|
18 |
+
|
19 |
+
* Comment Form (after Comment textarea before submit button)
|
20 |
+
* Contact Form 7
|
21 |
+
* Login
|
22 |
+
* Register
|
23 |
+
* Lost Password
|
24 |
+
* Reset Password
|
25 |
+
* FEP Contact Form
|
26 |
+
|
27 |
+
= Options =
|
28 |
+
|
29 |
+
* Language can be changed
|
30 |
+
* Theme can be changed
|
31 |
+
* Error message can be changed
|
32 |
+
* Option to show/hide captcha for logged in users
|
33 |
+
* Captcha will show if javascript disabled also (optional)
|
34 |
+
|
35 |
+
|
36 |
+
== Installation ==
|
37 |
+
1. Upload "advanced-nocaptcha-recaptcha" to the "/wp-content/plugins/" directory.
|
38 |
+
1. Activate the plugin through the "Plugins" menu in WordPress.
|
39 |
+
1. Go to plugin settings page for setup.
|
40 |
+
|
41 |
+
|
42 |
+
== Frequently Asked Questions ==
|
43 |
+
|
44 |
+
= Can i use this plugin to my language? =
|
45 |
+
Yes. this plugin is translate ready. But If your language is not available you can make one. If you want to help us to translate this plugin to your language you are welcome.
|
46 |
+
|
47 |
+
|
48 |
+
== Screenshots ==
|
49 |
+
|
50 |
+
1. Captcha in comment form
|
51 |
+
2. Captcha in Contact Form 7
|
52 |
+
3. Captcha in Login Form
|
53 |
+
4. Captcha in Register Form
|
54 |
+
5. Captcha in Lost Password Form
|
55 |
+
6. Advanced noCaptcha reCaptcha Settings
|
56 |
+
7. Advanced noCaptcha reCaptcha Setup Instruction
|
57 |
+
|
58 |
+
== Changelog ==
|
59 |
+
|
60 |
+
= 1.1 =
|
61 |
+
|
62 |
+
* Initial release.
|
63 |
+
|
64 |
+
== Upgrade Notice ==
|
65 |
+
|
66 |
+
= 1.1 =
|
67 |
+
|
68 |
+
* Initial release.
|
style/style.css
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
#login {
|
2 |
+
width: 350px !important;
|
3 |
+
}
|