PluginProbe
Contact Forms by Cimatti / 1.9.2
Contact Forms by Cimatti v1.9.2
2.3.6 2.3.5 2.3.0 2.2.32 2.2.4 2.2.0 2.1.2 2.1.1 trunk 1.0 1.1 1.2 1.2.1 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 All 62 releases
← All changes | classes/Element/Captcha.php +50 -36 1.4.11.9.2 View file →
@@ -1,36 +1,50 @@
1 -<?php
2 -class AccuaForm_Element_Captcha extends Element {
3 - protected $privateKey = "6LcazwoAAAAAAD-auqUl-4txAK3Ky5jc5N3OXN0_";
4 - protected $publicKey = "6LcazwoAAAAAADamFkwqj5KN1Gla7l4fpMMbdZfi";
5 -
6 - public function __construct($label = "", array $properties = null) {
7 - parent::__construct($label, "recaptcha_response_field", $properties);
8 - $this->setValidation(new Validation_Captcha($this->privateKey, __("The reCATPCHA response provided was incorrect. Please re-try.", 'accua-form-api')));
9 - }
10 -
11 - public function render() {
12 - $lang = $this->form->getLanguage();
13 - $field_id = $this->attributes["id"];
14 - $jspath = ACCUA_FORMS_DIR_URL . 'accua-recaptcha.js';
15 - $button_text = htmlspecialchars(__('Show Captcha', 'accua-form-api'), ENT_QUOTES);
16 - echo <<<EOT
17 -<script type="text/javascript">
18 -<!--
19 -if (typeof(accuaform_recaptcha_ajax_loaded) == "undefined" || !accuaform_recaptcha_ajax_loaded) {
20 - var accuaform_recaptcha_ajax_loaded = true;
21 - document.write('<sc'+'ript type="text/javascript" src="//www.google.com/recaptcha/api/js/recaptcha_ajax.js"></sc'+'ript>');
22 - document.write('<sc'+'ript type="text/javascript" src="$jspath"></sc'+'ript>');
23 - document.write('<sc'+'ript type="text/javascript">jQuery(function(){accua_forms_show_recaptcha("{$this->publicKey}", "{$field_id}", {lang: "{$lang}"});});</sc'+'ript>');
24 -}
25 -// -->
26 -</script>
27 -<input type='button' value='$button_text' class='accua_forms_show_recaptcha_button' onclick='accua_forms_show_recaptcha("{$this->publicKey}", "{$field_id}", {lang: "{$lang}"})' />
28 -<div id="{$field_id}"></div>
29 -<noscript>
30 - <iframe src="https://www.google.com/recaptcha/api/noscript?k={$this->publicKey}" height="300" width="500" frameborder="0"></iframe><br/>
31 - <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
32 - <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
33 -</noscript>
34 -EOT;
35 - }
36 -}
1 +<?php
2 +class AccuaForm_Element_Captcha extends Element {
3 + protected $privateKey = "6LcazwoAAAAAAD-auqUl-4txAK3Ky5jc5N3OXN0_";
4 + protected $publicKey = "6LcazwoAAAAAADamFkwqj5KN1Gla7l4fpMMbdZfi";
5 +
6 + public function __construct($label = "", $unused = '', array $properties = null) {
7 + if ($properties === null && is_array($unused)) {
8 + $properties = $unused;
9 + }
10 + parent::__construct($label, "recaptcha_response_field", $properties);
11 + $validator = new AccuaForm_Validation_Captcha(__("The reCATPCHA response provided was incorrect. Please re-try.", 'contact-forms'));
12 + $validator->configure(array('privateKey'=>$this->privateKey));
13 + $this->setValidation($validator);
14 + }
15 +
16 + public function render() {
17 + $js_lang = _accua_forms_json_encode($this->form->getLanguage());
18 + $js_field_id = _accua_forms_json_encode($this->attributes["id"]);
19 + $js_path = _accua_forms_json_encode(ACCUA_FORMS_DIR_URL . 'accua-recaptcha.js');
20 + $js_publicKey = _accua_forms_json_encode($this->publicKey);
21 +
22 + $field_id = htmlspecialchars($this->attributes["id"], ENT_QUOTES);
23 + $publicKey = htmlspecialchars($this->publicKey, ENT_QUOTES);
24 + $button_text = htmlspecialchars(__('Show Captcha', 'contact-forms'), ENT_QUOTES);
25 +
26 + echo <<<EOT
27 +<script type="text/javascript">
28 +<!--
29 +if (typeof(accuaform_recaptcha_ajax_loaded) == "undefined" || !accuaform_recaptcha_ajax_loaded) {
30 + var accuaform_recaptcha_ajax_loaded = true;
31 + jQuery.getScript( "https://www.recaptcha.net/recaptcha/api/js/recaptcha_ajax.js" , function(){
32 + jQuery.getScript( $js_path , function(){
33 + jQuery(function(){
34 + accua_forms_show_recaptcha($js_publicKey, $js_field_id, {lang: $js_lang});
35 + });
36 + });
37 + });
38 +}
39 +// -->
40 +</script>
41 +<input type='button' value='$button_text' class='accua_forms_show_recaptcha_button' onclick='accua_forms_show_recaptcha($js_publicKey, $js_field_id, {lang: $js_lang})' />
42 +<div id="{$field_id}"></div>
43 +<noscript>
44 + <iframe src="https://www.recaptcha.net/recaptcha/api/noscript?k={$publicKey}" height="300" width="500" frameborder="0"></iframe><br/>
45 + <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
46 + <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
47 +</noscript>
48 +EOT;
49 + }
50 +}