lipscore - Version 1.2.18

Version Notes

Backend: reminders feature's been updated

Download this release

Release Info

Developer Henning Frettem
Extension lipscore
Version 1.2.18
Comparing to
See all releases


Code changes from version 1.2.17 to 1.2.18

app/code/community/Lipscore/RatingsReviews/Block/System/Config/Form/Field/Reminderperiod.php CHANGED
@@ -2,48 +2,88 @@
2
  class Lipscore_RatingsReviews_Block_System_Config_Form_Field_Reminderperiod
3
  extends Lipscore_RatingsReviews_Block_System_Config_Form_Field_Abstract
4
  {
5
- public static $_periodSelect = 'reminder_period';
6
 
7
  public function render(Varien_Data_Form_Element_Abstract $element)
8
  {
9
  $text = '';
10
  try {
11
- $text = $this->getNote() . $this->getPeriodLabel() . $this->getPeriodSelect() . $this->getReminderButton();
 
 
 
 
 
12
  } catch (Exception $e) {
13
  Lipscore_RatingsReviews_Logger::logException($e);
14
  }
15
  return $text;
16
  }
17
 
18
- public function getPeriodSelect()
19
  {
20
- $opts = Mage::getSingleton('lipscore_ratingsreviews/system_config_source_reminderperiod')->toOptionArray();
 
 
 
 
 
 
 
21
 
22
  $select = $this->getLayout()->createBlock('adminhtml/html_select')
23
- ->setName(self::$_periodSelect)
24
- ->setId(self::$_periodSelect)
25
- ->setOptions($opts);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
- return $select->getHtml();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
29
 
30
- public function getPeriodLabel()
31
  {
32
- return '<label for="' . self::$_periodSelect . '">' . $this->__('Period') . '</label>';
33
  }
34
 
35
  public function getReminderButton()
36
  {
37
- $url = $this->getReminderUrl();
38
- $perioSelectId = self::$_periodSelect;
39
 
40
  $apiKey = $this->getLipscoreConfig()->apiKey();
41
  $button = $this->getLayout()->createBlock('adminhtml/widget_button')
42
  ->setData(array(
43
- 'label' => $this->__('Send Reminders'),
44
  'disabled' => empty($apiKey),
45
  'title' => $this->__('Send Reminders'),
46
- 'onclick' => "sendLipscoreReminder('$url', '$perioSelectId');",
 
47
  ));
48
  return $button->toHtml();
49
  }
@@ -55,8 +95,8 @@ class Lipscore_RatingsReviews_Block_System_Config_Form_Field_Reminderperiod
55
 
56
  $msg = "After installation of Lipscore you can send emails to recent customers asking them to write reviews of the purchases they have done. This is done automatically for all future customers but customers from before Lipscore was installed will not get these emails unless you invoke it below. They will be delivered according to <a href='$linkToDasboard'>reminder delay settings</a> and will only be done once.";
57
  $coupons = "To increase the chance of getting reviews you can also add coupons to these emails. Set up coupons <a href='$linkToCoupons'>here</a>.";
58
-
59
- return "<p>$msg $coupons<p>";
60
  }
61
 
62
  protected function getReminderUrl()
2
  class Lipscore_RatingsReviews_Block_System_Config_Form_Field_Reminderperiod
3
  extends Lipscore_RatingsReviews_Block_System_Config_Form_Field_Abstract
4
  {
5
+ protected static $_statusSelect = 'order_status';
6
 
7
  public function render(Varien_Data_Form_Element_Abstract $element)
8
  {
9
  $text = '';
10
  try {
11
+ $text = '<div id="ls-reminder">' .
12
+ $this->getNote() .
13
+ $this->getStatusField() .
14
+ $this->getDateFields() .
15
+ $this->getReminderButton() .
16
+ '</div>';
17
  } catch (Exception $e) {
18
  Lipscore_RatingsReviews_Logger::logException($e);
19
  }
20
  return $text;
21
  }
22
 
23
+ public function getLabel($targetId, $title)
24
  {
25
+ return '<label for="' . $targetId . '" class="ls-reminder-label">' . $this->__($title) . '</label>';
26
+ }
27
+
28
+ public function getStatusField()
29
+ {
30
+ $label = $this->getLabel(self::$_statusSelect, '<span>Include orders in these statuses<br/>(Ctrl+click to add more)</span>');
31
+
32
+ $opts = Mage::getSingleton('lipscore_ratingsreviews/system_config_source_order_status')->toOptionArray();
33
 
34
  $select = $this->getLayout()->createBlock('adminhtml/html_select')
35
+ ->setName(self::$_statusSelect . '[]')
36
+ ->setId(self::$_statusSelect)
37
+ ->setClass('select multiselect')
38
+ ->setOptions($opts)
39
+ ->setExtraParams('multiple="multiple"');
40
+
41
+ return $label . $select->getHtml();
42
+ }
43
+
44
+ public function getDateFields()
45
+ {
46
+ $html = $this->getLabel($this->dateFieldId('from'), 'Include orders made between');
47
+ $html .= $this->getDateField('from', strtotime("-3 months"));
48
+ $html .= $this->getLabel($this->dateFieldId('to'), 'and');
49
+ $html .= $this->getDateField('to', time());
50
+ return $html;
51
+ }
52
 
53
+ public function getDateField($name, $defaultValue)
54
+ {
55
+ $element = new Varien_Data_Form_Element_Date(
56
+ array(
57
+ 'name' => $name,
58
+ 'image' => $this->getSkinUrl('images/grid-cal.gif'),
59
+ 'format' => Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
60
+ 'time' => false
61
+ )
62
+ );
63
+ $element->setValue($defaultValue);
64
+ $element->setForm(new Varien_Data_Form());
65
+ $element->setId($this->dateFieldId($name));
66
+
67
+ return $element->getElementHtml();
68
  }
69
 
70
+ public function dateFieldId($name)
71
  {
72
+ return 'remind_' . $name;
73
  }
74
 
75
  public function getReminderButton()
76
  {
77
+ $url = $this->getReminderUrl();
 
78
 
79
  $apiKey = $this->getLipscoreConfig()->apiKey();
80
  $button = $this->getLayout()->createBlock('adminhtml/widget_button')
81
  ->setData(array(
82
+ 'label' => $this->__('Send emails'),
83
  'disabled' => empty($apiKey),
84
  'title' => $this->__('Send Reminders'),
85
+ 'onclick' => "sendLipscoreReminder('$url');",
86
+ 'id' => 'ls-reminder-button'
87
  ));
88
  return $button->toHtml();
89
  }
95
 
96
  $msg = "After installation of Lipscore you can send emails to recent customers asking them to write reviews of the purchases they have done. This is done automatically for all future customers but customers from before Lipscore was installed will not get these emails unless you invoke it below. They will be delivered according to <a href='$linkToDasboard'>reminder delay settings</a> and will only be done once.";
97
  $coupons = "To increase the chance of getting reviews you can also add coupons to these emails. Set up coupons <a href='$linkToCoupons'>here</a>.";
98
+ $heading = '<h4>Send review emails to these customers:</h4>';
99
+ return "<p>$msg $coupons<p>$heading";
100
  }
101
 
102
  protected function getReminderUrl()
app/code/community/Lipscore/RatingsReviews/Block/System/Config/Form/Fieldset/Dashboardlink.php CHANGED
@@ -4,6 +4,6 @@ class Lipscore_RatingsReviews_Block_System_Config_Form_Fieldset_Dashboardlink ex
4
  {
5
  public function render(Varien_Data_Form_Element_Abstract $element)
6
  {
7
- return 'Advanced settings are available on <a href="https://members.lipscore.com/">your dashboard</a>';
8
  }
9
  }
4
  {
5
  public function render(Varien_Data_Form_Element_Abstract $element)
6
  {
7
+ return 'Advanced settings are available on <a href="https://members.lipscore.com/">your Lipscore.com dashboard</a>';
8
  }
9
  }
app/code/community/Lipscore/RatingsReviews/Model/System/Config/Source/Order/Status.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Lipscore_RatingsReviews_Model_System_Config_Source_Order_Status
3
+ {
4
+ public function toOptionArray()
5
+ {
6
+ $statuses = Mage::getSingleton('sales/order_config')->getStatuses();
7
+
8
+ $options = array();
9
+ foreach ($statuses as $code => $label) {
10
+ $options[] = array(
11
+ 'value' => $code,
12
+ 'label' => $label
13
+ );
14
+ }
15
+ return $options;
16
+ }
17
+ }
app/code/community/Lipscore/RatingsReviews/controllers/Purchases/RemindersController.php CHANGED
@@ -19,64 +19,93 @@ class Lipscore_RatingsReviews_Purchases_RemindersController extends Mage_Adminht
19
  }
20
 
21
  try {
22
- $this->_send();
23
  } catch (Exception $e) {
24
  Lipscore_RatingsReviews_Logger::logException($e);
25
- $this->_response(false, $e->getMessage() . '\n' . $e->getTraceAsString());
26
  }
27
  }
28
 
29
- protected function _send()
30
  {
31
- $this->_checkKey();
 
 
 
32
 
33
- $start = $this->_getStartDate();
34
  $orders = Mage::getModel('sales/order')->getCollection()
35
- ->addAttributeToFilter('created_at', array('from' => $start))
36
- ->addAttributeToFilter('status', array('eq' => Mage_Sales_Model_Order::STATE_COMPLETE));
37
 
38
  $store = $this->getStore();
39
  if ($store) {
40
  $orders->addAttributeToFilter('store_id', array('eq' => $store->getId()));
41
  }
42
-
43
  if (!count($orders)) {
44
- $this->_response(false, 'No completed orders found for a selected period.');
45
  }
46
 
47
  $sender = Mage::getModel('lipscore_ratingsreviews/purchase_reminder', array(
48
  'websiteCode' => $this->getWebsiteCode(),
49
  'storeCode' => $this->getStoreCode()
50
  ));
 
51
  $result = $sender->send($orders);
52
  if ($result) {
53
- $this->_response(true, "Emails were scheduled successfully.");
54
  } else {
55
- $this->_response(false, $sender->getResponseMsg());
56
  }
57
  }
58
 
59
- protected function _checkKey()
60
  {
61
  $apiKey = $this->getLipscoreConfig()->apiKey();
62
  if (!$apiKey) {
63
- $this->_response(false, 'You should provide your Api Key and save config.');
64
  }
65
  }
66
 
67
- protected function _getStartDate()
68
  {
69
- $data = $this->getRequest()->getParams();
 
 
 
 
 
 
 
 
 
70
 
71
- $startDate = empty($data['period']) ? false : strtotime('-' . $data['period']);
72
- if (!$startDate) {
73
- $this->_response(false, 'Please select a correct period.');
 
 
 
 
 
 
 
 
74
  }
75
 
76
- return date('Y-m-d H:i:s', $startDate);
 
 
 
 
 
 
 
 
 
77
  }
78
 
79
- protected function _response($result, $response)
80
  {
81
  $body = Zend_Json::encode(array('message' => $response));
82
  $this->getResponse()
19
  }
20
 
21
  try {
22
+ $this->send();
23
  } catch (Exception $e) {
24
  Lipscore_RatingsReviews_Logger::logException($e);
25
+ $this->response(false, $e->getMessage() . '\n' . $e->getTraceAsString());
26
  }
27
  }
28
 
29
+ protected function send()
30
  {
31
+ $this->checkKey();
32
+
33
+ $period = $this->getPeriod();
34
+ $statuses = $this->getStatuses();
35
 
 
36
  $orders = Mage::getModel('sales/order')->getCollection()
37
+ ->addAttributeToFilter('created_at', $period)
38
+ ->addAttributeToFilter('status', array('in' => $statuses));
39
 
40
  $store = $this->getStore();
41
  if ($store) {
42
  $orders->addAttributeToFilter('store_id', array('eq' => $store->getId()));
43
  }
44
+
45
  if (!count($orders)) {
46
+ $this->response(false, 'No completed orders found for a selected period.');
47
  }
48
 
49
  $sender = Mage::getModel('lipscore_ratingsreviews/purchase_reminder', array(
50
  'websiteCode' => $this->getWebsiteCode(),
51
  'storeCode' => $this->getStoreCode()
52
  ));
53
+
54
  $result = $sender->send($orders);
55
  if ($result) {
56
+ $this->response(true, "Emails were scheduled successfully.");
57
  } else {
58
+ $this->response(false, $sender->getResponseMsg());
59
  }
60
  }
61
 
62
+ protected function checkKey()
63
  {
64
  $apiKey = $this->getLipscoreConfig()->apiKey();
65
  if (!$apiKey) {
66
+ $this->response(false, 'You should provide your Api Key and save config.');
67
  }
68
  }
69
 
70
+ protected function getPeriod()
71
  {
72
+ $data = $this->getRequest()->getParams();
73
+ $format = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
74
+
75
+ try {
76
+ $startDate = empty($data['from']) ? false : new Zend_Date($data['from'], $format);
77
+ $endDate = empty($data['to']) ? false : new Zend_Date($data['to'], $format);
78
+ } catch (Exception $e) {
79
+ $startDate = false;
80
+ $endDate = false;
81
+ }
82
 
83
+ $correctPeriod = $startDate && $endDate ? $startDate->compare($endDate) <= 0 : $startDate || $endDate;
84
+ if (!$correctPeriod) {
85
+ $this->response(false, 'Please set a correct period.');
86
+ }
87
+
88
+ $result = array('datetime' => true);
89
+ if ($startDate) {
90
+ $result['from'] = $startDate;
91
+ }
92
+ if ($endDate) {
93
+ $result['to'] = $endDate;
94
  }
95
 
96
+ return $result;
97
+ }
98
+
99
+ protected function getStatuses()
100
+ {
101
+ $statuses = $this->getRequest()->getParam('status', array());
102
+ if (empty($statuses)) {
103
+ $this->response(false, 'Please select order status.');
104
+ }
105
+ return $statuses;
106
  }
107
 
108
+ protected function response($result, $response)
109
  {
110
  $body = Zend_Json::encode(array('message' => $response));
111
  $this->getResponse()
app/code/community/Lipscore/RatingsReviews/etc/system.xml CHANGED
@@ -127,7 +127,7 @@
127
  </locale>
128
 
129
  <reminder translate="label">
130
- <label>Reminders</label>
131
  <frontend_type>text</frontend_type>
132
  <sort_order>500</sort_order>
133
  <show_in_default>1</show_in_default>
127
  </locale>
128
 
129
  <reminder translate="label">
130
+ <label>Kick-start your Lipscore integration!</label>
131
  <frontend_type>text</frontend_type>
132
  <sort_order>500</sort_order>
133
  <show_in_default>1</show_in_default>
app/design/frontend/base/default/template/lipscore/richsnippet.phtml DELETED
@@ -1,9 +0,0 @@
1
- <div id="lipscore-richsnippet"
2
- ls-rs-name=""
3
- ls-rs-description=""
4
- ls-rs-image=""
5
- ls-rs-product-id=""
6
- ls-rs-offer-price=""
7
- ls-rs-offer-currency=""
8
- ls-rs-offer-avaialbility=""
9
- ><div>
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>lipscore</name>
4
- <version>1.2.17</version>
5
  <stability>stable</stability>
6
  <license uri="https://lipscore.com/signup">Terms of use</license>
7
  <channel>community</channel>
@@ -11,11 +11,11 @@
11
  Lipscore has a range of great features that will&#xD;
12
  take all the hassle out of collecting product reviews, and help convert more&#xD;
13
  visitors in to profitable customers.</description>
14
- <notes>Minor fix: demo API key is checked considering current configuration scope.</notes>
15
  <authors><author><name>Henning Frettem</name><user>Lipscore</user><email>henning@lipscore.com</email></author><author><name>Olga Ivanova</name><user>oivanova</user><email>o.ivanova@datacrafts.io</email></author></authors>
16
- <date>2015-05-07</date>
17
- <time>14:03:14</time>
18
- <contents><target name="magecommunity"><dir name="Lipscore"><dir name="RatingsReviews"><dir name="Block"><dir name="Catalog"><dir name="Product"><file name="View.php" hash="c88cf05f967d7bdebe16ad4c8cb1864f"/></dir></dir><file name="Init.php" hash="54aa73f8964025643d200ef83d79a21f"/><dir name="Purchase"><file name="Abstract.php" hash="aaaabff2ee4366393c66b3a4469f8957"/><file name="Multishipping.php" hash="5b32395d9054b0a242a59e4f9f38988e"/><file name="Onepage.php" hash="ff7faab280d62e4bb906ebdd45521d65"/></dir><dir name="Review"><file name="Helper.php" hash="ca5340736a6b7ecc41f1635b255ff4fc"/><file name="TabTitle.php" hash="4b823e24b4f497554283791a70c68b09"/></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Coupons.php" hash="359eeb7d3913a2b52e7a704afd978464"/><dir name="Field"><file name="Abstract.php" hash="0e8b5385e58dfe4f1f92ddf6063b6376"/><file name="Apikey.php" hash="4012af99141381375a0a4d294bc60f88"/><file name="Reminderperiod.php" hash="e4eb8cb0acfa37dbe529ac7d657a2d04"/></dir><dir name="Fieldset"><file name="Coupons.php" hash="08b73ed814a47b46c05cf14889bb4ead"/><file name="Dashboardlink.php" hash="361363cd3bd1be3767d1c0e3ed601678"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Abstract.php" hash="65d8d9da169b1b1c4477d7d83c985c84"/><file name="Config.php" hash="10a7f292094fa16515975769bf675d13"/><file name="Coupon.php" hash="748ea1f72a63f22efdd9bffc4db27ce3"/><file name="Data.php" hash="6ae3c816d5d899f6f8050c213860ecf0"/><file name="Locale.php" hash="7b3f82b972fd8f8640dc69057682113d"/><file name="Product.php" hash="dfc10efaa05c064f956e742877e831fc"/><file name="Purchase.php" hash="c0fe0f8db92e449f420f0346a763519c"/><file name="Reminder.php" hash="190dcd087e406fba5254adb58ded959c"/></dir><file name="Logger.php" hash="b9d3b2df0bb8c2a8191763202ad272f8"/><dir name="Model"><dir name="Config"><file name="Env.php" hash="06610d75a570d1f6dbb75969ca11be82"/></dir><file name="Config.php" hash="75760dba8101023e77a5bad971bad009"/><dir name="Coupon"><file name="Generator.php" hash="d3164b63b6535e712888ce0c25900e12"/></dir><file name="Observer.php" hash="a5bbd3efe6de89d93a2facd4bf53d67f"/><dir name="Purchase"><file name="Reminder.php" hash="c96f31585b66afe111b1e5b833c9c0c7"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Identifiertype.php" hash="6b6f48d72b35eb5c30389ce2cbd306f3"/><file name="Locale.php" hash="deccbe6c50eb273fe6be8cbe640390f7"/><file name="Pricerule.php" hash="b100a5b624e5188691fa3f7c0dbed275"/><dir name="Productattr"><file name="Brand.php" hash="0bcb5b3ce8f0fefca0d52108e3b9807c"/><file name="Identifier.php" hash="15af8ee20f4fa40c2a702b90d7f45840"/></dir><file name="Reminderperiod.php" hash="674ad0760ba520655f1f4cabb4340b55"/></dir></dir></dir></dir><dir name="controllers"><dir name="Purchases"><file name="RemindersController.php" hash="7decc9845fd7e1702cadfd1bdbb55bfa"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="5edee417a954579c97186a8ebfdf3fbc"/><file name="config.xml" hash="a5d47bd5db3a80a4714b5bfe20bfd663"/><dir name="environments"><file name="production.xml" hash="bb3749dea14df3f07007dc9c24658eff"/></dir><file name="system.xml" hash="7d32fd473a4dbad0197101a06fc8c3b2"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="lipscore"><file name="init.phtml" hash="45db33eec713376d9243f1d690e43e59"/><dir name="purchase"><file name="view.phtml" hash="c2b3c47fdd77a17b2c77d787fef9def4"/></dir><dir name="rating"><file name="view.phtml" hash="50c74a4dc0bda1ebde342a4ff0f4d267"/></dir><dir name="reviews"><file name="tab_title.phtml" hash="cee27e2ae8b71c9705097584e9c0c3cc"/><file name="view.phtml" hash="9d5c3ae48fdbe603b5fbce1d895b9813"/></dir><file name="richsnippet.phtml" hash="692dbf43736e27c7027dc3483ba0cb27"/></dir></dir><dir name="layout"><file name="lipscore_ratingsreviews.xml" hash="1338423489c12d8f6a86bb644a887b4d"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="lipscore_ratingsreviews.xml" hash="73e5f3cd2b25005bb0456f28c4a40c51"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Lipscore_RatingsReviews.xml" hash="a5bea23f8ccc23ae46ee206b4b827939"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="lipscore.css" hash="ff29f27edd404707ac381e5a29ebcc27"/></dir><dir name="js"><file name="lipscore.js" hash="00726b0be0c2485063adc1b3367dd755"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><file name="lipscore.css" hash="3157f12c08a6957c33b5e8314cb14ea5"/><dir name="js"><file name="lipscore.js" hash="64b96d4ea835d24edd8bd7601e1ef651"/></dir></dir></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>lipscore</name>
4
+ <version>1.2.18</version>
5
  <stability>stable</stability>
6
  <license uri="https://lipscore.com/signup">Terms of use</license>
7
  <channel>community</channel>
11
  Lipscore has a range of great features that will&#xD;
12
  take all the hassle out of collecting product reviews, and help convert more&#xD;
13
  visitors in to profitable customers.</description>
14
+ <notes>Backend: reminders feature's been updated</notes>
15
  <authors><author><name>Henning Frettem</name><user>Lipscore</user><email>henning@lipscore.com</email></author><author><name>Olga Ivanova</name><user>oivanova</user><email>o.ivanova@datacrafts.io</email></author></authors>
16
+ <date>2015-05-13</date>
17
+ <time>08:21:24</time>
18
+ <contents><target name="magecommunity"><dir name="Lipscore"><dir name="RatingsReviews"><dir name="Block"><dir name="Catalog"><dir name="Product"><file name="View.php" hash="c88cf05f967d7bdebe16ad4c8cb1864f"/></dir></dir><file name="Init.php" hash="54aa73f8964025643d200ef83d79a21f"/><dir name="Purchase"><file name="Abstract.php" hash="aaaabff2ee4366393c66b3a4469f8957"/><file name="Multishipping.php" hash="5b32395d9054b0a242a59e4f9f38988e"/><file name="Onepage.php" hash="ff7faab280d62e4bb906ebdd45521d65"/></dir><dir name="Review"><file name="Helper.php" hash="ca5340736a6b7ecc41f1635b255ff4fc"/><file name="TabTitle.php" hash="4b823e24b4f497554283791a70c68b09"/></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Coupons.php" hash="359eeb7d3913a2b52e7a704afd978464"/><dir name="Field"><file name="Abstract.php" hash="0e8b5385e58dfe4f1f92ddf6063b6376"/><file name="Apikey.php" hash="4012af99141381375a0a4d294bc60f88"/><file name="Reminderperiod.php" hash="5f094e164d7dd7f6c624feb3b3bfd5e6"/></dir><dir name="Fieldset"><file name="Coupons.php" hash="08b73ed814a47b46c05cf14889bb4ead"/><file name="Dashboardlink.php" hash="910a177378d3a5815b56349b2ddcc9bf"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Abstract.php" hash="65d8d9da169b1b1c4477d7d83c985c84"/><file name="Config.php" hash="10a7f292094fa16515975769bf675d13"/><file name="Coupon.php" hash="748ea1f72a63f22efdd9bffc4db27ce3"/><file name="Data.php" hash="6ae3c816d5d899f6f8050c213860ecf0"/><file name="Locale.php" hash="7b3f82b972fd8f8640dc69057682113d"/><file name="Product.php" hash="dfc10efaa05c064f956e742877e831fc"/><file name="Purchase.php" hash="c0fe0f8db92e449f420f0346a763519c"/><file name="Reminder.php" hash="190dcd087e406fba5254adb58ded959c"/></dir><file name="Logger.php" hash="b9d3b2df0bb8c2a8191763202ad272f8"/><dir name="Model"><dir name="Config"><file name="Env.php" hash="06610d75a570d1f6dbb75969ca11be82"/></dir><file name="Config.php" hash="75760dba8101023e77a5bad971bad009"/><dir name="Coupon"><file name="Generator.php" hash="d3164b63b6535e712888ce0c25900e12"/></dir><file name="Observer.php" hash="a5bbd3efe6de89d93a2facd4bf53d67f"/><dir name="Purchase"><file name="Reminder.php" hash="c96f31585b66afe111b1e5b833c9c0c7"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Identifiertype.php" hash="6b6f48d72b35eb5c30389ce2cbd306f3"/><file name="Locale.php" hash="deccbe6c50eb273fe6be8cbe640390f7"/><dir name="Order"><file name="Status.php" hash="1a5107f688509b981dcdb40c44784f6b"/></dir><file name="Pricerule.php" hash="b100a5b624e5188691fa3f7c0dbed275"/><dir name="Productattr"><file name="Brand.php" hash="0bcb5b3ce8f0fefca0d52108e3b9807c"/><file name="Identifier.php" hash="15af8ee20f4fa40c2a702b90d7f45840"/></dir><file name="Reminderperiod.php" hash="674ad0760ba520655f1f4cabb4340b55"/></dir></dir></dir></dir><dir name="controllers"><dir name="Purchases"><file name="RemindersController.php" hash="81e9cc6f787cb104b92ddd13307f86a4"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="5edee417a954579c97186a8ebfdf3fbc"/><file name="config.xml" hash="a5d47bd5db3a80a4714b5bfe20bfd663"/><dir name="environments"><file name="production.xml" hash="bb3749dea14df3f07007dc9c24658eff"/></dir><file name="system.xml" hash="2e13b16e14b4fdff856c01cf1be04ee6"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="lipscore"><file name="init.phtml" hash="45db33eec713376d9243f1d690e43e59"/><dir name="purchase"><file name="view.phtml" hash="c2b3c47fdd77a17b2c77d787fef9def4"/></dir><dir name="rating"><file name="view.phtml" hash="50c74a4dc0bda1ebde342a4ff0f4d267"/></dir><dir name="reviews"><file name="tab_title.phtml" hash="cee27e2ae8b71c9705097584e9c0c3cc"/><file name="view.phtml" hash="9d5c3ae48fdbe603b5fbce1d895b9813"/></dir></dir></dir><dir name="layout"><file name="lipscore_ratingsreviews.xml" hash="1338423489c12d8f6a86bb644a887b4d"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="lipscore_ratingsreviews.xml" hash="73e5f3cd2b25005bb0456f28c4a40c51"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Lipscore_RatingsReviews.xml" hash="a5bea23f8ccc23ae46ee206b4b827939"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="lipscore.css" hash="ff29f27edd404707ac381e5a29ebcc27"/></dir><dir name="js"><file name="lipscore.js" hash="00726b0be0c2485063adc1b3367dd755"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><file name="lipscore.css" hash="96f1694b0769b92e32142209f389e069"/><dir name="js"><file name="lipscore.js" hash="ac705dc56c03c08adadbbac86f1f10c3"/></dir></dir></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
skin/adminhtml/default/default/js/lipscore.js CHANGED
@@ -1,11 +1,17 @@
1
- function sendLipscoreReminder(url, periodElementId) {
2
- $periodEl = $(periodElementId);
 
 
 
3
  new Ajax.Request(url, {
4
  method: 'post',
5
- parameters: {period: $periodEl.getValue()},
 
 
 
 
6
  onSuccess: function(response) {
7
  showReminderMessage(response);
8
- $periodEl.setValue('');
9
  },
10
  onFailure: function(response) {
11
  showReminderMessage(response);
1
+ function sendLipscoreReminder(url) {
2
+ $statusEl = $('order_status');
3
+ $fromEl = $('remind_from');
4
+ $toEl = $('remind_to');
5
+
6
  new Ajax.Request(url, {
7
  method: 'post',
8
+ parameters: {
9
+ 'status[]': $statusEl.getValue(),
10
+ from: $fromEl.getValue(),
11
+ to: $toEl.getValue(),
12
+ },
13
  onSuccess: function(response) {
14
  showReminderMessage(response);
 
15
  },
16
  onFailure: function(response) {
17
  showReminderMessage(response);
skin/adminhtml/default/default/lipscore.css CHANGED
@@ -1,2 +1,5 @@
1
- #reminder_period { margin: 0 20px; width: 180px; }
 
 
 
2
  .lipscore-notice-msg { background: url(images/warning_msg_icon.gif) no-repeat; padding: 2px 0 0 20px; }
1
+ .ls-reminder-label { margin-right: 10px; display: inline-block; vertical-align: middle; }
2
+ #ls-reminder img { margin-right: 7px; }
3
+ #ls-reminder-button { margin-left: 8px }
4
+ #order_status {margin-right: 15px; }
5
  .lipscore-notice-msg { background: url(images/warning_msg_icon.gif) no-repeat; padding: 2px 0 0 20px; }