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 +2 -2
- app/code/local/Bc/Feedback/Helper/Data.php +107 -0
- app/code/local/Bc/Feedback/Model/System/Config/Source/Dropdown/Lang.php +40 -0
- app/code/local/Bc/Feedback/Model/System/Config/Source/Dropdown/Theme.php +23 -0
- app/code/local/Bc/Feedback/controllers/IndexController.php +87 -44
- app/code/local/Bc/Feedback/etc/config.xml +1 -1
- app/code/local/Bc/Feedback/etc/system.xml +92 -28
- app/design/frontend/base/default/template/feedback/popup_html.phtml +0 -52
- app/design/frontend/{base → default}/default/layout/feedback.xml +0 -0
- app/design/frontend/default/default/template/feedback/popup_html.phtml +83 -0
- package.xml +17 -18
- skin/frontend/{base → default}/default/feedback/css/popup.css +17 -6
- skin/frontend/{base → default}/default/feedback/images/Thumbs.db +0 -0
- skin/frontend/{base → default}/default/feedback/images/ajax-loader-onestep.gif +0 -0
- skin/frontend/{base → default}/default/feedback/images/closebox.png +0 -0
- skin/frontend/{base → default}/default/feedback/images/feedbacktab.png +0 -0
- skin/frontend/{base → default}/default/feedback/images/general-btn.gif +0 -0
- skin/frontend/{base → default}/default/feedback/images/general-input-bg.jpg +0 -0
- skin/frontend/{base → default}/default/feedback/images/i_msg-error.gif +0 -0
- skin/frontend/{base → default}/default/feedback/images/i_msg-success.gif +0 -0
- skin/frontend/{base → default}/default/feedback/js/popup.js +13 -7
app/code/local/Bc/Bcall/etc/adminhtml.xml
CHANGED
@@ -23,12 +23,12 @@
|
|
23 |
*/
|
24 |
-->
|
25 |
<config>
|
26 |
-
|
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 = "&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 |
-
|
11 |
-
|
12 |
-
|
13 |
|
14 |
-
|
15 |
|
16 |
-
|
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(
|
44 |
}
|
45 |
-
$
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
-
|
52 |
-
$
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
} catch (Exception $e) {
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
$var1["message"]="Unable to submit your request. Please, try again later";
|
82 |
-
|
83 |
$var1["message"]=$message;
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
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.
|
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 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
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 |
-
<
|
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 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</fields>
|
67 |
-
</
|
68 |
-
|
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 |
<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>
|
10 |
-
<description
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
-
|
22 |
-
<
|
23 |
-
<
|
24 |
-
<
|
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’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 |
+
• The customers are offered a user-friendly form which can be easily filled up in less time
|
14 |
+
• The form allows customers to write detailed feedback in the manner they want
|
15 |
+
• Easy installation & deployment
|
16 |
+
• 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 |
+
• Feedback button display, Pop up display
|
18 |
+
• Admin email configuration area for email recipients
|
19 |
+
• 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;
|
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;
|
|
|
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:
|
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
|
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 |
-
|
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 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
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 |
}
|