AnsPress_reCcaptcha::ap_ask_form_fields( $args, $editing )
Description #
Source #
File: addons/free/recaptcha.php
public static function ap_ask_form_fields( $args, $editing ) {
global $editing_post;
if ( ap_show_captcha_to_user() ) {
// Show recpatcha if key exists and enabled.
if ( ap_opt( 'recaptcha_site_key' ) == '' ) {
$html = '<div class="ap-notice red">' . __( 'reCaptach keys missing, please add keys', 'anspress-question-answer' ) . '</div>';
} else {
$html = '<div class="g-recaptcha" id="recaptcha" data-sitekey="' . ap_opt( 'recaptcha_site_key' ) . '"></div>';
$html .= '<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=' . get_locale() . '&onload=onloadCallback&render=explicit" async defer></script>';
ob_start();
?>
<script type="text/javascript">
var onloadCallback = function() {
widgetId1 = grecaptcha.render("recaptcha", {
"sitekey" : "<?php echo ap_opt( 'recaptcha_site_key' ); ?>"
});
};
jQuery(document).ready(function(){
// Rest widget after answer form get submitted
if(typeof AnsPress !== 'undefined'){
AnsPress.on('answerFormPosted', function(){
if(typeof grecaptcha !== 'undefined')
grecaptcha.reset(widgetId1);
});
}
});
</script>
<?php
$html .= ob_get_clean();
}
$args['fields'][] = array(
'name' => 'captcha',
'type' => 'custom',
'order' => 100,
'html' => $html,
);
}
return $args;
}
Expand full source code Collapse full source code View on GitHub: addons/free/recaptcha.php:111
Add your comment