recapture - Version 1.1.5

Version Notes

Updated version to 1.1.5

Download this release

Release Info

Developer David Webber
Extension recapture
Version 1.1.5
Comparing to
See all releases


Code changes from version 1.1.4 to 1.1.5

app/code/local/Recapture/Connector/Helper/Data.php CHANGED
@@ -10,6 +10,12 @@ class Recapture_Connector_Helper_Data extends Mage_Core_Helper_Abstract {
10
 
11
  }
12
 
 
 
 
 
 
 
13
  public function canTrackEmail(){
14
 
15
  return Mage::getStoreConfig('recapture/abandoned_carts/track_email');
10
 
11
  }
12
 
13
+ public function shouldCaptureSubscriber(){
14
+
15
+ return Mage::getStoreConfig('recapture/abandoned_carts/capture_subscriber');
16
+
17
+ }
18
+
19
  public function canTrackEmail(){
20
 
21
  return Mage::getStoreConfig('recapture/abandoned_carts/track_email');
app/code/local/Recapture/Connector/Model/Observer.php CHANGED
@@ -4,13 +4,33 @@ class Recapture_Connector_Model_Observer {
4
 
5
  public function itemUpdate($observer){
6
 
7
- return $this->_updateQuote($observer->getEvent()->getQuoteItem()->getQuote());
 
 
 
 
 
 
 
 
 
 
8
 
9
  }
10
 
11
  public function quoteUpdate($observer){
12
 
13
- return $this->_updateQuote($observer->getEvent()->getQuote());
 
 
 
 
 
 
 
 
 
 
14
 
15
  }
16
 
@@ -135,33 +155,78 @@ class Recapture_Connector_Model_Observer {
135
 
136
  public function quoteDelete($observer){
137
 
138
- if (!Mage::helper('recapture')->isEnabled()) return $this;
139
-
140
- $quote = $observer->getEvent()->getQuote();
141
-
142
- $transportData = array(
143
- 'external_id' => $quote->getId()
144
- );
145
-
146
- Mage::helper('recapture/transport')->dispatch('cart/remove', $transportData);
147
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  return $this;
149
 
150
  }
151
 
152
  public function cartConversion($observer){
153
 
154
- if (!Mage::helper('recapture')->isEnabled()) return $this;
155
 
156
- $order = $observer->getEvent()->getOrder();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
 
158
- $transportData = array(
159
- 'external_id' => $order->getQuoteId()
160
- );
161
 
162
- Mage::helper('recapture/transport')->dispatch('conversion', $transportData);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
 
164
  return $this;
165
 
 
166
  }
 
167
  }
4
 
5
  public function itemUpdate($observer){
6
 
7
+ try {
8
+
9
+ $result = $this->_updateQuote($observer->getEvent()->getQuoteItem()->getQuote());
10
+
11
+ } catch (Exception $e){
12
+
13
+ Mage::log($e, null, 'recapture.log');
14
+
15
+ }
16
+
17
+ return $result;
18
 
19
  }
20
 
21
  public function quoteUpdate($observer){
22
 
23
+ try {
24
+
25
+ $result = $this->_updateQuote($observer->getEvent()->getQuote());
26
+
27
+ } catch (Exception $e){
28
+
29
+ Mage::log($e, null, 'recapture.log');
30
+
31
+ }
32
+
33
+ return $result;
34
 
35
  }
36
 
155
 
156
  public function quoteDelete($observer){
157
 
158
+ try {
 
 
 
 
 
 
 
 
159
 
160
+ if (!Mage::helper('recapture')->isEnabled()) return $this;
161
+
162
+ $quote = $observer->getEvent()->getQuote();
163
+
164
+ $transportData = array(
165
+ 'external_id' => $quote->getId()
166
+ );
167
+
168
+ Mage::helper('recapture/transport')->dispatch('cart/remove', $transportData);
169
+
170
+ } catch (Exception $e){
171
+
172
+ Mage::log($e, null, 'recapture.log');
173
+
174
+ }
175
+
176
  return $this;
177
 
178
  }
179
 
180
  public function cartConversion($observer){
181
 
182
+ try {
183
 
184
+ if (!Mage::helper('recapture')->isEnabled()) return $this;
185
+
186
+ $order = $observer->getEvent()->getOrder();
187
+
188
+ $transportData = array(
189
+ 'external_id' => $order->getQuoteId()
190
+ );
191
+
192
+ Mage::helper('recapture/transport')->dispatch('conversion', $transportData);
193
+
194
+ } catch (Exception $e){
195
+
196
+ Mage::log($e, null, 'recapture.log');
197
+
198
+ }
199
 
200
+ return $this;
 
 
201
 
202
+ }
203
+
204
+ public function newsletterSubscriber($observer){
205
+
206
+ try {
207
+
208
+ if (!Mage::helper('recapture')->isEnabled()) return $this;
209
+ if (!Mage::helper('recapture')->shouldCaptureSubscriber()) return $this;
210
+
211
+ $subscriber = $observer->getEvent()->getSubscriber();
212
+ $email = $subscriber->getSubscriberEmail();
213
+
214
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
215
+ $quote->setCustomerEmail($email);
216
+ $quote->save();
217
+
218
+ //we do this in case the customer didn't have a cart to begin with
219
+ Mage::helper('recapture')->associateCartToMe($quote->getId());
220
+
221
+ } catch (Exception $e){
222
+
223
+ Mage::log($e, null, 'recapture.log');
224
+
225
+ }
226
 
227
  return $this;
228
 
229
+
230
  }
231
+
232
  }
app/code/local/Recapture/Connector/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Recapture_Connector>
5
- <version>1.1.4</version>
6
  </Recapture_Connector>
7
  </modules>
8
 
@@ -57,6 +57,17 @@
57
  </recapture_cart_conversion>
58
  </observers>
59
  </sales_order_place_after>
 
 
 
 
 
 
 
 
 
 
 
60
  </events>
61
 
62
  </global>
2
  <config>
3
  <modules>
4
  <Recapture_Connector>
5
+ <version>1.1.5</version>
6
  </Recapture_Connector>
7
  </modules>
8
 
57
  </recapture_cart_conversion>
58
  </observers>
59
  </sales_order_place_after>
60
+
61
+ <newsletter_subscriber_save_after>
62
+ <observers>
63
+ <recapture_cart_subscriber>
64
+ <type>singleton</type>
65
+ <class>Recapture_Connector_Model_Observer</class>
66
+ <method>newsletterSubscriber</method>
67
+ </recapture_cart_subscriber>
68
+ </observers>
69
+ </newsletter_subscriber_save_after>
70
+
71
  </events>
72
 
73
  </global>
app/code/local/Recapture/Connector/etc/system.xml CHANGED
@@ -80,7 +80,18 @@
80
  <show_in_website>1</show_in_website>
81
  <show_in_store>0</show_in_store>
82
  <source_model>adminhtml/system_config_source_yesno</source_model>
 
83
  </track_email>
 
 
 
 
 
 
 
 
 
 
84
  <return_landing translate="label">
85
  <label>Click Through Landing</label>
86
  <frontend_type>select</frontend_type>
@@ -89,6 +100,7 @@
89
  <show_in_website>1</show_in_website>
90
  <show_in_store>0</show_in_store>
91
  <source_model>recapture/landing</source_model>
 
92
  </return_landing>
93
  </fields>
94
  </abandoned_carts>
80
  <show_in_website>1</show_in_website>
81
  <show_in_store>0</show_in_store>
82
  <source_model>adminhtml/system_config_source_yesno</source_model>
83
+ <comment>When enabled, this will immediately capture typed email addresses anywhere on your site, without requiring the customer to submit any type of form. Useful on checkouts like One Step Checkout.</comment>
84
  </track_email>
85
+ <capture_subscriber translate="label">
86
+ <label>Enable Newsletter Subscription Capturing</label>
87
+ <frontend_type>select</frontend_type>
88
+ <sort_order>10</sort_order>
89
+ <show_in_default>1</show_in_default>
90
+ <show_in_website>1</show_in_website>
91
+ <show_in_store>0</show_in_store>
92
+ <source_model>adminhtml/system_config_source_yesno</source_model>
93
+ <comment>When enabled, this will capture any emails that are subscribed to your newsletter.</comment>
94
+ </capture_subscriber>
95
  <return_landing translate="label">
96
  <label>Click Through Landing</label>
97
  <frontend_type>select</frontend_type>
100
  <show_in_website>1</show_in_website>
101
  <show_in_store>0</show_in_store>
102
  <source_model>recapture/landing</source_model>
103
+ <comment>What page do you want the customer to land on when they click a link in any abandoned cart emails we send?</comment>
104
  </return_landing>
105
  </fields>
106
  </abandoned_carts>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>recapture</name>
4
- <version>1.1.4</version>
5
  <stability>stable</stability>
6
  <license>OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</summary>
10
  <description>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</description>
11
- <notes>Updated version to 1.1.4</notes>
12
  <authors><author><name>David Webber</name><user>Recapture</user><email>hello@recapture.io</email></author></authors>
13
- <date>2015-11-03</date>
14
- <time>15:34:48</time>
15
- <contents><target name="magelocal"><dir name="Recapture"><dir name="Connector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Authenticate.php" hash="3452dbf00cdf4a87199eae62873a5706"/><file name="Key.php" hash="adf516740c9e1a392fd7f81c4fb1927e"/><file name="Status.php" hash="f19858c8bb476b05e7e86cbdce403323"/></dir></dir></dir><file name="Client.php" hash="91f04f33fc71e6bbe006d15a49bb6bb2"/></dir><dir name="controllers"><file name="CartController.php" hash="438f39a0c47b852e4e82c9b0505f3d80"/><file name="IndexController.php" hash="3b1bb4f397617f696ac89e688c4dc1ae"/><dir name="Recaptureadmin"><file name="AuthenticateController.php" hash="f49e6525739325f65da0b30e40d4ef5c"/></dir><file name="RecaptureController.php" hash="987215ca928935afc9d4f9ce4fdf670c"/></dir><dir name="etc"><file name="config.xml" hash="4ce370e463d7ad0444509a49d20a51ce"/><file name="system.xml" hash="d3b674132d8ebddc33eee9d6bb3c3c37"/></dir><dir name="Helper"><file name="Data.php" hash="a6f697a905323475b2b49c08318f596a"/><file name="Transport.php" hash="7bdbdbf7c3cee4841fe7ce42371f5951"/></dir><dir name="Model"><file name="Landing.php" hash="5a9ee53115f4caa835e3e381fd9ba937"/><file name="Observer.php" hash="ebb0d3e134cc115c4849384590b28b1e"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Recapture_Connector.xml" hash="e8fea9dc4237af6b34219c7f52bd02d8"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="recapture.xml" hash="5a91899f12df162c706b17db79fb7f72"/></dir><dir name="template"><dir name="recapture"><file name="client.phtml" hash="50b49c48d393cf2566ab42b561bcf277"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>recapture</name>
4
+ <version>1.1.5</version>
5
  <stability>stable</stability>
6
  <license>OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</summary>
10
  <description>Free analytics dashboard for abandoned carts. Set up automated cart recovery email campaigns in minutes.</description>
11
+ <notes>Updated version to 1.1.5</notes>
12
  <authors><author><name>David Webber</name><user>Recapture</user><email>hello@recapture.io</email></author></authors>
13
+ <date>2015-11-11</date>
14
+ <time>22:35:02</time>
15
+ <contents><target name="magelocal"><dir name="Recapture"><dir name="Connector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Authenticate.php" hash="3452dbf00cdf4a87199eae62873a5706"/><file name="Key.php" hash="adf516740c9e1a392fd7f81c4fb1927e"/><file name="Status.php" hash="f19858c8bb476b05e7e86cbdce403323"/></dir></dir></dir><file name="Client.php" hash="91f04f33fc71e6bbe006d15a49bb6bb2"/></dir><dir name="controllers"><file name="CartController.php" hash="438f39a0c47b852e4e82c9b0505f3d80"/><file name="IndexController.php" hash="3b1bb4f397617f696ac89e688c4dc1ae"/><dir name="Recaptureadmin"><file name="AuthenticateController.php" hash="f49e6525739325f65da0b30e40d4ef5c"/></dir><file name="RecaptureController.php" hash="987215ca928935afc9d4f9ce4fdf670c"/></dir><dir name="etc"><file name="config.xml" hash="5ea7271aa23351246b5a0ac8a8fdf437"/><file name="system.xml" hash="f52ac61123fb7f1508912ffa376ef2e2"/></dir><dir name="Helper"><file name="Data.php" hash="3779ea73875887b10e8ceee0782c8648"/><file name="Transport.php" hash="7bdbdbf7c3cee4841fe7ce42371f5951"/></dir><dir name="Model"><file name="Landing.php" hash="5a9ee53115f4caa835e3e381fd9ba937"/><file name="Observer.php" hash="8005ed3e9c499bdc24cbc889f38ca330"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Recapture_Connector.xml" hash="e8fea9dc4237af6b34219c7f52bd02d8"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="recapture.xml" hash="5a91899f12df162c706b17db79fb7f72"/></dir><dir name="template"><dir name="recapture"><file name="client.phtml" hash="50b49c48d393cf2566ab42b561bcf277"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>