bc_feedback - Version 1.0.0.6

Version Notes

-Add recaptcha functionality

Download this release

Release Info

Developer Magento Core Team
Extension bc_feedback
Version 1.0.0.6
Comparing to
See all releases


Code changes from version 1.0.0.5 to 1.0.0.6

app/code/local/Bc/Bcall/etc/adminhtml.xml CHANGED
@@ -23,12 +23,12 @@
23
  */
24
  -->
25
  <config>
26
- <menu>
27
  <biztech module="bcall">
28
  <title>Extension</title>
29
  <sort_order>90</sort_order>
30
  </biztech>
31
- </menu>
32
  <acl>
33
  <resources>
34
  <all>
23
  */
24
  -->
25
  <config>
26
+ <!--<menu>
27
  <biztech module="bcall">
28
  <title>Extension</title>
29
  <sort_order>90</sort_order>
30
  </biztech>
31
+ </menu>-->
32
  <acl>
33
  <resources>
34
  <all>
app/code/local/Bc/Feedback/Helper/Data.php CHANGED
@@ -2,5 +2,112 @@
2
 
3
  class Bc_Feedback_Helper_Data extends Mage_Core_Helper_Abstract
4
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  }
2
 
3
  class Bc_Feedback_Helper_Data extends Mage_Core_Helper_Abstract
4
  {
5
+ const RECAPTCHA_API_SERVER_HOST = "www.google.com";
6
+ const RECAPTCHA_API_SERVER_PATH = "/recaptcha/api";
7
+ const RECAPTCHA_API_SECURE_SERVER = "https://www.google.com/recaptcha/api";
8
+
9
+
10
+ function _recaptcha_qsencode ($data)
11
+ {
12
+ $req = "";
13
+ foreach ( $data as $key => $value )
14
+ $req .= $key . '=' . urlencode( stripslashes($value) ) . '&';
15
+
16
+ $req=substr($req,0,strlen($req)-1);
17
+ return $req;
18
+ }
19
+
20
+ function _recaptcha_http_post($host, $path, $data, $port = 80)
21
+ {
22
+ $req = $this->_recaptcha_qsencode ($data);
23
+
24
+ $http_request = "POST $path HTTP/1.0\r\n";
25
+ $http_request .= "Host: $host\r\n";
26
+ $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
27
+ $http_request .= "Content-Length: " . strlen($req) . "\r\n";
28
+ $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
29
+ $http_request .= "\r\n";
30
+ $http_request .= $req;
31
+
32
+ $response = '';
33
+ if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) {
34
+ die ('Could not open socket');
35
+ }
36
+
37
+ fwrite($fs, $http_request);
38
+
39
+ while ( !feof($fs) )
40
+ $response .= fgets($fs, 1160);
41
+ fclose($fs);
42
+ $response = explode("\r\n\r\n", $response, 2);
43
+
44
+ return $response;
45
+ }
46
+
47
+
48
+ function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false)
49
+ {
50
+
51
+ if ($pubkey == null || $pubkey == '') {
52
+ die ("To use reCAPTCHA you must get an API key from <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
53
+ }
54
+
55
+ if ($use_ssl) {
56
+ $server = self::RECAPTCHA_API_SECURE_SERVER;
57
+ } else {
58
+ $server = 'http://' . self::RECAPTCHA_API_SERVER_HOST . self::RECAPTCHA_API_SERVER_PATH;
59
+ }
60
+
61
+ $errorpart = "";
62
+ if ($error) {
63
+ $errorpart = "&amp;error=" . $error;
64
+ }
65
+ return '<script type="text/javascript" src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script>
66
+
67
+ <noscript>
68
+ <iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/>
69
+ <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
70
+ <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
71
+ </noscript>';
72
+ }
73
+
74
+ function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array())
75
+ {
76
+ if ($privkey == null || $privkey == '') {
77
+ die ("To use reCAPTCHA you must get an API key from <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
78
+ }
79
+
80
+ if ($remoteip == null || $remoteip == '') {
81
+ die ("For security reasons, you must pass the remote ip to reCAPTCHA");
82
+ }
83
 
84
+ if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {
85
+ return false;
86
+ }
87
+
88
+ $response = $this->_recaptcha_http_post (self::RECAPTCHA_API_SERVER_HOST, self::RECAPTCHA_API_SERVER_PATH . "/verify", array ( 'privatekey' => $privkey,
89
+ 'remoteip' => $remoteip,
90
+ 'challenge' => $challenge,
91
+ 'response' => $response
92
+ ) + $extra_params
93
+ );
94
+
95
+ $answers = explode ("\n", $response [1]);
96
+
97
+ if (trim ($answers [0]) == 'true') {
98
+ return true;
99
+ }
100
+ return false;
101
+ }
102
+ function recaptcha_get_signup_url ($domain = null, $appname = null)
103
+ {
104
+ return "http://recaptcha.net/api/getkey?" . $this->_recaptcha_qsencode (array ('domain' => $domain, 'app' => $appname));
105
+ }
106
+
107
+ function _recaptcha_aes_pad($val)
108
+ {
109
+ $block_size = 16;
110
+ $numpad = $block_size - (strlen ($val) % $block_size);
111
+ return str_pad($val, strlen ($val) + $numpad, chr($numpad));
112
+ }
113
  }
app/code/local/Bc/Feedback/Model/System/Config/Source/Dropdown/Lang.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Bc_Feedback_Model_System_Config_Source_Dropdown_Lang {
4
+ public function toOptionArray() {
5
+ return array(
6
+ array(
7
+ 'value' => 'en',
8
+ 'label' => 'English (default)',
9
+ ),
10
+ array(
11
+ 'value' => 'nl',
12
+ 'label' => 'Dutch',
13
+ ),
14
+ array(
15
+ 'value' => 'fr',
16
+ 'label' => 'French',
17
+ ),
18
+ array(
19
+ 'value' => 'de',
20
+ 'label' => 'German',
21
+ ),
22
+ array(
23
+ 'value' => 'pt',
24
+ 'label' => 'Portuguese',
25
+ ),
26
+ array(
27
+ 'value' => 'ru',
28
+ 'label' => 'Russian',
29
+ ),
30
+ array(
31
+ 'value' => 'es',
32
+ 'label' => 'Spanish',
33
+ ),
34
+ array(
35
+ 'value' => 'tr',
36
+ 'label' => 'Turkish',
37
+ ),
38
+ );
39
+ }
40
+ }
app/code/local/Bc/Feedback/Model/System/Config/Source/Dropdown/Theme.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Bc_Feedback_Model_System_Config_Source_Dropdown_Theme {
3
+ public function toOptionArray() {
4
+ return array(
5
+ array(
6
+ 'value' => 'red',
7
+ 'label' => 'Red (default)',
8
+ ),
9
+ array(
10
+ 'value' => 'white',
11
+ 'label' => 'White',
12
+ ),
13
+ array(
14
+ 'value' => 'blackglass',
15
+ 'label' => 'Blackglass',
16
+ ),
17
+ array(
18
+ 'value' => 'clean',
19
+ 'label' => 'Clean',
20
+ ),
21
+ );
22
+ }
23
+ }
app/code/local/Bc/Feedback/controllers/IndexController.php CHANGED
@@ -1,20 +1,20 @@
1
  <?php
2
- class Bc_Feedback_IndexController extends Mage_Core_Controller_Front_Action
3
- {
4
- const XML_PATH_EMAIL_RECIPIENT = 'feedback/feedback/feedback_from_mail';
5
- const XML_PATH_EMAIL_SENDER = 'contacts/email/sender_email_identity';
6
- const XML_PATH_EMAIL_CONTACTS = 'contacts/email/recipient_email';
7
- public function indexAction()
8
  {
 
 
 
 
 
9
 
10
- $this->loadLayout();
11
- $this->getLayout()->getBlock('head')->setTitle(Mage::helper('customer')->__('Feedback Form'));
12
- $this->renderLayout();
13
 
14
- }
15
 
16
- public function postAction(){
17
- {
18
  $post = $this->getRequest()->getPost();
19
  if ($post) {
20
  $translate = Mage::getSingleton('core/translate');
@@ -22,6 +22,13 @@ class Bc_Feedback_IndexController extends Mage_Core_Controller_Front_Action
22
  $translate->setTranslateInline(false);
23
  try {
24
  $postObject = new Varien_Object();
 
 
 
 
 
 
 
25
  $postObject->setData($post);
26
 
27
  $error = false;
@@ -38,21 +45,39 @@ class Bc_Feedback_IndexController extends Mage_Core_Controller_Front_Action
38
  $error = true;
39
  }
40
  }
41
-
42
  if ($error) {
43
- throw new Exception($e);
44
  }
45
- $recipient="";
46
- if(Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT)==""){
47
- $recipient=Mage::getStoreConfig(self::XML_PATH_EMAIL_CONTACTS);
48
- }else{
49
- $recipient=Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT);
 
 
 
 
 
 
 
50
  }
51
- $store=Mage::app()->getStore();
52
- $mailTemplate = Mage::getModel('core/email_template');
53
- /* @var $mailTemplate Mage_Core_Model_Email_Template */
54
- $mailTemplate->setDesignConfig(array('area' => 'frontend'))
55
- ->setReplyTo($post['feedback_email'])
 
 
 
 
 
 
 
 
 
 
 
56
  ->sendTransactional(
57
  'feedback_email_template',
58
  Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
@@ -61,30 +86,48 @@ class Bc_Feedback_IndexController extends Mage_Core_Controller_Front_Action
61
  array(
62
  'data' => $postObject,
63
  'store'=> $store
64
- )
65
  );
66
-
67
- if (!$mailTemplate->getSentSuccess()) {
68
- throw new Exception($e);
 
 
 
 
 
 
 
69
  }
70
- $translate->setTranslateInline(true);
71
- $var1["result"]="success";
72
- $var1["message"]='Your request has been sent';
73
- $data=json_encode($var1);
74
- $this->getResponse()->setBody($data);
75
- return;
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  } catch (Exception $e) {
78
- $var1["result"]="error";
79
- $message=$e->getMessage();
80
- if($message==""){
81
  $var1["message"]="Unable to submit your request. Please, try again later";
82
- }else{
83
  $var1["message"]=$message;
84
- }
85
- $data=json_encode($var1);
86
- $this->getResponse()->setBody($data);
87
- return;
88
  }
89
 
90
  }
@@ -95,7 +138,7 @@ class Bc_Feedback_IndexController extends Mage_Core_Controller_Front_Action
95
  $this->getResponse()->setBody($data);
96
  return;
97
  }
 
98
  }
99
- }
100
 
101
- }
1
  <?php
2
+ class Bc_Feedback_IndexController extends Mage_Core_Controller_Front_Action
 
 
 
 
 
3
  {
4
+ const XML_PATH_EMAIL_RECIPIENT = 'feedback/feedback/feedback_from_mail';
5
+ const XML_PATH_EMAIL_SENDER = 'contacts/email/sender_email_identity';
6
+ const XML_PATH_EMAIL_CONTACTS = 'contacts/email/recipient_email';
7
+ public function indexAction()
8
+ {
9
 
10
+ $this->loadLayout();
11
+ $this->getLayout()->getBlock('head')->setTitle(Mage::helper('customer')->__('Feedback Form'));
12
+ $this->renderLayout();
13
 
14
+ }
15
 
16
+ public function postAction(){
17
+ {
18
  $post = $this->getRequest()->getPost();
19
  if ($post) {
20
  $translate = Mage::getSingleton('core/translate');
22
  $translate->setTranslateInline(false);
23
  try {
24
  $postObject = new Varien_Object();
25
+
26
+ $post['feedbackdetails'] = nl2br($post['feedbackdetails']);
27
+ if($post['feedbackheard'] == null || $post['feedbackheard'] == '')
28
+ {
29
+ $post['feedbackheard'] = 'N/A';
30
+ }
31
+
32
  $postObject->setData($post);
33
 
34
  $error = false;
45
  $error = true;
46
  }
47
  }
48
+
49
  if ($error) {
50
+ throw new Exception();
51
  }
52
+ $privatekey = Mage::getStoreConfig("feedback/recaptcha_settings/private_key");
53
+ // check response
54
+ $resp = true;
55
+ $var1["recaptcha"]=Mage::getStoreConfig("feedback/recaptcha_settings/enable_recaptcha");
56
+ if(Mage::getStoreConfig("feedback/recaptcha_settings/enable_recaptcha"))
57
+ {
58
+ $resp = Mage::helper("feedback")->recaptcha_check_answer( $privatekey,
59
+ $_SERVER["REMOTE_ADDR"],
60
+ $post["recaptcha_challenge_field"],
61
+ $post["recaptcha_response_field"]
62
+ );
63
+
64
  }
65
+
66
+ if ($resp == true)
67
+ {
68
+ Mage::getSingleton('core/session')->unsetData('contactForm');
69
+
70
+ $recipient="";
71
+ if(Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT)==""){
72
+ $recipient=Mage::getStoreConfig(self::XML_PATH_EMAIL_CONTACTS);
73
+ }else{
74
+ $recipient=Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT);
75
+ }
76
+ $store=Mage::app()->getStore();
77
+ $mailTemplate = Mage::getModel('core/email_template');
78
+ /* @var $mailTemplate Mage_Core_Model_Email_Template */
79
+ $mailTemplate->setDesignConfig(array('area' => 'frontend'))
80
+ ->setReplyTo($post['feedbackmail'])
81
  ->sendTransactional(
82
  'feedback_email_template',
83
  Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
86
  array(
87
  'data' => $postObject,
88
  'store'=> $store
89
+ )
90
  );
91
+
92
+ if (!$mailTemplate->getSentSuccess()) {
93
+ throw new Exception();
94
+ }
95
+ $translate->setTranslateInline(true);
96
+ $var1["result"]="success";
97
+ $var1["message"]='Your request has been sent';
98
+ $data=json_encode($var1);
99
+ $this->getResponse()->setBody($data);
100
+ return;
101
  }
102
+ else
103
+ {
104
+ $_SESSION['feedbackbuname'] = $_POST['feedbackbuname'];
105
+ $_SESSION['feedbackmail'] = $_POST['feedbackmail'];
106
+ $_SESSION['feedbackdetails'] = $_POST['feedbackdetails'];
107
+
108
+ $var1["result"]="error";
109
+ $message= "Your reCAPTCHA entry is incorrect. Please try again.";
110
+
111
+ $var1["message"]=$message;
112
+ $data=json_encode($var1);
113
+ $this->getResponse()->setBody($data);
114
+ return;
115
+ }
116
+
117
+
118
+
119
 
120
  } catch (Exception $e) {
121
+ $var1["result"]="error";
122
+ $message=$e->getMessage();
123
+ if($message==""){
124
  $var1["message"]="Unable to submit your request. Please, try again later";
125
+ }else{
126
  $var1["message"]=$message;
127
+ }
128
+ $data=json_encode($var1);
129
+ $this->getResponse()->setBody($data);
130
+ return;
131
  }
132
 
133
  }
138
  $this->getResponse()->setBody($data);
139
  return;
140
  }
141
+ }
142
  }
 
143
 
144
+ }
app/code/local/Bc/Feedback/etc/config.xml CHANGED
@@ -10,7 +10,7 @@
10
  <config>
11
  <modules>
12
  <Bc_Feedback>
13
- <version>1.0.0.1</version>
14
  </Bc_Feedback>
15
  </modules>
16
  <frontend>
10
  <config>
11
  <modules>
12
  <Bc_Feedback>
13
+ <version>1.0.0.6</version>
14
  </Bc_Feedback>
15
  </modules>
16
  <frontend>
app/code/local/Bc/Feedback/etc/system.xml CHANGED
@@ -1,29 +1,29 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Academic Free License (AFL 3.0)
9
- * that is bundled with this package in the file LICENSE_AFL.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/afl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * DISCLAIMER
17
- *
18
- * Do not edit or add to this file if you wish to upgrade Magento to newer
19
- * versions in the future. If you wish to customize Magento for your
20
- * needs please refer to http://www.magentocommerce.com for more information.
21
- *
22
- * @category Mage
23
- * @package Mage_Customer
24
- * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
25
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
- */
27
  -->
28
  <config>
29
  <sections>
@@ -44,6 +44,15 @@
44
  <show_in_website>0</show_in_website>
45
  <show_in_store>0</show_in_store>
46
  <fields>
 
 
 
 
 
 
 
 
 
47
  <feedback_from_mail translate="label">
48
  <label>Recipient Email</label>
49
  <frontend_type>text</frontend_type>
@@ -53,19 +62,74 @@
53
  <show_in_store>0</show_in_store>
54
  </feedback_from_mail>
55
  </fields>
 
 
 
 
 
 
 
 
56
  <fields>
57
- <active translate="label">
58
- <label>Enable</label>
59
  <frontend_type>select</frontend_type>
60
  <source_model>adminhtml/system_config_source_yesno</source_model>
61
  <sort_order>1</sort_order>
62
  <show_in_default>1</show_in_default>
63
  <show_in_website>1</show_in_website>
64
  <show_in_store>0</show_in_store>
65
- </active>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  </fields>
67
- </feedback>
68
- </groups>
69
  </feedback>
70
  </sections>
71
  </config>
1
  <?xml version="1.0"?>
2
  <!--
3
  /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category Mage
23
+ * @package Mage_Customer
24
+ * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
  -->
28
  <config>
29
  <sections>
44
  <show_in_website>0</show_in_website>
45
  <show_in_store>0</show_in_store>
46
  <fields>
47
+ <active translate="label">
48
+ <label>Enable</label>
49
+ <frontend_type>select</frontend_type>
50
+ <source_model>adminhtml/system_config_source_yesno</source_model>
51
+ <sort_order>1</sort_order>
52
+ <show_in_default>1</show_in_default>
53
+ <show_in_website>1</show_in_website>
54
+ <show_in_store>0</show_in_store>
55
+ </active>
56
  <feedback_from_mail translate="label">
57
  <label>Recipient Email</label>
58
  <frontend_type>text</frontend_type>
62
  <show_in_store>0</show_in_store>
63
  </feedback_from_mail>
64
  </fields>
65
+ </feedback>
66
+ <recaptcha_settings translate="label">
67
+ <label>Recaptcha Settings</label>
68
+ <frontend_type>text</frontend_type>
69
+ <sort_order>20</sort_order>
70
+ <show_in_default>1</show_in_default>
71
+ <show_in_website>0</show_in_website>
72
+ <show_in_store>0</show_in_store>
73
  <fields>
74
+ <enable_recaptcha translate="label">
75
+ <label>Enable Recaptcha</label>
76
  <frontend_type>select</frontend_type>
77
  <source_model>adminhtml/system_config_source_yesno</source_model>
78
  <sort_order>1</sort_order>
79
  <show_in_default>1</show_in_default>
80
  <show_in_website>1</show_in_website>
81
  <show_in_store>0</show_in_store>
82
+ </enable_recaptcha>
83
+ <public_key translate="label">
84
+ <label>Public Key</label>
85
+ <comment>You got this from the signup page: https://www.google.com/recaptcha/admin/create</comment>
86
+ <frontend_type>text</frontend_type>
87
+ <sort_order>3</sort_order>
88
+ <show_in_default>1</show_in_default>
89
+ <show_in_website>1</show_in_website>
90
+ <show_in_store>1</show_in_store>
91
+ </public_key>
92
+ <private_key translate="label">
93
+ <label>Private Key</label>
94
+ <comment>You got this from the signup page: https://www.google.com/recaptcha/admin/create</comment>
95
+ <frontend_type>text</frontend_type>
96
+ <sort_order>4</sort_order>
97
+ <show_in_default>1</show_in_default>
98
+ <show_in_website>1</show_in_website>
99
+ <show_in_store>1</show_in_store>
100
+ </private_key>
101
+ <loggedin_customer translate="label">
102
+ <label>Hide for Logged-in Customers</label>
103
+ <frontend_type>select</frontend_type>
104
+ <source_model>adminhtml/system_config_source_yesno</source_model>
105
+ <sort_order>5</sort_order>
106
+ <show_in_default>1</show_in_default>
107
+ <show_in_website>1</show_in_website>
108
+ <show_in_store>1</show_in_store>
109
+ </loggedin_customer>
110
+ <theme translate="label">
111
+ <label>reCaptcha Theme</label>
112
+ <comment>Customizing the Look of reCAPTCHA</comment>
113
+ <frontend_type>select</frontend_type>
114
+ <source_model>Bc_Feedback_Model_System_Config_Source_Dropdown_Theme</source_model>
115
+ <sort_order>6</sort_order>
116
+ <show_in_default>1</show_in_default>
117
+ <show_in_website>1</show_in_website>
118
+ <show_in_store>1</show_in_store>
119
+ </theme>
120
+ <lang translate="label">
121
+ <label>reCaptcha Language</label>
122
+ <comment>Which language is used in the reCaptcha interface</comment>
123
+ <frontend_type>select</frontend_type>
124
+ <source_model>Bc_Feedback_Model_System_Config_Source_Dropdown_Lang</source_model>
125
+ <sort_order>7</sort_order>
126
+ <show_in_default>1</show_in_default>
127
+ <show_in_website>1</show_in_website>
128
+ <show_in_store>1</show_in_store>
129
+ </lang>
130
  </fields>
131
+ </recaptcha_settings>
132
+ </groups>
133
  </feedback>
134
  </sections>
135
  </config>
app/design/frontend/base/default/template/feedback/popup_html.phtml DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- $config = Mage::getStoreConfig('feedback/feedback/active');
3
- $customer=Mage::helper('customer');
4
- if($customer->isLoggedIn()){
5
- $name=Mage::getSingleton('customer/session')->getCustomer()->getName();
6
- $email=Mage::getSingleton('customer/session')->getCustomer()->getEmail();
7
- }
8
- ?>
9
- <?php if($config=="1") { ?>
10
- <div class="side-feedback">
11
- <a href="javascript:void(0)" onclick="openFeedbackWindow('feedback_information')" title="Feedback" id="link_feedback"></a>
12
- </div>
13
- <div id="backgroundpopup" class="background-opacity" style="display: none; background: none repeat scroll 0% 0% rgb(0, 0, 0);"></div>
14
- <div style="display: none;" id="feedback_information" class="feedback-container">
15
- <a class="feedback_close" title="close" href="#" onclick="closeFeedbackWindow('feedback_information'); return false;"></a>
16
- <div class="feedback-popup-content">
17
- <div class="feedback-title"> <?php echo $this->__('Feedback') ?> </div>
18
- <div class="feedback-content">
19
- <form action="<?php echo $this->getUrl("feedback/index/post") ?>" method="post" id="frm_feedback">
20
- <div id="success_message" style="display: none;" class="feedback-success-msg"></div>
21
- <div id="loader" class="loader-feedback" style="text-align: center;display: none;"><p><img src='<?php echo $this->getSkinUrl('feedback/images/ajax-loader-onestep.gif') ?>' alt='' title=''/></p></div>
22
- <br/>
23
- <ul class="form-list" id="feedback_options">
24
- <li>
25
- <label for="fname"><?php echo $this->__('Your Full Name').":" ?> <span class="required">*</span></label>
26
- <input name="feedbackbuname" value="<?php echo $this->htmlEscape($name) ?>" title="<?php echo $this->__('Name') ?>" id="fname" type="text" class="input-text required-entry" />
27
- </li>
28
- <li>
29
- <label for="email"><?php echo $this->__('Your E-mail').":" ?> <span class="required">*</span></label>
30
- <input name="feedbackmail" value="<?php echo $this->htmlEscape($email) ?>" title="<?php echo $this->__('Email Address') ?>" id="email" type="text" class="input-text required-entry validate-email" />
31
- </li>
32
- <li>
33
- <label for="heard_about_us"><?php echo $this->__('Where did you hear about us')."?" ?></label>
34
- <input name="feedbackheard" value="" title="<?php echo $this->__('Email Address') ?>" id="heard_about_us" type="text" class="input-text" />
35
- </li>
36
- <li>
37
- <label for="details"><?php echo $this->__('Details').":" ?> <span class="required">*</span></label>
38
- <textarea id="details" class="input-text required-entry" name="feedbackdetails" rows="10" col="50"></textarea>
39
- </li>
40
- <li>
41
- <button id="btnsubmit" name="btnsubmit" type="button" class="button-feedback" onclick="sendFeedback('<?php echo $this->getUrl("feedback/index/post"); ?>')">
42
- <span><span><?php echo $this->__('Submit') ?></span></span></button>
43
- </li>
44
- </ul>
45
- </form>
46
- <script type="text/javascript">
47
- var feedback_form = new Validation($('frm_feedback'));
48
- </script>
49
- </div>
50
- </div>
51
- </div>
52
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/{base → default}/default/layout/feedback.xml RENAMED
File without changes
app/design/frontend/default/default/template/feedback/popup_html.phtml ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $config = Mage::getStoreConfig('feedback/feedback/active');
3
+ $customer=Mage::helper('customer');
4
+ $name = '';
5
+ $email = '';
6
+ if($customer->isLoggedIn()){
7
+ $name=Mage::getSingleton('customer/session')->getCustomer()->getName();
8
+ $email=Mage::getSingleton('customer/session')->getCustomer()->getEmail();
9
+ }
10
+ $publickey = Mage::getStoreConfig("feedback/recaptcha_settings/public_key");
11
+ ?>
12
+ <script type="text/javascript">
13
+ var RecaptchaOptions = {
14
+ theme : '<?php echo Mage::getStoreConfig("feedback/recaptcha_settings/theme"); ?>',
15
+ lang : '<?php echo Mage::getStoreConfig("feedback/recaptcha_settings/lang"); ?>',
16
+ };
17
+ </script>
18
+ <?php if($config=="1") { ?>
19
+ <div class="side-feedback">
20
+ <a href="javascript:void(0)" onclick="openFeedbackWindow('feedback_information')" title="Feedback" id="link_feedback"></a>
21
+ </div>
22
+ <div id="backgroundpopup" class="background-opacity" style="display: none; background: none repeat scroll 0% 0% rgb(0, 0, 0);"></div>
23
+
24
+ <?php
25
+ if(Mage::getStoreConfig("feedback/recaptcha_settings/theme") == 'clean'){
26
+ $class = 'xlarge';
27
+ }else{$class = '';}
28
+ ?>
29
+ <?php
30
+ if(!Mage::getStoreConfig("feedback/recaptcha_settings/enable_recaptcha")){
31
+ $class_cap = 'no-captcha';
32
+ }else{$class_cap = '';}
33
+ ?>
34
+ <div style="display: none;" id="feedback_information" class="feedback-container <?php echo $class ." ". $class_cap ?> ">
35
+ <a class="feedback_close" title="close" href="#" onclick="closeFeedbackWindow('feedback_information'); return false;"></a>
36
+ <div class="feedback-popup-content">
37
+ <div class="feedback-title"> <?php echo $this->__('Feedback') ?> </div>
38
+ <div class="feedback-content">
39
+ <form action="<?php echo $this->getUrl("feedback/index/post") ?>" method="post" id="frm_feedback">
40
+ <div id="success_message" style="display: none;" class="feedback-success-msg"></div>
41
+ <div id="loader" class="loader-feedback" style="text-align: center;display: none;"><p><img src='<?php echo $this->getSkinUrl('feedback/images/ajax-loader-onestep.gif') ?>' alt='' title=''/></p></div>
42
+ <br/>
43
+ <ul class="form-list" id="feedback_options">
44
+ <li>
45
+ <label for="fname"><?php echo $this->__('Your Full Name').":" ?> <span class="required">*</span></label>
46
+ <input name="feedbackbuname" value="<?php echo $this->htmlEscape($name) ?>" title="<?php echo $this->__('Name') ?>" id="fname" type="text" class="input-text required-entry" />
47
+ </li>
48
+ <li>
49
+ <label for="email"><?php echo $this->__('Your E-mail').":" ?> <span class="required">*</span></label>
50
+ <input name="feedbackmail" value="<?php echo $this->htmlEscape($email) ?>" title="<?php echo $this->__('Email Address') ?>" id="email" type="text" class="input-text required-entry validate-email" />
51
+ </li>
52
+ <li>
53
+ <label for="heard_about_us"><?php echo $this->__('Where did you hear about us')."?" ?></label>
54
+ <input name="feedbackheard" value="" title="<?php echo $this->__('Email Address') ?>" id="heard_about_us" type="text" class="input-text" />
55
+ </li>
56
+ <li>
57
+ <label for="details"><?php echo $this->__('Details').":" ?> <span class="required">*</span></label>
58
+ <textarea id="details" class="input-text required-entry" name="feedbackdetails" rows="10" col="50"></textarea>
59
+ </li>
60
+ <?php if(Mage::getStoreConfig("feedback/recaptcha_settings/enable_recaptcha")): ?>
61
+ <?php
62
+ if( !(Mage::getStoreConfig("feedback/recaptcha_settings/loggedin_customer") && (Mage::getSingleton('customer/session')->isLoggedIn())) ):
63
+ ?>
64
+ <li>
65
+ <div class="input-box">
66
+ <?php echo Mage::helper("feedback")->recaptcha_get_html($publickey, null, Mage::app()->getRequest()->isSecure()); ?>
67
+ </div>
68
+ </li>
69
+ <?php endif; ?>
70
+ <?php endif; ?>
71
+ <li>
72
+ <button id="btnsubmit" name="btnsubmit" type="button" class="button-feedback" onclick="sendFeedback('<?php echo $this->getUrl("feedback/index/post"); ?>')">
73
+ <span><span><?php echo $this->__('Submit') ?></span></span></button>
74
+ </li>
75
+ </ul>
76
+ </form>
77
+ <script type="text/javascript">
78
+ var feedback_form = new Validation($('frm_feedback'));
79
+ </script>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ <?php } ?>
package.xml CHANGED
@@ -1,28 +1,27 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>bc_feedback</name>
4
- <version>1.0.0.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Display feedback panel in popup &amp; send email to admin for information filled by customer.</summary>
10
- <description>&lt;h1&gt;Customer FeedBack Manager&lt;/h1&gt;
11
-
12
- Extension will provide visitor to send feedback/comment to admin via Feedback form in pop up. Feedback button located on screen left side will open up feedback popup and allow guest to write comment to be send to admin via email.
13
-
14
- Extension will provide interface for admin to enable/disable module from backend and configure recipents email address for feedback email.
15
-
16
- Goto System &gt; configuration &gt; Biztech Extensions &gt; Feedback &gt; configuration</description>
17
- <notes>- Feedback module activation control from admin panel
18
- - Email configuration for recipients of customer feedback email
19
- - Pop up display for feedback form
20
-
21
- - Solved the issue of access denied for magento versions 1.4</notes>
22
- <authors><author><name>biztechc</name><user>auto-converted</user><email>sales@biztechconsultancy.com</email></author></authors>
23
- <date>2012-07-27</date>
24
- <time>13:22:42</time>
25
- <contents><target name="magelocal"><dir name="Bc"><dir name="Bcall"><dir name="etc"><file name="adminhtml.xml" hash="8920ca37aa9ca02526e66a440c537164"/><file name="config.xml" hash="b04ecf114ba681ac31b057af49cb2219"/><file name="system.xml" hash="0481ac69f34911e7e216b47404b04052"/></dir><dir name="Helper"><file name="Data.php" hash="89bd8d7b99721ceaaf31d039cd27a381"/></dir></dir><dir name="Feedback"><dir name="Block"><file name="Feedback.php" hash="79437eefd19f20e8acba1320b0687e5f"/></dir><dir name="controllers"><file name="IndexController.php" hash="b2fc732e07a4b17181847fab0376584e"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b1654199bde32302ff359518686e4195"/><file name="config.xml" hash="2436d192b39c7783ca06de0b00e794c8"/><file name="system.xml" hash="e97a91348394f4ea2ac72760934aa935"/></dir><dir name="Helper"><file name="Data.php" hash="c247278ee540a94e0ffb9c1c3fd48748"/></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="feedback"><file name="feedback.html" hash="fad80bccd037f798f48fb4208bb8871a"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="feedback"><dir name="css"><file name="popup.css" hash="67b406a6038fab9430ee42fafc5748d2"/></dir><dir name="images"><file name="ajax-loader-onestep.gif" hash="cf9953e0d5241b49c3dee9d0051cca3d"/><file name="closebox.png" hash="f2aace763cfcc4d6f3427a8a0842e55c"/><file name="feedbacktab.png" hash="f4efb82c0d823c56ee5cc37ebf9851f1"/><file name="general-btn.gif" hash="d04f8bf3e7bc194a031bb5b2ac7433ba"/><file name="general-input-bg.jpg" hash="5a63d17240be2d5acdd8d432c4e1caff"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="Thumbs.db" hash="57a3d87fce0750ab4bef582f209e4012"/></dir><dir name="js"><file name="popup.js" hash="9354c99f4310a309f49b9bbb3af78afb"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="feedback.xml" hash="32a183a464fce0a65d8169cf80317916"/></dir><dir name="template"><dir name="feedback"><file name="popup_html.phtml" hash="6c8e7cea68737737700724dc96b75d2e"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Bc_Bcall.xml" hash="89be5607bd577a43766fdf8c17c03698"/><file name="Bc_Feedback.xml" hash="24ae9a181967f28f7444f32c79680c42"/></dir></target></contents>
26
  <compatible/>
27
  <dependencies/>
28
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>bc_feedback</name>
4
+ <version>1.0.0.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Allow customers to offer feedback for your magento e- shop with our powerful feedback extension</summary>
10
+ <description>Magento, undoubtedly, is the best open source e-commerce solution around. The number of features and functionalities it offers is simply amazing. The default functionality of magento allows customers to review and write feedback about your products. However, with the dynamic Magento Feedback Extension from Biztech Consultancy, your customers will be able to do a bit more! Well, with our magento extension your customers can offer feedback for your entire magento e-commerce website in the easiest manner.
11
+ Product review is important for most of the customers as it allows them to make better purchase decisions. But what if customers can get feedback about an entire magento store? This certainly helps save their valuable time. This easy-to-use Magento Feedback Extension has been specially carved out for customers to write feedback about an entire magento website. What&#x2019;s more, as an admin, you have complete control over the feedback displayed about your magento store. The magento feedback extension can be easily managed from the back-end admin panel. It has been optimized to deliver consistent performance across multiple platforms.
12
+ Exciting features offered by the Magento Feedback Extension
13
+ &#x2022; The customers are offered a user-friendly form which can be easily filled up in less time
14
+ &#x2022; The form allows customers to write detailed feedback in the manner they want
15
+ &#x2022; Easy installation &amp; deployment
16
+ &#x2022; Compatible with multiple magento community editions such as 1.4, 1.4.1.1, 1.4.2, 1.5, 1.6, 1.6.1, 1.6.2.0, 1.7
17
+ &#x2022; Feedback button display, Pop up display
18
+ &#x2022; Admin email configuration area for email recipients
19
+ &#x2022; Easily enable/disable the extension from admin area</description>
20
+ <notes>-Add recaptcha functionality</notes>
21
+ <authors><author><name>Biztech</name><user>auto-converted</user><email>sales@biztechconsultancy.com</email></author></authors>
22
+ <date>2014-04-03</date>
23
+ <time>10:04:29</time>
24
+ <contents><target name="magelocal"><dir name="Bc"><dir name="Bcall"><dir name="etc"><file name="adminhtml.xml" hash="b7bab61d935d181c017f36728fd4497a"/><file name="config.xml" hash="b04ecf114ba681ac31b057af49cb2219"/><file name="system.xml" hash="0481ac69f34911e7e216b47404b04052"/></dir><dir name="Helper"><file name="Data.php" hash="89bd8d7b99721ceaaf31d039cd27a381"/></dir></dir><dir name="Feedback"><dir name="Block"><file name="Feedback.php" hash="79437eefd19f20e8acba1320b0687e5f"/></dir><dir name="controllers"><file name="IndexController.php" hash="6099e3ff0903062f288ef85a38e7d0d4"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b1654199bde32302ff359518686e4195"/><file name="config.xml" hash="f58edbaa3b44f1c9df642698459dd29d"/><file name="system.xml" hash="57e7eee2c5214c68a0934f34e6205f30"/></dir><dir name="Helper"><file name="Data.php" hash="af7c37e767eb0472e3615a58cbb637c4"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><dir name="Dropdown"><file name="Lang.php" hash="e83cda9c93a256286a924e1870e45f21"/><file name="Theme.php" hash="46130b103bc4f89aa23780c34a9e25fe"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="feedback"><file name="feedback.html" hash="fad80bccd037f798f48fb4208bb8871a"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="feedback"><dir name="css"><file name="popup.css" hash="8e43063d305f06a160cc2e0af72681aa"/></dir><dir name="images"><file name="ajax-loader-onestep.gif" hash="cf9953e0d5241b49c3dee9d0051cca3d"/><file name="closebox.png" hash="f2aace763cfcc4d6f3427a8a0842e55c"/><file name="feedbacktab.png" hash="f4efb82c0d823c56ee5cc37ebf9851f1"/><file name="general-btn.gif" hash="d04f8bf3e7bc194a031bb5b2ac7433ba"/><file name="general-input-bg.jpg" hash="5a63d17240be2d5acdd8d432c4e1caff"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="Thumbs.db" hash="57a3d87fce0750ab4bef582f209e4012"/></dir><dir name="js"><file name="popup.js" hash="7bab7fc8f428c2eb4318fa1a70ea409d"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="feedback.xml" hash="32a183a464fce0a65d8169cf80317916"/></dir><dir name="template"><dir name="feedback"><file name="popup_html.phtml" hash="6d6879969d575c4081630b811f79e54d"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Bc_Bcall.xml" hash="89be5607bd577a43766fdf8c17c03698"/><file name="Bc_Feedback.xml" hash="24ae9a181967f28f7444f32c79680c42"/></dir></target></contents>
 
25
  <compatible/>
26
  <dependencies/>
27
  </package>
skin/frontend/{base → default}/default/feedback/css/popup.css RENAMED
@@ -2,19 +2,20 @@
2
  .side-feedback a{ height:100%; width:100%; float:left;background:url(../images/feedbacktab.png) no-repeat -10px 0; z-index:200;}
3
  .side-feedback a:hover{ height:100%; width:100%; float:left;background:url(../images/feedbacktab.png) no-repeat -6px 0; z-index:200;}
4
 
5
- .background-opacity { background: none repeat scroll 0 0 #000000; border: 1px solid #CECECE; display: none; height: 100%; left: 0; opacity: 0.7; position: fixed; top: 0; width: 100%; z-index: 9999;}
6
  .feedback_close {color: #000000; float: right; font: bold 20px arial; margin: 10px 10px 0 0; text-decoration: none;}
7
- .feedback-container {border: 3px solid #CCCCCC !important; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; height: auto !important; left: 38% !important; max-width: 650px !important; min-height: 246px; padding: 20px !important;text-align: left; top: 55px !important; width: 400px; z-index: 9999; background:#fff; padding:25px; position:absolute;}
 
8
  .feedback_close { background: url("../images/closebox.png") no-repeat scroll 0 0 transparent; height: 30px; position: absolute; right: -23px; top: -26px; width: 30px;}
9
  .feedback-content .form-list .required { color: #EB340A;}
10
 
11
  .feedback-popup-content{float:left; width:370px; background: none; padding:0px;}
12
  .feedback-title{ background: none repeat scroll 0 0 #E0E0E0; border: 1px solid #D1D1D1; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; color: #E11E26; font-size: 12px; font-weight: bold; left: 22px;
13
  padding: 5px 0; position: relative; text-align: center; top: 14px; width: 93px;}
14
- .feedback-content {background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #DDDDDD; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; float: left; padding: 32px 20px 20px; width: 358px;}
15
  .feedback-content .form-list li label{ font-weight:bold; float:left; width:100%;}
16
  .feedback-content .form-list li input.input-text{ padding:4px 5px; background:url("../images/general-input-bg.jpg") repeat-x scroll 0 0 #fff; height:20px; width:300px; float: left;}
17
- .feedback-content .form-list li textarea{width:300px; float: left;}
18
  .feedback-content .form-list li button.button{margin-top:10px;}
19
  .feedback-content input, .feedback-content select, .feedback-content textarea, .feedback-content button { font:12px/15px Arial, Helvetica, sans-serif; vertical-align:middle; color:#343434; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}
20
  .feedback-content input.input-text, .feedback-content select, .feedback-content textarea { background:#fff; border:1px solid #d1d1d1; }
@@ -75,5 +76,15 @@
75
  color: #3D6611;
76
  }
77
  .feedback-content .form-list li {
78
- margin: 0 0 8px;
79
- }
 
 
 
 
 
 
 
 
 
 
2
  .side-feedback a{ height:100%; width:100%; float:left;background:url(../images/feedbacktab.png) no-repeat -10px 0; z-index:200;}
3
  .side-feedback a:hover{ height:100%; width:100%; float:left;background:url(../images/feedbacktab.png) no-repeat -6px 0; z-index:200;}
4
 
5
+ .background-opacity { background: none repeat scroll 0 0 #000000; display: none; height: 100%; left: 0; opacity: 0.7; filter:alpha(opacity=70); position: fixed; top: 0; width: 100%; z-index: 9999;}
6
  .feedback_close {color: #000000; float: right; font: bold 20px arial; margin: 10px 10px 0 0; text-decoration: none;}
7
+ .feedback-container { border: 3px solid #CCCCCC !important; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; /*height: auto !important; left: 38% !important; top: 55px !important;*/ max-width: 650px !important; padding: 10px 20px 20px 20px !important; text-align: left; width: 400px; z-index: 9999; background:#fff; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; *margin:6% 0 0 36%; height:578px; *height:662px;}
8
+ .feedback-container.no-captcha{ height:444px;}
9
  .feedback_close { background: url("../images/closebox.png") no-repeat scroll 0 0 transparent; height: 30px; position: absolute; right: -23px; top: -26px; width: 30px;}
10
  .feedback-content .form-list .required { color: #EB340A;}
11
 
12
  .feedback-popup-content{float:left; width:370px; background: none; padding:0px;}
13
  .feedback-title{ background: none repeat scroll 0 0 #E0E0E0; border: 1px solid #D1D1D1; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; color: #E11E26; font-size: 12px; font-weight: bold; left: 22px;
14
  padding: 5px 0; position: relative; text-align: center; top: 14px; width: 93px;}
15
+ .feedback-content {background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #DDDDDD; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; float: left; padding: 12px 20px 20px; width: 358px;}
16
  .feedback-content .form-list li label{ font-weight:bold; float:left; width:100%;}
17
  .feedback-content .form-list li input.input-text{ padding:4px 5px; background:url("../images/general-input-bg.jpg") repeat-x scroll 0 0 #fff; height:20px; width:300px; float: left;}
18
+ .feedback-content .form-list li textarea{width:300px; float: left; height:5em;}
19
  .feedback-content .form-list li button.button{margin-top:10px;}
20
  .feedback-content input, .feedback-content select, .feedback-content textarea, .feedback-content button { font:12px/15px Arial, Helvetica, sans-serif; vertical-align:middle; color:#343434; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}
21
  .feedback-content input.input-text, .feedback-content select, .feedback-content textarea { background:#fff; border:1px solid #d1d1d1; }
76
  color: #3D6611;
77
  }
78
  .feedback-content .form-list li {
79
+ margin: 0 0 5px; display:block; background:none;
80
+ }
81
+
82
+ /* feedback-container large*/
83
+
84
+ .feedback-container.xlarge { width:485px;}
85
+ .feedback-container.xlarge .feedback-content{ width:442px;}
86
+ .feedback-container.xlarge .feedback-content .form-list li input.input-text{ width:365px;}
87
+ .feedback-container.xlarge .feedback-content .form-list li textarea{ width:369px;}
88
+
89
+
90
+
skin/frontend/{base → default}/default/feedback/images/Thumbs.db RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/ajax-loader-onestep.gif RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/closebox.png RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/feedbacktab.png RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/general-btn.gif RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/general-input-bg.jpg RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/i_msg-error.gif RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/images/i_msg-success.gif RENAMED
File without changes
skin/frontend/{base → default}/default/feedback/js/popup.js RENAMED
@@ -10,7 +10,7 @@ function closeFeedbackWindow(ele1){
10
  Effect.Fade(val1);
11
  Effect.Fade(background);
12
  $$('div.error-massage').each(function(ele){
13
- ele.hide();
14
  });
15
  }
16
  function sendFeedback(url){
@@ -36,15 +36,21 @@ function sendFeedback(url){
36
  }
37
  $('loader').hide();
38
  $('success_message').show();
 
 
 
39
  Effect.toggle('success_message', 'appear',{ duration: 5.0});
40
- setTimeout(function (){
41
- closeFeedbackWindow('feedback_information');
42
- $('frm_feedback').reset();
43
- $('btnsubmit').removeAttribute('disabled');
44
- },6000);
 
 
 
45
  return false;
46
  }
47
- },
48
  });
49
  return false;
50
  }
10
  Effect.Fade(val1);
11
  Effect.Fade(background);
12
  $$('div.error-massage').each(function(ele){
13
+ ele.hide();
14
  });
15
  }
16
  function sendFeedback(url){
36
  }
37
  $('loader').hide();
38
  $('success_message').show();
39
+ if(response.recaptcha == 1){
40
+ Recaptcha.reload();
41
+ }
42
  Effect.toggle('success_message', 'appear',{ duration: 5.0});
43
+ if(response.result=='success'){
44
+ setTimeout(function (){
45
+ closeFeedbackWindow('feedback_information');
46
+ $('frm_feedback').reset();
47
+ $('btnsubmit').removeAttribute('disabled');
48
+ },6000);
49
+ }
50
+ $('btnsubmit').removeAttribute('disabled');
51
  return false;
52
  }
53
+ }
54
  });
55
  return false;
56
  }