File "anr-admin-class.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/advanced-nocaptcha-recaptcha/admin/anr-admin-class.php
File size: 18.05 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if (!class_exists('anr_admin_class'))
{
class anr_admin_class
{
private static $instance;
public static function init()
{
if(!self::$instance instanceof self) {
self::$instance = new self;
}
return self::$instance;
}
function actions_filters()
{
if ( is_multisite() ) {
$same_settings = apply_filters( 'anr_same_settings_for_all_sites', false );
} else {
$same_settings = false;
}
if ( $same_settings ) {
add_action('network_admin_menu', array($this, 'MenuPage'));
} else {
add_action('admin_menu', array($this, 'MenuPage'));
}
add_filter('plugin_action_links', array($this, 'add_settings_link'), 10, 2 );
}
/******************************************ADMIN SETTINGS PAGE BEGIN******************************************/
function MenuPage()
{
//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' ));
//add_submenu_page('anr-admin-settings', 'Advanced noCaptcha reCaptcha - ' .__('Settings','advanced-nocaptcha-recaptcha'), __('Settings','advanced-nocaptcha-recaptcha'), 'manage_options', 'anr-admin-settings', array($this, 'admin_settings'));
//add_submenu_page('anr-admin-settings', 'Advanced noCaptcha reCaptcha - ' .__('Instruction','fepcf'), __('Instruction','fepcf'), 'manage_options', 'anr-instruction', array($this, "InstructionPage"));
add_options_page( __('Advanced noCaptcha & invisible captcha Settings','advanced-nocaptcha-recaptcha'), __('Advanced noCaptcha & invisible captcha','advanced-nocaptcha-recaptcha'), 'manage_options', 'anr-admin-settings', array($this, 'admin_settings') );
}
function admin_settings()
{
$token = wp_create_nonce( 'anr-admin-settings' );
$url = 'https://www.shamimsplugins.com/contact-us/';
$ReviewURL = 'https://wordpress.org/support/plugin/advanced-nocaptcha-recaptcha/reviews/?filter=5#new-post';
echo "<style>
input[type='text'], textarea, select {
width: 100%;
}
</style>";
$languages = array(
__( 'Auto Detect', 'advanced-nocaptcha-recaptcha' ) => '',
__( 'Arabic', 'advanced-nocaptcha-recaptcha' ) => 'ar',
__( 'Bulgarian', 'advanced-nocaptcha-recaptcha' ) => 'bg',
__( 'Catalan', 'advanced-nocaptcha-recaptcha' ) => 'ca',
__( 'Chinese (Simplified)', 'advanced-nocaptcha-recaptcha' ) => 'zh-CN',
__( 'Chinese (Traditional)', 'advanced-nocaptcha-recaptcha' ) => 'zh-TW',
__( 'Croatian', 'advanced-nocaptcha-recaptcha' ) => 'hr',
__( 'Czech', 'advanced-nocaptcha-recaptcha' ) => 'cs',
__( 'Danish', 'advanced-nocaptcha-recaptcha' ) => 'da',
__( 'Dutch', 'advanced-nocaptcha-recaptcha' ) => 'nl',
__( 'English (UK)', 'advanced-nocaptcha-recaptcha' ) => 'en-GB',
__( 'English (US)', 'advanced-nocaptcha-recaptcha' ) => 'en',
__( 'Filipino', 'advanced-nocaptcha-recaptcha' ) => 'fil',
__( 'Finnish', 'advanced-nocaptcha-recaptcha' ) => 'fi',
__( 'French', 'advanced-nocaptcha-recaptcha' ) => 'fr',
__( 'French (Canadian)', 'advanced-nocaptcha-recaptcha' ) => 'fr-CA',
__( 'German', 'advanced-nocaptcha-recaptcha' ) => 'de',
__( 'German (Austria)', 'advanced-nocaptcha-recaptcha' ) => 'de-AT',
__( 'German (Switzerland)', 'advanced-nocaptcha-recaptcha' ) => 'de-CH',
__( 'Greek', 'advanced-nocaptcha-recaptcha' ) => 'el',
__( 'Hebrew', 'advanced-nocaptcha-recaptcha' ) => 'iw',
__( 'Hindi', 'advanced-nocaptcha-recaptcha' ) => 'hi',
__( 'Hungarain', 'advanced-nocaptcha-recaptcha' ) => 'hu',
__( 'Indonesian', 'advanced-nocaptcha-recaptcha' ) => 'id',
__( 'Italian', 'advanced-nocaptcha-recaptcha' ) => 'it',
__( 'Japanese', 'advanced-nocaptcha-recaptcha' ) => 'ja',
__( 'Korean', 'advanced-nocaptcha-recaptcha' ) => 'ko',
__( 'Latvian', 'advanced-nocaptcha-recaptcha' ) => 'lv',
__( 'Lithuanian', 'advanced-nocaptcha-recaptcha' ) => 'lt',
__( 'Norwegian', 'advanced-nocaptcha-recaptcha' ) => 'no',
__( 'Persian', 'advanced-nocaptcha-recaptcha' ) => 'fa',
__( 'Polish', 'advanced-nocaptcha-recaptcha' ) => 'pl',
__( 'Portuguese', 'advanced-nocaptcha-recaptcha' ) => 'pt',
__( 'Portuguese (Brazil)', 'advanced-nocaptcha-recaptcha' ) => 'pt-BR',
__( 'Portuguese (Portugal)', 'advanced-nocaptcha-recaptcha' )=> 'pt-PT',
__( 'Romanian', 'advanced-nocaptcha-recaptcha' ) => 'ro',
__( 'Russian', 'advanced-nocaptcha-recaptcha' ) => 'ru',
__( 'Serbian', 'advanced-nocaptcha-recaptcha' ) => 'sr',
__( 'Slovak', 'advanced-nocaptcha-recaptcha' ) => 'sk',
__( 'Slovenian', 'advanced-nocaptcha-recaptcha' ) => 'sl',
__( 'Spanish', 'advanced-nocaptcha-recaptcha' ) => 'es',
__( 'Spanish (Latin America)', 'advanced-nocaptcha-recaptcha' )=> 'es-419',
__( 'Swedish', 'advanced-nocaptcha-recaptcha' ) => 'sv',
__( 'Thai', 'advanced-nocaptcha-recaptcha' ) => 'th',
__( 'Turkish', 'advanced-nocaptcha-recaptcha' ) => 'tr',
__( 'Ukrainian', 'advanced-nocaptcha-recaptcha' ) => 'uk',
__( 'Vietnamese', 'advanced-nocaptcha-recaptcha' ) => 'vi'
);
$locations = array(
__( 'Login Form', 'advanced-nocaptcha-recaptcha' ) => 'login',
__( 'Registration Form', 'advanced-nocaptcha-recaptcha' ) => 'registration',
__( 'Multisite User Signup Form', 'advanced-nocaptcha-recaptcha' ) => 'ms_user_signup',
__( 'Lost Password Form', 'advanced-nocaptcha-recaptcha' ) => 'lost_password',
__( 'Reset Password Form', 'advanced-nocaptcha-recaptcha' ) => 'reset_password',
__( 'Comment Form', 'advanced-nocaptcha-recaptcha' ) => 'comment',
__( 'bbPress New topic', 'advanced-nocaptcha-recaptcha' ) => 'bb_new',
__( 'bbPress reply to topic', 'advanced-nocaptcha-recaptcha' ) => 'bb_reply',
__( 'WooCommerce Checkout', 'advanced-nocaptcha-recaptcha' ) => 'wc_checkout',
);
if(isset($_POST['anr-admin-settings-submit'])){
$errors = $this->admin_settings_action();
if(count($errors->get_error_messages())>0){
echo'<div id="message" class="error fade"><p>' . implode( '<br />', $errors->get_error_messages() ). '</p></div>';
} else {
echo'<div id="message" class="updated fade"><p>' .__("Options successfully saved.", 'advanced-nocaptcha-recaptcha'). '</p></div>';
}
}
echo "<div id='poststuff'>
<div id='post-body' class='metabox-holder columns-2'>
<!-- main content -->
<div id='post-body-content'>
<div class='postbox'><div class='inside'>
<h2>".__("Advanced noCaptcha reCaptcha Settings", 'advanced-nocaptcha-recaptcha')."</h2>
<h5>".sprintf(__("If you like this plugin please <a href='%s' target='_blank'>Review in Wordpress.org</a> and give 5 star", 'advanced-nocaptcha-recaptcha'),esc_url($ReviewURL))."</h5>
<form method='post' action=''>
<table>
<thead>
<tr><th width = '50%'>".__("Setting", 'advanced-nocaptcha-recaptcha')."</th><th width = '50%'>".__("Value", 'advanced-nocaptcha-recaptcha')."</th></tr>
</thead>
<tr><td>".__("Site Key", 'advanced-nocaptcha-recaptcha')."<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='".esc_attr( anr_get_option('site_key') )."' /></td></tr>
<tr><td>".__("Secret key", 'advanced-nocaptcha-recaptcha')."<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='".esc_attr( anr_get_option('secret_key') )."' /></td></tr>
<tr><td>".__("Language", 'advanced-nocaptcha-recaptcha')."</td><td><select name='language'>";
foreach ( $languages as $language => $code ) {
echo "<option value='". esc_attr( $code ) ."' ".selected(anr_get_option('language'), $code,false).">".esc_html( $language )."</option>";
}
echo "</select></td></tr>
<tr><td>".__("Theme", 'advanced-nocaptcha-recaptcha')."</td><td><select name='theme'>
<option value='light' ".selected(anr_get_option('theme'), 'light',false).">".__("Light", 'advanced-nocaptcha-recaptcha')."</option>
<option value='dark' ".selected(anr_get_option('theme'), 'dark',false).">".__("Dark", 'advanced-nocaptcha-recaptcha')."</option>
</select></td></tr>
<tr><td>".__("Size", 'advanced-nocaptcha-recaptcha')."</td><td><select name='size'>
<option value='normal' ".selected(anr_get_option('size'), 'normal',false).">".__("Normal", 'advanced-nocaptcha-recaptcha')."</option>
<option value='compact' ".selected(anr_get_option('size'), 'compact',false).">".__("Compact", 'advanced-nocaptcha-recaptcha')."</option>
<option value='invisible' ".selected(anr_get_option('size'), 'invisible',false).">".__("Invisible", 'advanced-nocaptcha-recaptcha')."</option>
</select>
<div class='description'>".__("For invisible captcha set this as Invisible. Make sure to use site key and secret key for invisible captcha", 'advanced-nocaptcha-recaptcha')."</div>
</td></tr>
<tr><td>".__("Badge", 'advanced-nocaptcha-recaptcha')."</td><td><select name='badge'>
<option value='bottomright' ".selected(anr_get_option('badge'), 'bottomright',false).">".__("Bottom Right", 'advanced-nocaptcha-recaptcha')."</option>
<option value='bottomleft' ".selected(anr_get_option('badge'), 'bottomleft',false).">".__("Bottom Left", 'advanced-nocaptcha-recaptcha')."</option>
<option value='inline' ".selected(anr_get_option('badge'), 'inline',false).">".__("Inline", 'advanced-nocaptcha-recaptcha')."</option>
</select>
<div class='description'>".__("Badge shows for invisible captcha", 'advanced-nocaptcha-recaptcha')."</div>
</td></tr>
<tr><td>".__("Error Message", 'advanced-nocaptcha-recaptcha')."</td><td><input type='text' size = '40' name='error_message' value='".wp_kses_post( anr_get_option('error_message', '<strong>ERROR</strong>: Please solve Captcha correctly.') )."' /></td></tr>
<tr><td>".__("Show login Captcha after how many failed attempts", 'advanced-nocaptcha-recaptcha')."</td><td><input type='number' size = '40' name='failed_login_allow' value='".absint(anr_get_option('failed_login_allow', 0 ))."' /></td></tr>
<tr><td>".__("Show Captcha on", 'advanced-nocaptcha-recaptcha')."</td><td>";
foreach ( $locations as $location => $slug ) {
echo "<ul colspan='2'><label><input type='checkbox' name='" . esc_attr( $slug ) . "' value='1' ".checked(anr_get_option($slug), '1', false)." /> ". esc_html( $location ) ."</label></ul>";
}
/**
if ( function_exists('fepcf_plugin_activate'))
echo "<ul colspan='2'><label><input type='checkbox' name='fep_contact_form' value='1' ".checked(anr_get_option('fep_contact_form'), '1', false)." /> FEP Contact Form</label></ul>";
else
echo "<ul colspan='2'><label><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></label></ul>";
*/
//echo "<ul colspan='2'> For other forms see <a href='".esc_url(admin_url( 'admin.php?page=anr-instruction' ))."'>Instruction</a></ul>";
echo "</td></tr>";
do_action('anr_admin_setting_form');
echo "<tr><td colspan='2'><label><input type='checkbox' name='loggedin_hide' value='1' ".checked(anr_get_option('loggedin_hide'), '1', false)." /> ".__("Hide Captcha for logged in users?", 'advanced-nocaptcha-recaptcha')."</label></td></tr>
<tr><td colspan='2'><label><input type='checkbox' name='remove_css' value='1' ".checked(anr_get_option('remove_css'), '1', false)." /> ".__("Remove this plugin's css from login page?", 'advanced-nocaptcha-recaptcha')."<br/><small>".__("This css increase login page width to adjust with Captcha width.", 'advanced-nocaptcha-recaptcha')."</small></label></td></tr>
<tr><td colspan='2'><label><input type='checkbox' name='no_js' value='1' ".checked(anr_get_option('no_js'), '1', false)." /> ".__("Show captcha if javascript disabled?", 'advanced-nocaptcha-recaptcha')."<br/><small>".__("If JavaScript is a requirement for your site, we advise that you do NOT check this.", 'advanced-nocaptcha-recaptcha')."</small></label></td></tr>
<tr><td colspan='2'><span><input class='button-primary' type='submit' name='anr-admin-settings-submit' value='".__("Save Options", 'advanced-nocaptcha-recaptcha')."' /></span></td><td><input type='hidden' name='token' value='$token' /></td></tr>
</table>
</form>
<ul>".sprintf(__("For paid support pleasse visit <a href='%s' target='_blank'>Advanced noCaptcha reCaptcha</a>", 'advanced-nocaptcha-recaptcha'),esc_url($url))."</ul>
</div></div></div>
". $this->anr_admin_sidebar(). "
</div></div>";
}
function anr_admin_sidebar()
{
return '<div id="postbox-container-1" class="postbox-container">
<div class="postbox">
<h3 class="hndle" style="text-align: center;">
<span>'. __( "Plugin Author", "anr" ). '</span>
</h3>
<div class="inside">
<div style="text-align: center; margin: auto">
<strong>Shamim Hasan</strong><br />
Know php, MySql, css, javascript, html. Expert in WordPress. <br /><br />
You can hire for plugin customization, build custom plugin or any kind of wordpress job via <br> <a
href="https://www.shamimsplugins.com/contact-us/"><strong>Contact Form</strong></a>
</div>
</div>
</div>
</div>';
}
function admin_settings_action()
{
if (isset($_POST['anr-admin-settings-submit']))
{
$errors = new WP_Error();
$options = $_POST;
if( !current_user_can('manage_options'))
$errors->add('noPermission', __('No Permission!', 'advanced-nocaptcha-recaptcha'));
if ( !wp_verify_nonce($options['token'], 'anr-admin-settings'))
$errors->add('invalidToken', __('Sorry, your nonce did not verify!', 'advanced-nocaptcha-recaptcha'));
unset( $options['token'], $options['anr-admin-settings-submit'] );
$options['site_key'] = isset( $options['site_key'] ) ? sanitize_text_field( $options['site_key'] ) : '';
$options['secret_key'] = isset( $options['secret_key'] ) ? sanitize_text_field( $options['secret_key'] ) : '';
$options['error_message'] = isset( $options['error_message'] ) ? wp_kses_post( $options['error_message'] ) : '';
$options = apply_filters('anr_filter_admin_setting_before_save', $options, $errors);
//var_dump($options);
if ( count( $errors->get_error_codes() ) == 0 ){
if ( is_multisite() && apply_filters( 'anr_same_settings_for_all_sites', false ) ){
update_site_option( 'anr_admin_options', $options );
} else {
update_option( 'anr_admin_options', $options );
}
}
return $errors;
}
return false;
}
function InstructionPage()
{
$url = 'https://www.shamimsplugins.com/contact-us/';
echo '<div id="poststuff">
<div id="post-body" class="metabox-holder columns-2">
<!-- main content -->
<div id="post-body-content">';
echo "<div class='postbox'><div class='inside'>
<h2>".__("Advanced noCaptcha reCaptcha Setup Instruction", 'advanced-nocaptcha-recaptcha')."</h2>
<p><ul>
<li>".sprintf(__("Get your site key and secret key from <a href='%s' target='_blank'>GOOGLE</a> if you do not have already.", 'advanced-nocaptcha-recaptcha'),esc_url('https://www.google.com/recaptcha/admin'))."</li>
<li>".__("Goto SETTINGS page of this plugin and set up as you need. and ENJOY...", 'advanced-nocaptcha-recaptcha')."</li><br/>
<h3>".__("Implement noCaptcha in Contact Form 7", 'advanced-nocaptcha-recaptcha')."</h3><br />
<li>".__("To show noCaptcha use ", 'advanced-nocaptcha-recaptcha')."<code>[anr_nocaptcha g-recaptcha-response]</code></li><br />
<h3>".__("Implement noCaptcha in WooCommerce", 'advanced-nocaptcha-recaptcha')."</h3><br />
<li>".__("If Login Form, Registration Form, Lost Password Form, Reset Password Form is selected in SETTINGS page of this plugin they will show and verify Captcha in WooCommerce respective forms also.", 'advanced-nocaptcha-recaptcha')."</li><br />
<h3>".__("If you want to implement noCaptcha in any other custom form", 'advanced-nocaptcha-recaptcha')."</h3><br />
<li>".__("To show form field use ", 'advanced-nocaptcha-recaptcha')."<code>do_action( 'anr_captcha_form_field' )</code></li>
<li>".__("To verify use ", 'advanced-nocaptcha-recaptcha')."<code>anr_verify_captcha()</code> it will return true on success otherwise false</li><br />
<li>".sprintf(__("For paid support pleasse visit <a href='%s' target='_blank'>Advanced noCaptcha reCaptcha</a>", 'advanced-nocaptcha-recaptcha'),esc_url($url))."</li>
</ul></p></div></div></div>
". $this->anr_admin_sidebar(). "
</div></div>";
}
function add_settings_link( $links, $file ) {
//add settings link in plugins page
$plugin_file = 'advanced-nocaptcha-recaptcha/advanced-nocaptcha-recaptcha.php';
if ( $file == $plugin_file ) {
$settings_link = '<a href="' . admin_url( 'options-general.php?page=anr-admin-settings' ) . '">' .__( 'Settings', 'advanced-nocaptcha-recaptcha' ) . '</a>';
array_unshift( $links, $settings_link );
}
return $links;
}
/******************************************ADMIN SETTINGS PAGE END******************************************/
} //END CLASS
} //ENDIF
add_action('wp_loaded', array(anr_admin_class::init(), 'actions_filters'));