ET_Reviewnotify - Version 0.2.4

Version Notes

Added anti spam protection for review form on frontend (relevant when review writing for guests is allowed)

Download this release

Release Info

Developer Magento Core Team
Extension ET_Reviewnotify
Version 0.2.4
Comparing to
See all releases


Code changes from version 0.2.3 to 0.2.4

app/code/community/ET/ET_Reviewnotify_ChangeLog.txt CHANGED
@@ -7,6 +7,9 @@ Legend:
7
  - removed functionality
8
 
9
  =====================================
 
 
 
10
  ver. 0.2.3
11
  * Fixed broken Pending Reviews RSS link when Add Store Code to Urls is set to Yes.
12
 
@@ -24,4 +27,4 @@ ver. 0.1.1
24
  * added Helper (not worked - Transactional mails - add new template) - actual for Magento ver. 1.4.�
25
 
26
  ver. 0.1.0
27
- + stable relize
7
  - removed functionality
8
 
9
  =====================================
10
+ ver. 0.2.4
11
+ + Added anti spam protection for review form on frontend (relevant when review writing for guests is allowed)
12
+
13
  ver. 0.2.3
14
  * Fixed broken Pending Reviews RSS link when Add Store Code to Urls is set to Yes.
15
 
27
  * added Helper (not worked - Transactional mails - add new template) - actual for Magento ver. 1.4.�
28
 
29
  ver. 0.1.0
30
+ + stable release
app/code/community/ET/ET_Reviewnotify_Description.txt CHANGED
@@ -1,52 +1,72 @@
1
  ==== Description / Для чего этот модуль? ====
2
 
3
- RU:
4
- 1. При поступлении нового отзыва на товар отсылается сообщение владельцу магазина на е-майл.
5
- 2. Если в системе есть отзывы, требующие проверки, то показывается стандартный тулбар оповещений в панели администрирования.
6
- Спасибо за идею с тулбаром этому модулю
7
- http://www.magentocommerce.com/magento-connect/clockworkgeek/extension/3853/clockworkgeek_reviewsnotification
8
-
9
-
10
  EN:
11
  1. Store owner will receive notification email after receiving new product review.
12
  2. If there are pending reviews - standart notification toolbar is shown in admin.
13
  Thanks for idea with toolbar to module
14
  http://www.magentocommerce.com/magento-connect/clockworkgeek/extension/3853/clockworkgeek_reviewsnotification
 
15
 
 
 
 
 
 
 
16
 
17
  ====Features / Особенности модуля====
18
 
19
- RU:
20
- * Open Source
21
- * Переводы в комплекте:
22
- * en_EN
23
- * ru_RU
24
- * Настаривается в панели администрирования (System - Configuration - Catalog - Product Reviews)
25
- * Включить/отключить оповещение на е-майл
26
- * Включить/отключить тулбар оповещения
27
- * Редактируемый шаблон письма-оповещения
28
- * Оповещение по нескольким адресам е-майл
29
-
30
  EN:
31
- * Open Source
32
- * Translations avalable:
33
- * en_EN
34
- * ru_RU
35
- * All options are changable in admin (System - Configuration - Catalog - Product Reviews)
36
  * Enable/Disable email notification
37
  * Enable/Disable toolbar notification
38
  * Notification email template can be changed
39
  * Email notification to multiple recipients
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
 
42
 
43
  ====Version Compatibility / Совместимость версий====
44
  1.3.х (tested in 1.3.2.4.)
45
  1.4.x (tested in 1.4.1.1.)
46
- 1.5.x (tested in 1.5.0.1.)
47
 
48
 
49
  ====Module tags:====
50
- reviews, notification, mail, admin
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
- отзывы, оповещения, е-майл, админка, панель администрирования
 
 
 
 
 
 
1
  ==== Description / Для чего этот модуль? ====
2
 
 
 
 
 
 
 
 
3
  EN:
4
  1. Store owner will receive notification email after receiving new product review.
5
  2. If there are pending reviews - standart notification toolbar is shown in admin.
6
  Thanks for idea with toolbar to module
7
  http://www.magentocommerce.com/magento-connect/clockworkgeek/extension/3853/clockworkgeek_reviewsnotification
8
+ 3. There is a function, that makes it difficult for auto bots/spammers to submit reviews.
9
 
10
+ RU:
11
+ 1. При поступлении нового отзыва на товар отсылается сообщение владельцу магазина на е-майл.
12
+ 2. Если в системе есть отзывы, требующие проверки, то показывается стандартный тулбар оповещений в панели администрирования.
13
+ Спасибо за идею с тулбаром этому модулю
14
+ http://www.magentocommerce.com/magento-connect/clockworkgeek/extension/3853/clockworkgeek_reviewsnotification
15
+ 3. Есть функция, затрудняющая автоматическим ботам/спаммерам написание отзывов.
16
 
17
  ====Features / Особенности модуля====
18
 
 
 
 
 
 
 
 
 
 
 
 
19
  EN:
20
+ * Open source code (no encryption and obfuscation)
21
+ * Code follows Magento development standards
22
+ * Extension is available on 2 languages (ru_RU, en_US) and you can easy add your own
23
+ * All extension settings are available on admin panel
 
24
  * Enable/Disable email notification
25
  * Enable/Disable toolbar notification
26
  * Notification email template can be changed
27
  * Email notification to multiple recipients
28
+ * Enable/Disable Anti spam function
29
+ * Theme modification is not required if you have original element names on your review form.
30
+
31
+ RU:
32
+ * Открытый исходный код
33
+ * Код написан придерживаясь принятых стандартов в разработке для Магенто
34
+ * Доступен на 2-ух языках (ru_RU, en_US) и легко добавляются новые переводы
35
+ * Все настройки модуля доступны в панели администрирования
36
+ * Включить/отключить оповещение на е-майл
37
+ * Включить/отключить тулбар оповещения
38
+ * Редактируемый шаблон письма-оповещения
39
+ * Оповещение по нескольким адресам е-майл
40
+ * Включить/отключить анти спам функцию
41
+ * Не требует модификации темы (если используются стандартные названия элементов в форме отзыва)
42
 
43
 
44
 
45
  ====Version Compatibility / Совместимость версий====
46
  1.3.х (tested in 1.3.2.4.)
47
  1.4.x (tested in 1.4.1.1.)
48
+ 1.5.x (tested in 1.5.0.1. and 1.5.1.0)
49
 
50
 
51
  ====Module tags:====
52
+ reviews, notification, mail, admin, anti spam
53
+
54
+ отзывы, оповещения, е-майл, админка, панель администрирования, анти спам
55
+
56
+ ====Установка/Installation====
57
+
58
+ * Disable Compiler, if it is enabled (System -> Tools -> Compilation)
59
+ * Disable cache, if it is enabled (System -> Cache Management)
60
+ * Install the extension
61
+ * Log off admin panel (Log Out)
62
+ * Log into admin panel (enter your login and password)
63
+ * Set Advanced Compare parameters (System -> Configuration -> Catalog -> Product Reviews)
64
+ * Run compilation process and enable cache if needed
65
 
66
+ * Отключите компиляцию, если включена (Система -> Инструменты -> Компиляция)
67
+ * Отключите кэш, если включён (Система -> Управление кэшем)
68
+ * Установите модуль
69
+ * Выйдите из панели администрирования (Выйти)
70
+ * Войдите в панель администрирования (введите логин/пароль)
71
+ * Настройте параметры отображения модуля (Система -> Конфигурация -> Каталог -> Отзывы о товаре)
72
+ * Если необходимо запустите процесс компиляции и включите кэш
app/code/community/ET/Reviewnotify/Block/Toolbar.php CHANGED
@@ -16,7 +16,7 @@
16
  * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
  * @contacts support@etwebsolutions.com
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
- */
20
 
21
  class ET_Reviewnotify_Block_Toolbar extends Mage_Adminhtml_Block_Template
22
  {
@@ -31,33 +31,33 @@ class ET_Reviewnotify_Block_Toolbar extends Mage_Adminhtml_Block_Template
31
  $model = Mage::getModel('review/review');
32
  /* @var $collection Mage_Review_Model_Mysql4_Review_Product_Collection */
33
  $collection = $model->getProductCollection()
34
- ->addStatusFilter($model->getPendingStatus())
35
- ->load();
36
  return $collection;
37
- }
38
 
39
- /**
40
- * Get edit URL for a product
41
- *
42
- * @param Mage_Catalog_Model_Product $product
43
- * @return string
44
- */
45
- public function getEditUrl($product)
46
- {
47
- $params = array('id' => $product->getId());
48
- return $this->getUrl('adminhtml/catalog_product/edit', $params);
49
- }
50
 
51
- /**
52
- * Get edit URL for a product's review
53
- *
54
- * @param Mage_Catalog_Model_Product $product
55
- * @return string
56
- */
57
- public function getReviewUrl($product)
58
- {
59
- $params = array('id'=>$product->getReviewId());
60
- return $this->getUrl('*/catalog_product_review/edit', $params);
61
- }
62
 
63
  }
16
  * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
  * @contacts support@etwebsolutions.com
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
+ */
20
 
21
  class ET_Reviewnotify_Block_Toolbar extends Mage_Adminhtml_Block_Template
22
  {
31
  $model = Mage::getModel('review/review');
32
  /* @var $collection Mage_Review_Model_Mysql4_Review_Product_Collection */
33
  $collection = $model->getProductCollection()
34
+ ->addStatusFilter($model->getPendingStatus())
35
+ ->load();
36
  return $collection;
37
+ }
38
 
39
+ /**
40
+ * Get edit URL for a product
41
+ *
42
+ * @param Mage_Catalog_Model_Product $product
43
+ * @return string
44
+ */
45
+ public function getEditUrl($product)
46
+ {
47
+ $params = array('id' => $product->getId());
48
+ return $this->getUrl('adminhtml/catalog_product/edit', $params);
49
+ }
50
 
51
+ /**
52
+ * Get edit URL for a product's review
53
+ *
54
+ * @param Mage_Catalog_Model_Product $product
55
+ * @return string
56
+ */
57
+ public function getReviewUrl($product)
58
+ {
59
+ $params = array('id'=>$product->getReviewId());
60
+ return $this->getUrl('*/catalog_product_review/edit', $params);
61
+ }
62
 
63
  }
app/code/community/ET/Reviewnotify/Helper/Data.php CHANGED
@@ -16,7 +16,7 @@
16
  * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
  * @contacts support@etwebsolutions.com
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
- */
20
 
21
  class ET_Reviewnotify_Helper_Data extends Mage_Core_Helper_Abstract
22
  {
16
  * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
  * @contacts support@etwebsolutions.com
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
+ */
20
 
21
  class ET_Reviewnotify_Helper_Data extends Mage_Core_Helper_Abstract
22
  {
app/code/community/ET/Reviewnotify/Model/Observer.php CHANGED
@@ -21,45 +21,41 @@
21
 
22
  class ET_Reviewnotify_Model_Observer
23
  {
24
-
25
- public function __construct()
26
- {
27
- }
28
-
29
- public function send_nofificatin_mail($observer)
30
  {
 
31
 
32
- $this->need_send = Mage::getStoreConfig('catalog/review/need_send');
33
- $this->event_email = Mage::getStoreConfig('catalog/review/email_to');
34
- $this->email_template = Mage::getStoreConfig('catalog/review/email_template');
35
- $this->email_identity = Mage::getStoreConfig('catalog/review/email_identity');
 
 
36
 
37
 
38
- if(($this->need_send)&(trim($this->event_email)))
39
  {
40
- $product=Mage::getModel('catalog/product')->load($observer->object->getEntityPkValue());
41
- $emailTemplate = Mage::getModel('core/email_template');
42
-
43
- $recipients = explode(",",$this->event_email);
44
- foreach($recipients as $k => $recipient)
45
- $sendresult=$emailTemplate->setDesignConfig(array('area' => 'backend'))
46
- ->sendTransactional(
47
- $this->email_template,
48
- $this->email_identity,
49
- trim($recipient),
50
- trim($recipient),
51
- array(
52
- "product"=>$product->getName()." (sku: ".$product->getsku().")",
53
- "title"=>$observer->object->getTitle(),
54
- "nickname"=>$observer->object->getNickname(),
55
- "details"=>$observer->object->getDetail(),
56
- "id"=>$observer->object->getId(),
57
- 'date' => Mage::app()->getLocale()->date(date("Y-m-d H:i:s"), Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM), null,true)
58
- )
59
  );
60
-
61
- }
62
-
63
  }
64
-
65
- }
21
 
22
  class ET_Reviewnotify_Model_Observer
23
  {
24
+ public function __construct()
 
 
 
 
 
25
  {
26
+ }
27
 
28
+ public function send_nofificatin_mail($observer)
29
+ {
30
+ $this->need_send = Mage::getStoreConfig('catalog/review/need_send');
31
+ $this->event_email = Mage::getStoreConfig('catalog/review/email_to');
32
+ $this->email_template = Mage::getStoreConfig('catalog/review/email_template');
33
+ $this->email_identity = Mage::getStoreConfig('catalog/review/email_identity');
34
 
35
 
36
+ if(($this->need_send)&(trim($this->event_email)))
37
  {
38
+ $product=Mage::getModel('catalog/product')->load($observer->object->getEntityPkValue());
39
+ $emailTemplate = Mage::getModel('core/email_template');
40
+
41
+ $recipients = explode(",",$this->event_email);
42
+ foreach($recipients as $k => $recipient)
43
+ $sendresult=$emailTemplate->setDesignConfig(array('area' => 'backend'))
44
+ ->sendTransactional(
45
+ $this->email_template,
46
+ $this->email_identity,
47
+ trim($recipient),
48
+ trim($recipient),
49
+ array(
50
+ "product"=>$product->getName()." (sku: ".$product->getsku().")",
51
+ "title"=>$observer->object->getTitle(),
52
+ "nickname"=>$observer->object->getNickname(),
53
+ "details"=>$observer->object->getDetail(),
54
+ "id"=>$observer->object->getId(),
55
+ 'date' => Mage::app()->getLocale()->date(date("Y-m-d H:i:s"), Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM), null,true)
56
+ )
57
  );
58
+ }
 
 
59
  }
60
+
61
+ }
app/code/community/ET/Reviewnotify/Model/Review.php CHANGED
@@ -18,7 +18,8 @@
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
  */
20
 
 
21
  class ET_Reviewnotify_Model_Review extends Mage_Review_Model_Review
22
  {
23
- protected $_eventPrefix = 'review_review';
24
  }
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
  */
20
 
21
+
22
  class ET_Reviewnotify_Model_Review extends Mage_Review_Model_Review
23
  {
24
+ protected $_eventPrefix = 'review_review';
25
  }
app/code/community/ET/Reviewnotify/controllers/ProductController.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * ET Web Solutions
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Academic Free License (AFL 3.0)
8
+ *
9
+ * DISCLAIMER
10
+ *
11
+ * Do not edit or add to this file if you wish to upgrade to newer
12
+ * versions in the future.
13
+ *
14
+ * @category ET
15
+ * @package ET_Reviewnotify
16
+ * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
+ * @contacts support@etwebsolutions.com
18
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
+ */
20
+
21
+ require_once 'Mage/Review/controllers/ProductController.php';
22
+ class ET_Reviewnotify_ProductController extends Mage_Review_ProductController
23
+ {
24
+ const SECRET_KEY = "ET_Special_Codes_String";
25
+
26
+ public function prepostAction()
27
+ {
28
+ $result = array("sequence"=>$this->_calculateCode($this->getRequest()->getPost()));
29
+ $this->getResponse()->setBody('<script>window.parent.postReviewRestoreData("'.$result["sequence"].'")</script>');
30
+ }
31
+
32
+ public function postAction()
33
+ {
34
+ $data = $this->getRequest()->getPost();
35
+ if(Mage::getStoreConfig('catalog/review/antispam'))
36
+ {
37
+ if(!isset($data["sequence"]))$data["sequence"]="";
38
+ if(strcmp($data["sequence"],$this->_calculateCode($data))!=0)
39
+ {
40
+ $session = Mage::getSingleton('core/session');
41
+ $session->setFormData($data);
42
+ $session->addError($this->__('Unable to post the review.'));
43
+ if ($redirectUrl = Mage::getSingleton('review/session')->getRedirectUrl(true))
44
+ {
45
+ $this->_redirectUrl($redirectUrl);
46
+ return;
47
+ }
48
+ $this->_redirectReferer();
49
+ return;
50
+ }
51
+ }
52
+ return parent::postAction();
53
+ }
54
+
55
+ protected function _calculateCode($data)
56
+ {
57
+ $allKeys=array("title","nickname","detail");
58
+ $all4Gen=array(self::SECRET_KEY);
59
+ foreach($allKeys as $oneKey)$all4Gen[]=isset($data[$oneKey])?$data[$oneKey]:rand();
60
+ return md5(implode("|",$all4Gen));
61
+ }
62
+ }
app/code/community/ET/Reviewnotify/etc/config.xml CHANGED
@@ -23,56 +23,55 @@
23
  <config>
24
  <modules>
25
  <ET_Reviewnotify>
26
- <version>0.2.3</version>
27
  <descr>
28
- <ru_RU>
29
- При поступлении нового отзыва на товар отсылается сообщение владельцу магазина на емайл.
30
- Если есть необработанные отзывы - показывается напоминание в стандартном тулбаре оповещений в панели администрирования.
31
- Настройки модуля в секции Каталог - Отзывы о товаре.
32
- </ru_RU>
33
- <en_US>
34
- Store owner will recieve notification after recieving new product review.
35
- If there is pending reviews - standart notification toolbar is shown in admin.
36
- Settings in section Catalog - Product Reviews.
37
- </en_US>
38
  </descr>
39
  </ET_Reviewnotify>
40
  </modules>
41
  <global>
 
 
 
 
 
 
 
42
  <models>
43
  <reviewnotify>
44
  <class>ET_Reviewnotify_Model</class>
45
  </reviewnotify>
46
-
47
- <review>
48
- <rewrite>
49
- <review>ET_Reviewnotify_Model_Review</review>
50
- </rewrite>
51
- </review>
52
-
53
  </models>
 
54
  <helpers>
55
  <reviewnotify>
56
  <class>ET_Reviewnotify_Helper</class>
57
  </reviewnotify>
58
-
59
  </helpers>
 
60
  <blocks>
61
  <reviewnotify>
62
  <class>ET_Reviewnotify_Block</class>
63
  </reviewnotify>
64
- </blocks>
65
-
66
 
67
  <template>
68
- <email>
69
- <catalog_review_email_template translate="label" module="reviewnotify">
70
- <label>Review notify email</label>
71
- <file>et_reviewnotify.html</file>
72
- <type>text</type>
73
- </catalog_review_email_template>
74
- </email>
75
- </template>
76
  </global>
77
 
78
  <default>
@@ -80,6 +79,7 @@
80
  <review>
81
  <need_send>0</need_send>
82
  <need_notify>1</need_notify>
 
83
  </review>
84
  </catalog>
85
  </default>
@@ -97,6 +97,24 @@
97
  </observers>
98
  </review_review_save_after>
99
  </events>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  </frontend>
101
 
102
  <adminhtml>
@@ -136,8 +154,6 @@
136
  </admin>
137
  </resources>
138
  </acl>
 
139
 
140
- </adminhtml>
141
-
142
-
143
- </config>
23
  <config>
24
  <modules>
25
  <ET_Reviewnotify>
26
+ <version>0.2.4</version>
27
  <descr>
28
+ <ru_RU><![CDATA[При поступлении нового отзыва на товар отсылается сообщение владельцу магазина на емайл. Если есть необработанные отзывы - показывается напоминание в стандартном тулбаре оповещений в панели администрирования. Настройки модуля в секции Каталог - Отзывы о товаре.]]>
29
+ </ru_RU>
30
+ <en_US><![CDATA[Store owner will recieve notification after recieving new product review. If there is pending reviews - standart notification toolbar is shown in admin. Settings in section Catalog - Product Reviews.]]>
31
+ </en_US>
 
 
 
 
 
 
32
  </descr>
33
  </ET_Reviewnotify>
34
  </modules>
35
  <global>
36
+ <rewrite>
37
+ <review>
38
+ <from><![CDATA[#^/review/product/#]]></from>
39
+ <to>/etreviewnotify/product/</to>
40
+ </review>
41
+ </rewrite>
42
+
43
  <models>
44
  <reviewnotify>
45
  <class>ET_Reviewnotify_Model</class>
46
  </reviewnotify>
47
+ <review>
48
+ <rewrite>
49
+ <review>ET_Reviewnotify_Model_Review</review>
50
+ </rewrite>
51
+ </review>
 
 
52
  </models>
53
+
54
  <helpers>
55
  <reviewnotify>
56
  <class>ET_Reviewnotify_Helper</class>
57
  </reviewnotify>
 
58
  </helpers>
59
+
60
  <blocks>
61
  <reviewnotify>
62
  <class>ET_Reviewnotify_Block</class>
63
  </reviewnotify>
64
+ </blocks>
 
65
 
66
  <template>
67
+ <email>
68
+ <catalog_review_email_template translate="label" module="reviewnotify">
69
+ <label>Review notify email</label>
70
+ <file>et_reviewnotify.html</file>
71
+ <type>text</type>
72
+ </catalog_review_email_template>
73
+ </email>
74
+ </template>
75
  </global>
76
 
77
  <default>
79
  <review>
80
  <need_send>0</need_send>
81
  <need_notify>1</need_notify>
82
+ <antispam>0</antispam>
83
  </review>
84
  </catalog>
85
  </default>
97
  </observers>
98
  </review_review_save_after>
99
  </events>
100
+
101
+ <routers>
102
+ <reviewnotify>
103
+ <use>standard</use>
104
+ <args>
105
+ <module>ET_Reviewnotify</module>
106
+ <frontName>etreviewnotify</frontName>
107
+ </args>
108
+ </reviewnotify>
109
+ </routers>
110
+
111
+ <layout>
112
+ <updates>
113
+ <reviewnotify>
114
+ <file>et_reviewnotify.xml</file>
115
+ </reviewnotify>
116
+ </updates>
117
+ </layout>
118
  </frontend>
119
 
120
  <adminhtml>
154
  </admin>
155
  </resources>
156
  </acl>
157
+ </adminhtml>
158
 
159
+ </config>
 
 
 
app/code/community/ET/Reviewnotify/etc/system.xml CHANGED
@@ -28,8 +28,8 @@
28
  </etall>
29
  </tabs>
30
 
31
- <sections>
32
- <reviewnotify translate="label" module="reviewnotify">
33
  <label>Review Notify</label>
34
  <tab>etall</tab>
35
  <frontend_type>text</frontend_type>
@@ -37,79 +37,87 @@
37
  <show_in_default>1</show_in_default>
38
  <show_in_website>1</show_in_website>
39
  <show_in_store>1</show_in_store>
40
- <groups>
41
- <info translate="label comment" module="reviewnotify">
42
- <label>Review Notify Options</label>
43
  <comment>Module options available in System -> Configuration -> Catalog -> Product Reviews</comment>
44
- <frontend_type>text</frontend_type>
45
- <sort_order>10</sort_order>
46
- <show_in_default>1</show_in_default>
47
- <show_in_website>1</show_in_website>
48
- <show_in_store>1</show_in_store>
49
- </info>
50
- </groups>
51
  </reviewnotify>
52
 
53
  <catalog>
54
- <groups>
55
- <review translate="label" module="reviewnotify">
56
  <fields>
57
-
 
 
 
 
 
 
 
 
 
58
  <need_send translate="label comment">
59
- <label>Send notification</label>
60
  <comment>Notification will be send to e-mail if new review is placed. Default: No</comment>
61
- <frontend_type>select</frontend_type>
62
- <source_model>adminhtml/system_config_source_yesno</source_model>
63
- <sort_order>200</sort_order>
64
- <show_in_default>1</show_in_default>
65
- <show_in_website>1</show_in_website>
66
- <show_in_store>1</show_in_store>
67
- </need_send>
68
 
69
  <email_to translate="label comment">
70
- <label>Mail to</label>
71
  <comment>You can specify multiple recipients. Comma separated. For example: admin1@example.com, admin2@example.com</comment>
72
- <frontend_type>text</frontend_type>
73
- <sort_order>300</sort_order>
74
- <show_in_default>1</show_in_default>
75
- <show_in_website>1</show_in_website>
76
- <show_in_store>1</show_in_store>
77
- </email_to>
78
 
79
- <email_template translate="label">
80
- <label>Mail Template</label>
81
- <frontend_type>select</frontend_type>
82
- <source_model>adminhtml/system_config_source_email_template</source_model>
83
- <sort_order>501</sort_order>
84
- <show_in_default>1</show_in_default>
85
- <show_in_website>1</show_in_website>
86
- <show_in_store>1</show_in_store>
87
- </email_template>
88
 
89
- <email_identity translate="label">
90
- <label>Store email</label>
91
- <frontend_type>select</frontend_type>
92
- <source_model>adminhtml/system_config_source_email_identity</source_model>
93
- <sort_order>502</sort_order>
94
- <show_in_default>1</show_in_default>
95
- <show_in_website>1</show_in_website>
96
- <show_in_store>1</show_in_store>
97
  </email_identity>
98
 
99
- <need_notify translate="label comment">
100
- <label>Show notification</label>
101
  <comment>Notification toolbar will be displayed if there is pending reviews. Default: Yes</comment>
102
- <frontend_type>select</frontend_type>
103
- <source_model>adminhtml/system_config_source_yesno</source_model>
104
- <sort_order>700</sort_order>
105
- <show_in_default>1</show_in_default>
106
- <show_in_website>1</show_in_website>
107
- <show_in_store>1</show_in_store>
108
- </need_notify>
109
-
110
- </fields>
111
- </review>
112
- </groups>
113
- </catalog>
114
- </sections>
115
  </config>
28
  </etall>
29
  </tabs>
30
 
31
+ <sections>
32
+ <reviewnotify translate="label" module="reviewnotify">
33
  <label>Review Notify</label>
34
  <tab>etall</tab>
35
  <frontend_type>text</frontend_type>
37
  <show_in_default>1</show_in_default>
38
  <show_in_website>1</show_in_website>
39
  <show_in_store>1</show_in_store>
40
+ <groups>
41
+ <info translate="label comment" module="reviewnotify">
42
+ <label>Review Notify Options</label>
43
  <comment>Module options available in System -> Configuration -> Catalog -> Product Reviews</comment>
44
+ <frontend_type>text</frontend_type>
45
+ <sort_order>10</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store>1</show_in_store>
49
+ </info>
50
+ </groups>
51
  </reviewnotify>
52
 
53
  <catalog>
54
+ <groups>
55
+ <review translate="label" module="reviewnotify">
56
  <fields>
57
+ <antispam translate="label comment">
58
+ <label>Use Antispam</label>
59
+ <comment>Make review posting harder for automatic spammers</comment>
60
+ <frontend_type>select</frontend_type>
61
+ <source_model>adminhtml/system_config_source_yesno</source_model>
62
+ <sort_order>199</sort_order>
63
+ <show_in_default>1</show_in_default>
64
+ <show_in_website>1</show_in_website>
65
+ <show_in_store>1</show_in_store>
66
+ </antispam>
67
  <need_send translate="label comment">
68
+ <label>Send notification</label>
69
  <comment>Notification will be send to e-mail if new review is placed. Default: No</comment>
70
+ <frontend_type>select</frontend_type>
71
+ <source_model>adminhtml/system_config_source_yesno</source_model>
72
+ <sort_order>200</sort_order>
73
+ <show_in_default>1</show_in_default>
74
+ <show_in_website>1</show_in_website>
75
+ <show_in_store>1</show_in_store>
76
+ </need_send>
77
 
78
  <email_to translate="label comment">
79
+ <label>Mail to</label>
80
  <comment>You can specify multiple recipients. Comma separated. For example: admin1@example.com, admin2@example.com</comment>
81
+ <frontend_type>text</frontend_type>
82
+ <sort_order>300</sort_order>
83
+ <show_in_default>1</show_in_default>
84
+ <show_in_website>1</show_in_website>
85
+ <show_in_store>1</show_in_store>
86
+ </email_to>
87
 
88
+ <email_template translate="label">
89
+ <label>Mail Template</label>
90
+ <frontend_type>select</frontend_type>
91
+ <source_model>adminhtml/system_config_source_email_template</source_model>
92
+ <sort_order>501</sort_order>
93
+ <show_in_default>1</show_in_default>
94
+ <show_in_website>1</show_in_website>
95
+ <show_in_store>1</show_in_store>
96
+ </email_template>
97
 
98
+ <email_identity translate="label">
99
+ <label>Store email</label>
100
+ <frontend_type>select</frontend_type>
101
+ <source_model>adminhtml/system_config_source_email_identity</source_model>
102
+ <sort_order>502</sort_order>
103
+ <show_in_default>1</show_in_default>
104
+ <show_in_website>1</show_in_website>
105
+ <show_in_store>1</show_in_store>
106
  </email_identity>
107
 
108
+ <need_notify translate="label comment">
109
+ <label>Show notification</label>
110
  <comment>Notification toolbar will be displayed if there is pending reviews. Default: Yes</comment>
111
+ <frontend_type>select</frontend_type>
112
+ <source_model>adminhtml/system_config_source_yesno</source_model>
113
+ <sort_order>700</sort_order>
114
+ <show_in_default>1</show_in_default>
115
+ <show_in_website>1</show_in_website>
116
+ <show_in_store>1</show_in_store>
117
+ </need_notify>
118
+ </fields>
119
+ </review>
120
+ </groups>
121
+ </catalog>
122
+ </sections>
 
123
  </config>
app/design/adminhtml/default/default/layout/et_reviewnotify.xml CHANGED
@@ -22,34 +22,34 @@
22
 
23
  <layout>
24
 
25
- <default>
26
- <!-- 1.4.x code DELETED
27
  <reference name="notifications">
28
- <block type="reviewnotify/toolbar" name="reviewnotify_toolbar" as="reviewnotify_toolbar" acl="catalog/reviews_ratings/reviews/pending" template="reviewnotify/toolbar.phtml" />
29
- </reference>
30
  1.4.x code end -->
31
 
32
  <!-- 1.3.x code -->
33
  <reference name="root">
34
  <block type="core/text_list" name="notification_toolbar" as="notification_toolbar">
35
- <block type="adminhtml/notification_toolbar" name="notification_toolbarmain" as="notification_toolbarmain" acl="system/adminnotification/show_toolbar" template="notification/toolbar.phtml"></block>
36
  <block type="reviewnotify/toolbar" name="reviewnotify_toolbar" as="reviewnotify_toolbar" acl="catalog/reviews_ratings/reviews/pending" template="reviewnotify/toolbar.phtml"></block>
37
  </block>
38
  </reference>
39
  <!-- 1.3.x code end-->
40
- </default>
41
 
42
  <adminhtml_catalog_product_review_pending>
43
- <!-- 1.4.x code DELETED
44
  <reference name="notifications">
45
- <remove name="reviewnotify_toolbarz"/>
46
- </reference>
47
  1.4.x code end -->
48
 
49
  <!-- 1.3.x code -->
50
  <reference name="notification_toolbar">
51
- <remove name="reviewnotify_toolbar"/>
52
- </reference>
53
  <!-- 1.3.x code end-->
54
  </adminhtml_catalog_product_review_pending>
55
 
22
 
23
  <layout>
24
 
25
+ <default>
26
+ <!-- 1.4.x code DELETED
27
  <reference name="notifications">
28
+ <block type="reviewnotify/toolbar" name="reviewnotify_toolbar" as="reviewnotify_toolbar" acl="catalog/reviews_ratings/reviews/pending" template="reviewnotify/toolbar.phtml" />
29
+ </reference>
30
  1.4.x code end -->
31
 
32
  <!-- 1.3.x code -->
33
  <reference name="root">
34
  <block type="core/text_list" name="notification_toolbar" as="notification_toolbar">
35
+ <block type="adminhtml/notification_toolbar" name="notification_toolbarmain" as="notification_toolbarmain" acl="system/adminnotification/show_toolbar" template="notification/toolbar.phtml"></block>
36
  <block type="reviewnotify/toolbar" name="reviewnotify_toolbar" as="reviewnotify_toolbar" acl="catalog/reviews_ratings/reviews/pending" template="reviewnotify/toolbar.phtml"></block>
37
  </block>
38
  </reference>
39
  <!-- 1.3.x code end-->
40
+ </default>
41
 
42
  <adminhtml_catalog_product_review_pending>
43
+ <!-- 1.4.x code DELETED
44
  <reference name="notifications">
45
+ <remove name="reviewnotify_toolbarz"/>
46
+ </reference>
47
  1.4.x code end -->
48
 
49
  <!-- 1.3.x code -->
50
  <reference name="notification_toolbar">
51
+ <remove name="reviewnotify_toolbar"/>
52
+ </reference>
53
  <!-- 1.3.x code end-->
54
  </adminhtml_catalog_product_review_pending>
55
 
app/design/adminhtml/default/default/template/reviewnotify/toolbar.phtml CHANGED
@@ -16,15 +16,15 @@
16
  * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
  * @contacts support@etwebsolutions.com
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
- */
20
 
21
  $config = Mage::getStoreConfig('catalog/review');
22
  if ($config['need_notify'] == 1)
23
  {
24
  $_pending = $this->getPending();
25
  $_count = count($_pending);
26
- if ($_count > 0)
27
- {
28
  $urlModel = Mage::getModel('core/url');
29
  $storeid = Mage::app()->getDefaultStoreView();
30
  $urlModel->setStore($storeid);
@@ -34,7 +34,7 @@ if ($config['need_notify'] == 1)
34
  <span class="f-right"><a class="link-feed" href="<?php echo $RSSlink ?>" style="background-position: 0 50%;"><?php echo $this->__('Pending Reviews RSS') ?></a></span>
35
  <strong class="label"><?php echo $this->__('Pending Reviews') ?>:</strong>
36
  <?php
37
- if (count($_pending) > 1)
38
  {
39
  echo $this->__(
40
  'There are %d reviews waiting to be approved. Click here to see the %s.',
@@ -42,7 +42,7 @@ if ($config['need_notify'] == 1)
42
  '<a href="'.$this->getUrl('adminhtml/catalog_product_review/pending').'">'.$this->__('Pending Reviews').'</a>'
43
  );
44
  } // end count > 1
45
- elseif (count($_pending) == 1)
46
  {
47
  /* @var $_product Mage_Catalog_Model_Product */
48
  $_product = $_pending->getFirstItem();
@@ -54,7 +54,7 @@ if ($config['need_notify'] == 1)
54
  }
55
  ?>
56
  </div>
57
- <?php
58
  } // end count > 0
59
  } // end enabled to show notification
60
  ?>
16
  * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
17
  * @contacts support@etwebsolutions.com
18
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
19
+ */
20
 
21
  $config = Mage::getStoreConfig('catalog/review');
22
  if ($config['need_notify'] == 1)
23
  {
24
  $_pending = $this->getPending();
25
  $_count = count($_pending);
26
+ if ($_count > 0)
27
+ {
28
  $urlModel = Mage::getModel('core/url');
29
  $storeid = Mage::app()->getDefaultStoreView();
30
  $urlModel->setStore($storeid);
34
  <span class="f-right"><a class="link-feed" href="<?php echo $RSSlink ?>" style="background-position: 0 50%;"><?php echo $this->__('Pending Reviews RSS') ?></a></span>
35
  <strong class="label"><?php echo $this->__('Pending Reviews') ?>:</strong>
36
  <?php
37
+ if (count($_pending) > 1)
38
  {
39
  echo $this->__(
40
  'There are %d reviews waiting to be approved. Click here to see the %s.',
42
  '<a href="'.$this->getUrl('adminhtml/catalog_product_review/pending').'">'.$this->__('Pending Reviews').'</a>'
43
  );
44
  } // end count > 1
45
+ elseif (count($_pending) == 1)
46
  {
47
  /* @var $_product Mage_Catalog_Model_Product */
48
  $_product = $_pending->getFirstItem();
54
  }
55
  ?>
56
  </div>
57
+ <?php
58
  } // end count > 0
59
  } // end enabled to show notification
60
  ?>
app/design/frontend/default/default/layout/et_reviewnotify.xml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * ET Web Solutions
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ *
10
+ * DISCLAIMER
11
+ *
12
+ * Do not edit or add to this file if you wish to upgrade to newer
13
+ * versions in the future.
14
+ *
15
+ * @category ET
16
+ * @package ET_Reviewnotify
17
+ * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
18
+ * @contacts support@etwebsolutions.com
19
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
20
+ */
21
+ -->
22
+
23
+ <layout version="0.1.0">
24
+ <catalog_product_view>
25
+ <reference name="head">
26
+ <action method="addJs" ifconfig="catalog/review/antispam"><script>et/reviewnotify.js</script></action>
27
+ </reference>
28
+ </catalog_product_view>
29
+ <review_product_list>
30
+ <reference name="head">
31
+ <action method="addJs" ifconfig="catalog/review/antispam"><script>et/reviewnotify.js</script></action>
32
+ </reference>
33
+ </review_product_list>
34
+ </layout>
app/locale/en_US/ET_Reviewnotify.csv CHANGED
@@ -12,3 +12,6 @@
12
  "Notification will be send to e-mail if new review is placed. Default: No","Notification will be send to e-mail if new review is placed. Default: No"
13
  "Review Notify Options","Review Notify Options"
14
  "Module options available in System -> Configuration -> Catalog -> Product Reviews","Module options available in System -> Configuration -> Catalog -> Product Reviews"
 
 
 
12
  "Notification will be send to e-mail if new review is placed. Default: No","Notification will be send to e-mail if new review is placed. Default: No"
13
  "Review Notify Options","Review Notify Options"
14
  "Module options available in System -> Configuration -> Catalog -> Product Reviews","Module options available in System -> Configuration -> Catalog -> Product Reviews"
15
+ "Unable to post the review.","Unable to post the review."
16
+ "Use Antispam","Use Antispam"
17
+ "Make review posting harder for automatic spammers","Make review posting harder for automatic spammers"
app/locale/ru_RU/ET_Reviewnotify.csv CHANGED
@@ -12,3 +12,6 @@
12
  "Notification will be send to e-mail if new review is placed. Default: No","При поступлении нового отзыва будет отослано оповещение на емайл. По умолчанию: Нет"
13
  "Review Notify Options","Параметры Review Notify"
14
  "Module options available in System -> Configuration -> Catalog -> Product Reviews","Настроить модуль можно на странице Система -> Конфигурация -> Каталог -> Отзывы о товаре"
 
 
 
12
  "Notification will be send to e-mail if new review is placed. Default: No","При поступлении нового отзыва будет отослано оповещение на емайл. По умолчанию: Нет"
13
  "Review Notify Options","Параметры Review Notify"
14
  "Module options available in System -> Configuration -> Catalog -> Product Reviews","Настроить модуль можно на странице Система -> Конфигурация -> Каталог -> Отзывы о товаре"
15
+ "Unable to post the review.","Невозможно разместить отзыв."
16
+ "Use Antispam","Использовать антиспам"
17
+ "Make review posting harder for automatic spammers","Затрудняет размещение отзывов автоматическим спаммерам"
js/et/reviewnotify.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * ET Web Solutions
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Academic Free License (AFL 3.0)
7
+ *
8
+ * DISCLAIMER
9
+ *
10
+ * Do not edit or add to this file if you wish to upgrade to newer
11
+ * versions in the future.
12
+ *
13
+ * @category ET
14
+ * @package ET_Reviewnotify
15
+ * @copyright Copyright (c) 2011 ET Web Solutions (http://etwebsolutions.com)
16
+ * @contacts support@etwebsolutions.com
17
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
18
+ */
19
+ Event.observe(window, 'load', function()
20
+ {
21
+ if($("review-form")!= null){
22
+ $("review-form").insert('<input class="validate-code" name="sequence" id="review_sequence" value="" style="width:0px;height:0px;overflow:hidden;border:0;margin:0;padding:0;" /><iframe id="sequenceframe" name="review_sequence_place" id="review_sequence_place_id" style="width:0px;height:0px;overflow:hidden;border:0;margin:0;padding:0;"></iframe>',{"position":"top"});
23
+ var url=$("review-form").readAttribute("action");
24
+ var myString = new String(url);//review/product/post
25
+ var rExp = /\/review\/product\/post\//gi;
26
+ var tmpHref = myString.replace(rExp, "/etreviewnotify/product/prepost/");
27
+ $("review-form").writeAttribute("target","review_sequence_place");
28
+ $("review-form").writeAttribute("oldurl",url);
29
+ $("review-form").writeAttribute("action",tmpHref);
30
+ }
31
+ });
32
+
33
+ function postReviewRestoreData(sequence)
34
+ {
35
+ $("review_sequence").value=sequence;
36
+ $("review-form").writeAttribute("target","_self");
37
+ $("review-form").writeAttribute("action",$("review-form").readAttribute("oldurl"));
38
+ $("review-form").submit();
39
+ }
package.xml CHANGED
@@ -1,22 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ET_Reviewnotify</name>
4
- <version>0.2.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/afl-3.0.php">AFL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Changes:
10
- Fixed broken Pending Reviews RSS link when Add Store Code to Urls is set to Yes.</summary>
11
  <description>Review notify module notify store owner about new product reviews in two way:
12
  1. Store owner will recieve notification email after recieving new product review.
13
  2. If there is pending reviews - standart notification toolbar is shown in admin.</description>
14
- <notes>Fixes:
15
- Fixed broken Pending Reviews RSS link when Add Store Code to Urls is set to Yes.</notes>
16
  <authors><author><name>Jurij</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author><author><name>Andrej</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author></authors>
17
- <date>2011-03-04</date>
18
- <time>08:11:27</time>
19
- <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="et_reviewnotify.xml" hash="6d937f5c8235ef495e7f42503ec95500"/></dir><dir name="template"><dir name="reviewnotify"><file name="toolbar.phtml" hash="eb366209b79d17bc9c068b718d567b48"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><file name="et_reviewnotify.html" hash="c3d8b0a804d721cb17271448ef7cf56b"/></dir></dir><file name="ET_Reviewnotify.csv" hash="6f691fe22cf5d3d9972097533853ffa7"/></dir><dir name="ru_RU"><dir name="template"><dir name="email"><file name="et_reviewnotify.html" hash="dc715adcb9e2d271d206c246af29920d"/></dir></dir><file name="ET_Reviewnotify.csv" hash="bf3e87ecca455c7543c18f98c11239c4"/></dir></target><target name="magecommunity"><dir name="ET"><dir name="Reviewnotify"><dir name="Block"><file name="Toolbar.php" hash="154c58580b58434602b1bc4da30f7cce"/></dir><dir name="etc"><file name="config.xml" hash="25d78b0fd62489da024ef8a06e02699d"/><file name="system.xml" hash="848c67b1aa8eed12ef76b8468c87fedd"/></dir><dir name="Helper"><file name="Data.php" hash="be58e26c27d1bb60c4d22faae365ba7c"/></dir><dir name="Model"><file name="Observer.php" hash="c66ba95de4b978d42fe56e2a657be63c"/><file name="Review.php" hash="99a55e77f5fcf7e62766757a33a33cc1"/></dir></dir><file name="ET_Reviewnotify_ChangeLog.txt" hash="956be7284e532f4b6344a1e6e62a4a37"/><file name="ET_Reviewnotify_Description.txt" hash="2173b1245c448a71b0b39d99fb25d485"/><file name="ET_Reviewnotify_LICENSE.txt" hash="47734c0bfe298cff13472be9d25d97d6"/></dir></target><target name="mageetc"><dir name="modules"><file name="ET_Reviewnotify.xml" hash="7147aa924cbf49f74c30b5938fcf9e49"/></dir></target></contents>
20
  <compatible/>
21
  <dependencies/>
22
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ET_Reviewnotify</name>
4
+ <version>0.2.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/afl-3.0.php">AFL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Review notify module notify store owner about new product reviews. Available antispam function for frontend.</summary>
 
10
  <description>Review notify module notify store owner about new product reviews in two way:
11
  1. Store owner will recieve notification email after recieving new product review.
12
  2. If there is pending reviews - standart notification toolbar is shown in admin.</description>
13
+ <notes>Added anti spam protection for review form on frontend (relevant when review writing for guests is allowed)</notes>
 
14
  <authors><author><name>Jurij</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author><author><name>Andrej</name><user>auto-converted</user><email>support@etwebsolutions.com</email></author></authors>
15
+ <date>2011-05-12</date>
16
+ <time>14:55:15</time>
17
+ <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="et_reviewnotify.xml" hash="a75f575975b42bb30b4bd5132bdf9a9e"/></dir><dir name="template"><dir name="reviewnotify"><file name="toolbar.phtml" hash="fed56ecc95d0ede544df89a78953907f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="et_reviewnotify.xml" hash="954266835f14ead6c77cef94e6dc45ca"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><file name="et_reviewnotify.html" hash="c3d8b0a804d721cb17271448ef7cf56b"/></dir></dir><file name="ET_Reviewnotify.csv" hash="668c237d069fd482a330471a019f8adc"/></dir><dir name="ru_RU"><dir name="template"><dir name="email"><file name="et_reviewnotify.html" hash="dc715adcb9e2d271d206c246af29920d"/></dir></dir><file name="ET_Reviewnotify.csv" hash="0ed2bd869a9335092e14d3b11b06bc21"/></dir></target><target name="magecommunity"><dir name="ET"><dir name="Reviewnotify"><dir name="Block"><file name="Toolbar.php" hash="4cd6a38d99ca5a7571afb2debfa3802e"/></dir><dir name="controllers"><file name="ProductController.php" hash="fd263d2ca39f577713555e503d7b35d6"/></dir><dir name="etc"><file name="config.xml" hash="11409d7607c4bbd29ed730e521e9c85a"/><file name="system.xml" hash="0db9f945dca7bfe59144f3ec9468e406"/></dir><dir name="Helper"><file name="Data.php" hash="e6ce2ced8996b8cf4a74cc3427c24acc"/></dir><dir name="Model"><file name="Observer.php" hash="411297b0e2bb4e3ced8bc1667a950831"/><file name="Review.php" hash="0a23de5db51b4ca7a7f528a8188bd42e"/></dir></dir><file name="ET_Reviewnotify_ChangeLog.txt" hash="6ad44ee19af0c66ab67d46f5513d6bbe"/><file name="ET_Reviewnotify_Description.txt" hash="661a725046dee3d6dbdc4ebd18067017"/><file name="ET_Reviewnotify_LICENSE.txt" hash="47734c0bfe298cff13472be9d25d97d6"/></dir></target><target name="mage"><dir name="js"><dir name="et"><file name="reviewnotify.js" hash="b44ef3cbad9b0360b709d1196a08800c"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ET_Reviewnotify.xml" hash="7147aa924cbf49f74c30b5938fcf9e49"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies/>
20
  </package>