Pure360 - Version 1.0.2

Version Notes

1.0.2
- Dropdown values synced properly
- Boolean Yes/No synced
- Data consistency
- UI tweaks

1.0.1
- Magento Connect compliance

Download this release

Release Info

Developer Stewart Waller
Extension Pure360
Version 1.0.2
Comparing to
See all releases


Code changes from version 1.0.1 to 1.0.2

Files changed (144) hide show
  1. app/code/community/Pure360/Cart/Block/Adminhtml/System/Config/About.php +0 -2
  2. app/code/community/Pure360/Cart/Block/Email/Order/Items.php +29 -31
  3. app/code/community/Pure360/Cart/Block/Jsinit.php +0 -2
  4. app/code/community/Pure360/Cart/Helper/Data.php +0 -2
  5. app/code/community/Pure360/Cart/Job/Trigger.php +0 -2
  6. app/code/community/Pure360/Cart/Model/System/Config/Backend/Enable.php +0 -2
  7. app/code/community/Pure360/Cart/Model/System/Config/Source/Delay.php +36 -38
  8. app/code/community/Pure360/Cart/Model/System/Config/Source/Email/Template.php +52 -54
  9. app/code/community/Pure360/Cart/Model/System/Config/Source/Email/TemplateGuest.php +52 -54
  10. app/code/community/Pure360/Cart/Model/System/Config/Source/Type.php +37 -39
  11. app/code/community/Pure360/Cart/controllers/AjaxController.php +0 -2
  12. app/code/community/Pure360/Cart/etc/config.xml +6 -6
  13. app/code/community/Pure360/Cart/sql/pure360_cart_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} +0 -0
  14. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/About.php +0 -2
  15. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Disabled.php +0 -2
  16. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form.php +0 -2
  17. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form/Field.php +0 -2
  18. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form/Field/Hidden.php +0 -2
  19. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form/Fieldset.php +0 -2
  20. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Hidden.php +0 -2
  21. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Modules.php +0 -2
  22. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Tabs.php +0 -2
  23. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Validate/Marketing.php +0 -2
  24. app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Validate/Transactional.php +0 -2
  25. app/code/community/Pure360/Common/Block/Jsinit.php +0 -2
  26. app/code/community/Pure360/Common/Helper/Ajax.php +0 -2
  27. app/code/community/Pure360/Common/Helper/Api.php +0 -2
  28. app/code/community/Pure360/Common/Helper/Data.php +3 -5
  29. app/code/community/Pure360/Common/Helper/File.php +0 -2
  30. app/code/community/Pure360/Common/Interface/Job.php +0 -2
  31. app/code/community/Pure360/Common/Model/Observer.php +0 -2
  32. app/code/community/Pure360/Common/Model/System/Config/Backend/Enable.php +0 -2
  33. app/code/community/Pure360/Common/Model/System/Config/Source/Cron/Days.php +0 -2
  34. app/code/community/Pure360/Common/Model/System/Config/Source/Cron/Frequency.php +0 -2
  35. app/code/community/Pure360/Common/Model/System/Config/Source/Cron/Minutes.php +0 -2
  36. app/code/community/Pure360/Common/Model/System/Config/Source/Field.php +0 -2
  37. app/code/community/Pure360/Common/Model/System/Config/Source/Global.php +0 -2
  38. app/code/community/Pure360/Common/Model/System/Config/Source/Message.php +0 -2
  39. app/code/community/Pure360/Common/controllers/AjaxController.php +0 -2
  40. app/code/community/Pure360/Common/controllers/JobController.php +0 -2
  41. app/code/community/Pure360/Common/controllers/Pure360Controller.php +4 -9
  42. app/code/community/Pure360/Common/etc/config.xml +12 -1
  43. app/code/community/Pure360/Cron/Block/Adminhtml/System/Config/About.php +13 -14
  44. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager.php +0 -2
  45. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid.php +0 -2
  46. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Actions.php +0 -2
  47. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Crontab.php +0 -2
  48. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Force.php +6 -8
  49. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Pause.php +13 -16
  50. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs.php +0 -2
  51. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Bytes.php +0 -2
  52. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Clean.php +0 -2
  53. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Download.php +0 -2
  54. app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Tail.php +0 -2
  55. app/code/community/Pure360/Cron/Block/Jsinit.php +0 -2
  56. app/code/community/Pure360/Cron/Helper/Data.php +0 -2
  57. app/code/community/Pure360/Cron/Job/Abstract.php +1 -2
  58. app/code/community/Pure360/Cron/Job/Interface.php +3 -4
  59. app/code/community/Pure360/Cron/Model/Job.php +7 -8
  60. app/code/community/Pure360/Cron/Model/Observer.php +101 -85
  61. app/code/community/Pure360/Cron/Model/Resource/Job.php +0 -9
  62. app/code/community/Pure360/Cron/Model/Resource/Job/Collection.php +3 -5
  63. app/code/community/Pure360/Cron/controllers/AjaxController.php +0 -2
  64. app/code/community/Pure360/Cron/etc/config.xml +6 -6
  65. app/code/community/Pure360/Cron/sql/pure360_cron_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} +0 -0
  66. app/code/community/Pure360/Email/Block/Adminhtml/System/Config/About.php +0 -2
  67. app/code/community/Pure360/Email/Block/Adminhtml/System/Config/Transactional.php +0 -2
  68. app/code/community/Pure360/Email/Block/Jsinit.php +0 -2
  69. app/code/community/Pure360/Email/Helper/Api.php +0 -2
  70. app/code/community/Pure360/Email/Helper/Data.php +0 -2
  71. app/code/community/Pure360/Email/Model/Email/Message.php +0 -2
  72. app/code/community/Pure360/Email/Model/Messages.php +0 -2
  73. app/code/community/Pure360/Email/Model/Resource/Transactional.php +0 -2
  74. app/code/community/Pure360/Email/Model/Resource/Transactional/Collection.php +0 -2
  75. app/code/community/Pure360/Email/Model/System/Config/Source/Email/Template.php +0 -2
  76. app/code/community/Pure360/Email/Model/Transactional.php +0 -2
  77. app/code/community/Pure360/Email/controllers/AjaxController.php +0 -2
  78. app/code/community/Pure360/Email/etc/config.xml +6 -6
  79. app/code/community/Pure360/Email/sql/pure360_email_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} +0 -0
  80. app/code/community/Pure360/List/Block/Adminhtml/System/Config/About.php +0 -2
  81. app/code/community/Pure360/List/Block/Adminhtml/System/Config/Form.php +0 -2
  82. app/code/community/Pure360/List/Block/Adminhtml/System/Config/List.php +0 -2
  83. app/code/community/Pure360/List/Block/Jsinit.php +0 -2
  84. app/code/community/Pure360/List/Helper/Api.php +0 -2
  85. app/code/community/Pure360/List/Helper/Data.php +78 -2
  86. app/code/community/Pure360/List/Job/Sync.php +128 -93
  87. app/code/community/Pure360/List/Model/Address.php +0 -2
  88. app/code/community/Pure360/List/Model/Customer.php +0 -2
  89. app/code/community/Pure360/List/Model/Data.php +0 -2
  90. app/code/community/Pure360/List/Model/Groups.php +0 -2
  91. app/code/community/Pure360/List/Model/List.php +0 -2
  92. app/code/community/Pure360/List/Model/Observer.php +0 -2
  93. app/code/community/Pure360/List/Model/Resource/List.php +0 -2
  94. app/code/community/Pure360/List/Model/Resource/List/Collection.php +0 -2
  95. app/code/community/Pure360/List/Model/Sales.php +0 -2
  96. app/code/community/Pure360/List/Model/Segments.php +0 -2
  97. app/code/community/Pure360/List/controllers/AjaxController.php +0 -2
  98. app/code/community/Pure360/List/etc/config.xml +6 -6
  99. app/code/community/Pure360/List/sql/pure360_list_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} +0 -0
  100. app/code/community/Pure360/Newsletter/Block/Adminhtml/System/Config/About.php +0 -2
  101. app/code/community/Pure360/Newsletter/Block/Checkout/Onepage/Newsletter.php +1 -4
  102. app/code/community/Pure360/Newsletter/Block/Jsinit.php +0 -2
  103. app/code/community/Pure360/Newsletter/Helper/Api.php +0 -2
  104. app/code/community/Pure360/Newsletter/Helper/Data.php +0 -2
  105. app/code/community/Pure360/Newsletter/Model/Observer.php +0 -2
  106. app/code/community/Pure360/Newsletter/Model/Subscriber.php +0 -2
  107. app/code/community/Pure360/Newsletter/controllers/IndexController.php +0 -2
  108. app/code/community/Pure360/Newsletter/etc/config.xml +6 -6
  109. app/code/community/Pure360/Newsletter/sql/pure360_newsletter_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} +0 -0
  110. app/design/adminhtml/default/default/template/pure360/common/about.phtml +1 -0
  111. app/design/frontend/base/default/layout/pure360/cart.xml +1 -1
  112. app/design/frontend/base/default/layout/pure360/newsletter.xml +1 -1
  113. app/design/frontend/base/default/template/pure360/newsletter/jsinit.phtml +20 -19
  114. js/mage/adminhtml/pure360/cron.js +1 -0
  115. lib/Pure360/Package.php +0 -2
  116. lib/Pure360/Package/Account.php +0 -1
  117. lib/Pure360/Package/Account/Identity.php +0 -1
  118. lib/Pure360/Package/Account/Login.php +0 -1
  119. lib/Pure360/Package/Account/Pool.php +0 -1
  120. lib/Pure360/Package/Campaign.php +0 -1
  121. lib/Pure360/Package/Campaign/Automation.php +0 -1
  122. lib/Pure360/Package/Campaign/AutomationByDate.php +0 -1
  123. lib/Pure360/Package/Campaign/AutomationBySignup.php +0 -1
  124. lib/Pure360/Package/Campaign/ContentItem.php +0 -1
  125. lib/Pure360/Package/Campaign/Delivery.php +0 -1
  126. lib/Pure360/Package/Campaign/DynamicRegion.php +0 -1
  127. lib/Pure360/Package/Campaign/Email.php +0 -1
  128. lib/Pure360/Package/Campaign/Filter.php +0 -1
  129. lib/Pure360/Package/Campaign/GroupDelivery.php +0 -1
  130. lib/Pure360/Package/Campaign/MarketingList.php +0 -1
  131. lib/Pure360/Package/Campaign/Message.php +0 -1
  132. lib/Pure360/Package/Campaign/One2One.php +0 -1
  133. lib/Pure360/Package/Campaign/Person.php +0 -1
  134. lib/Pure360/Package/Campaign/Sms.php +0 -1
  135. lib/Pure360/Package/Context.php +0 -1
  136. lib/Pure360/Package/Context/Context.php +0 -1
  137. lib/Pure360/Package/Context/Preference.php +0 -1
  138. lib/Pure360/Package/Data.php +0 -1
  139. lib/Pure360/Package/Data/Meta.php +0 -1
  140. lib/Pure360/Package/Data/Scheduler.php +0 -1
  141. lib/Pure360/Package/Other.php +0 -1
  142. lib/Pure360/Package/Other/EventNotification.php +0 -1
  143. lib/Pure360/Package/Other/File.php +0 -1
  144. package.xml +13 -6
app/code/community/Pure360/Cart/Block/Adminhtml/System/Config/About.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cart_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
10
  {
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cart_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
8
  {
app/code/community/Pure360/Cart/Block/Email/Order/Items.php CHANGED
@@ -1,32 +1,30 @@
1
- <?php
2
-
3
- /**
4
- * @package Pure360\Cart
5
- * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
- */
9
- class Pure360_Cart_Block_Email_Order_Items extends Mage_Sales_Block_Items_Abstract
10
- {
11
-
12
- public function _construct()
13
- {
14
- $this->setTemplate('pure360_cart/email_order_items.phtml');
15
- }
16
-
17
- public function getTax($_item)
18
- {
19
- if(Mage::helper('tax')->displayCartPriceInclTax())
20
- {
21
- $subtotal = Mage::helper('tax')->__('Incl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total_incl_tax']);
22
- } elseif(Mage::helper('tax')->displayCartBothPrices())
23
- {
24
- $subtotal = Mage::helper('tax')->__('Excl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total']) . '<br>' . Mage::helper('tax')->__('Incl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total_incl_tax']);
25
- } else
26
- {
27
- $subtotal = Mage::helper('tax')->__('Excl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total']);
28
- }
29
- return $subtotal;
30
- }
31
-
32
  }
1
+ <?php
2
+
3
+ /**
4
+ * @package Pure360\Cart
5
+ * @copyright 2013 Pure360.com
6
+ */
7
+ class Pure360_Cart_Block_Email_Order_Items extends Mage_Sales_Block_Items_Abstract
8
+ {
9
+
10
+ public function _construct()
11
+ {
12
+ $this->setTemplate('pure360_cart/email_order_items.phtml');
13
+ }
14
+
15
+ public function getTax($_item)
16
+ {
17
+ if(Mage::helper('tax')->displayCartPriceInclTax())
18
+ {
19
+ $subtotal = Mage::helper('tax')->__('Incl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total_incl_tax']);
20
+ } elseif(Mage::helper('tax')->displayCartBothPrices())
21
+ {
22
+ $subtotal = Mage::helper('tax')->__('Excl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total']) . '<br>' . Mage::helper('tax')->__('Incl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total_incl_tax']);
23
+ } else
24
+ {
25
+ $subtotal = Mage::helper('tax')->__('Excl. Tax') . ' : ' . Mage::helper('checkout')->formatPrice($_item['row_total']);
26
+ }
27
+ return $subtotal;
28
+ }
29
+
 
 
30
  }
app/code/community/Pure360/Cart/Block/Jsinit.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cart_Block_Jsinit extends Mage_Adminhtml_Block_Template
10
  {
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cart_Block_Jsinit extends Mage_Adminhtml_Block_Template
8
  {
app/code/community/Pure360/Cart/Helper/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cart_Helper_Data extends Pure360_Common_Helper_Data
10
  {
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cart_Helper_Data extends Pure360_Common_Helper_Data
8
  {
app/code/community/Pure360/Cart/Job/Trigger.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
10
  {
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
8
  {
app/code/community/Pure360/Cart/Model/System/Config/Backend/Enable.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cart_Model_System_Config_Backend_Enable extends Mage_Core_Model_Config_Data
10
  {
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cart_Model_System_Config_Backend_Enable extends Mage_Core_Model_Config_Data
8
  {
app/code/community/Pure360/Cart/Model/System/Config/Source/Delay.php CHANGED
@@ -1,38 +1,36 @@
1
- <?php
2
-
3
- /**
4
- * @package Pure360\Cart
5
- * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
- */
9
- class Pure360_Cart_Model_System_Config_Source_Delay extends Varien_Object
10
- {
11
- /**
12
- * Generate list of email templates
13
- *
14
- * @return array
15
- */
16
- public function toOptionArray()
17
- {
18
- $options = array(
19
- array(
20
- 'value'=> '',
21
- 'label' => '--Select--'
22
- ), array(
23
- 'value'=> 'days',
24
- 'label' => 'Days'
25
- ), array(
26
- 'value'=> 'hours',
27
- 'label' => 'Hours'
28
- ),
29
- array(
30
- 'value'=> 'minutes',
31
- 'label' => 'Minutes'
32
- )
33
- );
34
-
35
- return $options;
36
- }
37
-
38
- }
1
+ <?php
2
+
3
+ /**
4
+ * @package Pure360\Cart
5
+ * @copyright 2013 Pure360.com
6
+ */
7
+ class Pure360_Cart_Model_System_Config_Source_Delay extends Varien_Object
8
+ {
9
+ /**
10
+ * Generate list of email templates
11
+ *
12
+ * @return array
13
+ */
14
+ public function toOptionArray()
15
+ {
16
+ $options = array(
17
+ array(
18
+ 'value'=> '',
19
+ 'label' => '--Select--'
20
+ ), array(
21
+ 'value'=> 'days',
22
+ 'label' => 'Days'
23
+ ), array(
24
+ 'value'=> 'hours',
25
+ 'label' => 'Hours'
26
+ ),
27
+ array(
28
+ 'value'=> 'minutes',
29
+ 'label' => 'Minutes'
30
+ )
31
+ );
32
+
33
+ return $options;
34
+ }
35
+
36
+ }
 
 
app/code/community/Pure360/Cart/Model/System/Config/Source/Email/Template.php CHANGED
@@ -1,54 +1,52 @@
1
- <?php
2
-
3
- /**
4
- * @package Pure360\Cart
5
- * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
- */
9
- class Pure360_Cart_Model_System_Config_Source_Email_Template extends Varien_Object
10
- {
11
- /**
12
- * Config xpath to email template node
13
- *
14
- */
15
- const XML_PATH_TEMPLATE_EMAIL = 'global/template/email/';
16
-
17
- /**
18
- * Generate list of email templates
19
- *
20
- * @return array
21
- */
22
- public function toOptionArray()
23
- {
24
- if(!$collection = Mage::registry('config_system_email_template')) {
25
- $collection = Mage::getResourceModel('core/email_template_collection')
26
- ->load();
27
-
28
- Mage::register('config_system_email_template', $collection);
29
- }
30
-
31
- $options = $collection->toOptionArray();
32
- $templateName = Mage::helper('adminhtml')->__('Default Template from Locale');
33
-
34
- $nodeName = 'pure360_cart_general_template';
35
-
36
- $templateLabelNode = Mage::app()->getConfig()->getNode(self::XML_PATH_TEMPLATE_EMAIL . $nodeName . '/label');
37
-
38
- if ($templateLabelNode) {
39
- $templateName = Mage::helper('adminhtml')->__((string)$templateLabelNode);
40
- $templateName = Mage::helper('adminhtml')->__('%s (Default Template from Locale)', $templateName);
41
- }
42
-
43
- array_unshift(
44
- $options,
45
- array(
46
- 'value'=> $nodeName,
47
- 'label' => $templateName
48
- )
49
- );
50
-
51
- return $options;
52
- }
53
-
54
- }
1
+ <?php
2
+
3
+ /**
4
+ * @package Pure360\Cart
5
+ * @copyright 2013 Pure360.com
6
+ */
7
+ class Pure360_Cart_Model_System_Config_Source_Email_Template extends Varien_Object
8
+ {
9
+ /**
10
+ * Config xpath to email template node
11
+ *
12
+ */
13
+ const XML_PATH_TEMPLATE_EMAIL = 'global/template/email/';
14
+
15
+ /**
16
+ * Generate list of email templates
17
+ *
18
+ * @return array
19
+ */
20
+ public function toOptionArray()
21
+ {
22
+ if(!$collection = Mage::registry('config_system_email_template')) {
23
+ $collection = Mage::getResourceModel('core/email_template_collection')
24
+ ->load();
25
+
26
+ Mage::register('config_system_email_template', $collection);
27
+ }
28
+
29
+ $options = $collection->toOptionArray();
30
+ $templateName = Mage::helper('adminhtml')->__('Default Template from Locale');
31
+
32
+ $nodeName = 'pure360_cart_general_template';
33
+
34
+ $templateLabelNode = Mage::app()->getConfig()->getNode(self::XML_PATH_TEMPLATE_EMAIL . $nodeName . '/label');
35
+
36
+ if ($templateLabelNode) {
37
+ $templateName = Mage::helper('adminhtml')->__((string)$templateLabelNode);
38
+ $templateName = Mage::helper('adminhtml')->__('%s (Default Template from Locale)', $templateName);
39
+ }
40
+
41
+ array_unshift(
42
+ $options,
43
+ array(
44
+ 'value'=> $nodeName,
45
+ 'label' => $templateName
46
+ )
47
+ );
48
+
49
+ return $options;
50
+ }
51
+
52
+ }
 
 
app/code/community/Pure360/Cart/Model/System/Config/Source/Email/TemplateGuest.php CHANGED
@@ -1,54 +1,52 @@
1
- <?php
2
-
3
- /**
4
- * @package Pure360\Cart
5
- * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
- */
9
- class Pure360_Cart_Model_System_Config_Source_Email_TemplateGuest extends Varien_Object
10
- {
11
- /**
12
- * Config xpath to email template node
13
- *
14
- */
15
- const XML_PATH_TEMPLATE_EMAIL = 'global/template/email/';
16
-
17
- /**
18
- * Generate list of email templates
19
- *
20
- * @return array
21
- */
22
- public function toOptionArray()
23
- {
24
- if(!$collection = Mage::registry('config_system_email_template')) {
25
- $collection = Mage::getResourceModel('core/email_template_collection')
26
- ->load();
27
-
28
- Mage::register('config_system_email_template', $collection);
29
- }
30
-
31
- $options = $collection->toOptionArray();
32
- $templateName = Mage::helper('adminhtml')->__('Default Template from Locale');
33
-
34
- $nodeName = 'pure360_cart_guest_template';
35
-
36
- $templateLabelNode = Mage::app()->getConfig()->getNode(self::XML_PATH_TEMPLATE_EMAIL . $nodeName . '/label');
37
-
38
- if ($templateLabelNode) {
39
- $templateName = Mage::helper('adminhtml')->__((string)$templateLabelNode);
40
- $templateName = Mage::helper('adminhtml')->__('%s (Default Template from Locale)', $templateName);
41
- }
42
-
43
- array_unshift(
44
- $options,
45
- array(
46
- 'value'=> $nodeName,
47
- 'label' => $templateName
48
- )
49
- );
50
-
51
- return $options;
52
- }
53
-
54
- }
1
+ <?php
2
+
3
+ /**
4
+ * @package Pure360\Cart
5
+ * @copyright 2013 Pure360.com
6
+ */
7
+ class Pure360_Cart_Model_System_Config_Source_Email_TemplateGuest extends Varien_Object
8
+ {
9
+ /**
10
+ * Config xpath to email template node
11
+ *
12
+ */
13
+ const XML_PATH_TEMPLATE_EMAIL = 'global/template/email/';
14
+
15
+ /**
16
+ * Generate list of email templates
17
+ *
18
+ * @return array
19
+ */
20
+ public function toOptionArray()
21
+ {
22
+ if(!$collection = Mage::registry('config_system_email_template')) {
23
+ $collection = Mage::getResourceModel('core/email_template_collection')
24
+ ->load();
25
+
26
+ Mage::register('config_system_email_template', $collection);
27
+ }
28
+
29
+ $options = $collection->toOptionArray();
30
+ $templateName = Mage::helper('adminhtml')->__('Default Template from Locale');
31
+
32
+ $nodeName = 'pure360_cart_guest_template';
33
+
34
+ $templateLabelNode = Mage::app()->getConfig()->getNode(self::XML_PATH_TEMPLATE_EMAIL . $nodeName . '/label');
35
+
36
+ if ($templateLabelNode) {
37
+ $templateName = Mage::helper('adminhtml')->__((string)$templateLabelNode);
38
+ $templateName = Mage::helper('adminhtml')->__('%s (Default Template from Locale)', $templateName);
39
+ }
40
+
41
+ array_unshift(
42
+ $options,
43
+ array(
44
+ 'value'=> $nodeName,
45
+ 'label' => $templateName
46
+ )
47
+ );
48
+
49
+ return $options;
50
+ }
51
+
52
+ }
 
 
app/code/community/Pure360/Cart/Model/System/Config/Source/Type.php CHANGED
@@ -1,39 +1,37 @@
1
- <?php
2
-
3
- /**
4
- * @package Pure360\Cart
5
- * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
- */
9
- class Pure360_Cart_Model_System_Config_Source_Type extends Varien_Object
10
- {
11
-
12
- /**
13
- * Generate list of email templates
14
- *
15
- * @return array
16
- */
17
- public function toOptionArray()
18
- {
19
- $options = array(
20
- array(
21
- 'value' => '',
22
- 'label' => '--Select--'
23
- ), array(
24
- 'value' => '1',
25
- 'label' => 'Events Only'
26
- ),
27
- array(
28
- 'value' => '2',
29
- 'label' => 'Reminder Email'
30
- ),array(
31
- 'value' => '3',
32
- 'label' => 'Clear Cart'
33
- )
34
- );
35
-
36
- return $options;
37
- }
38
-
39
- }
1
+ <?php
2
+
3
+ /**
4
+ * @package Pure360\Cart
5
+ * @copyright 2013 Pure360.com
6
+ */
7
+ class Pure360_Cart_Model_System_Config_Source_Type extends Varien_Object
8
+ {
9
+
10
+ /**
11
+ * Generate list of email templates
12
+ *
13
+ * @return array
14
+ */
15
+ public function toOptionArray()
16
+ {
17
+ $options = array(
18
+ array(
19
+ 'value' => '',
20
+ 'label' => '--Select--'
21
+ ), array(
22
+ 'value' => '1',
23
+ 'label' => 'Events Only'
24
+ ),
25
+ array(
26
+ 'value' => '2',
27
+ 'label' => 'Reminder Email'
28
+ ),array(
29
+ 'value' => '3',
30
+ 'label' => 'Clear Cart'
31
+ )
32
+ );
33
+
34
+ return $options;
35
+ }
36
+
37
+ }
 
 
app/code/community/Pure360/Cart/controllers/AjaxController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cart_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
3
  /**
4
  * @package Pure360\Cart
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cart_AjaxController extends Mage_Adminhtml_Controller_Action
8
  {
app/code/community/Pure360/Cart/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Pure360_Cart>
5
- <version>1.0.1</version>
6
  </Pure360_Cart>
7
  </modules>
8
  <global>
@@ -108,13 +108,13 @@
108
  </adminhtml>
109
  <admin>
110
  <routers>
111
- <adminhtml>
 
112
  <args>
113
- <modules>
114
- <pure360_cart before="Mage_Adminhtml">Pure360_Cart_Adminhtml</pure360_cart>
115
- </modules>
116
  </args>
117
- </adminhtml>
118
  </routers>
119
  </admin>
120
  <default>
2
  <config>
3
  <modules>
4
  <Pure360_Cart>
5
+ <version>1.0.2</version>
6
  </Pure360_Cart>
7
  </modules>
8
  <global>
108
  </adminhtml>
109
  <admin>
110
  <routers>
111
+ <pure360_cart>
112
+ <use>admin</use>
113
  <args>
114
+ <module>Pure360_Cart</module>
115
+ <frontName>pure360_cart</frontName>
 
116
  </args>
117
+ </pure360_cart>
118
  </routers>
119
  </admin>
120
  <default>
app/code/community/Pure360/Cart/sql/pure360_cart_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} RENAMED
File without changes
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/About.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_About extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_About extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Disabled.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Disabled extends Pure360_Common_Block_Adminhtml_System_Config_About
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Disabled extends Pure360_Common_Block_Adminhtml_System_Config_About
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Form extends Mage_Adminhtml_Block_System_Config_Form
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Form extends Mage_Adminhtml_Block_System_Config_Form
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form/Field.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Form_Field extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Form_Field extends Mage_Adminhtml_Block_System_Config_Form_Field
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form/Field/Hidden.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Form_Field_Hidden extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Form_Field_Hidden extends Mage_Adminhtml_Block_System_Config_Form_Field
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Form/Fieldset.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Form_Fieldset extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Form_Fieldset extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Hidden.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Hidden extends Pure360_Common_Block_Adminhtml_System_Config_About
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Hidden extends Pure360_Common_Block_Adminhtml_System_Config_About
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Modules.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Modules extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Modules extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Tabs.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Tabs extends Mage_Adminhtml_Block_System_Config_Tabs
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Tabs extends Mage_Adminhtml_Block_System_Config_Tabs
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Validate/Marketing.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Validate_Marketing extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Validate_Marketing extends Mage_Adminhtml_Block_System_Config_Form_Field
8
  {
app/code/community/Pure360/Common/Block/Adminhtml/System/Config/Validate/Transactional.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Adminhtml_System_Config_Validate_Transactional extends Mage_Adminhtml_Block_System_Config_Form_Field
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Adminhtml_System_Config_Validate_Transactional extends Mage_Adminhtml_Block_System_Config_Form_Field
8
  {
app/code/community/Pure360/Common/Block/Jsinit.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Block_Jsinit extends Mage_Adminhtml_Block_Template
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Block_Jsinit extends Mage_Adminhtml_Block_Template
8
  {
app/code/community/Pure360/Common/Helper/Ajax.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Helper_Ajax extends Mage_Core_Helper_Abstract
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Helper_Ajax extends Mage_Core_Helper_Abstract
8
  {
app/code/community/Pure360/Common/Helper/Api.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Helper_Api extends Mage_Core_Helper_Abstract
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Helper_Api extends Mage_Core_Helper_Abstract
8
  {
app/code/community/Pure360/Common/Helper/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Helper_Data extends Mage_Core_Helper_Abstract
10
  {
@@ -22,7 +20,7 @@ class Pure360_Common_Helper_Data extends Mage_Core_Helper_Abstract
22
  */
23
  protected function getModuleName()
24
  {
25
- return 'pure360';
26
  }
27
 
28
  /**
@@ -33,9 +31,9 @@ class Pure360_Common_Helper_Data extends Mage_Core_Helper_Abstract
33
  {
34
  $modules = (array) Mage::getConfig()->getNode('modules')->children();
35
 
36
- if ($moduleName === null)
37
  {
38
- $moduleName = $this->getModuleName();
39
  }
40
 
41
  return isset($modules[$moduleName]) ? (string) $modules[$moduleName]->version : null;
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Helper_Data extends Mage_Core_Helper_Abstract
8
  {
20
  */
21
  protected function getModuleName()
22
  {
23
+ return 'pure360_common';
24
  }
25
 
26
  /**
31
  {
32
  $modules = (array) Mage::getConfig()->getNode('modules')->children();
33
 
34
+ if (is_null($moduleName))
35
  {
36
+ $moduleName = str_replace(" ", "_", ucwords(str_replace("_", " ", $this->getModuleName())));
37
  }
38
 
39
  return isset($modules[$moduleName]) ? (string) $modules[$moduleName]->version : null;
app/code/community/Pure360/Common/Helper/File.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Helper_File extends Mage_Core_Helper_Abstract
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Helper_File extends Mage_Core_Helper_Abstract
8
  {
app/code/community/Pure360/Common/Interface/Job.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  interface Pure360_Common_Interface_Job
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  interface Pure360_Common_Interface_Job
8
  {
app/code/community/Pure360/Common/Model/Observer.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_Observer
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_Observer
8
  {
app/code/community/Pure360/Common/Model/System/Config/Backend/Enable.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Backend_Enable extends Mage_Core_Model_Config_Data
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Backend_Enable extends Mage_Core_Model_Config_Data
8
  {
app/code/community/Pure360/Common/Model/System/Config/Source/Cron/Days.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Source_Cron_Days
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Source_Cron_Days
8
  {
app/code/community/Pure360/Common/Model/System/Config/Source/Cron/Frequency.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Source_Cron_Frequency
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Source_Cron_Frequency
8
  {
app/code/community/Pure360/Common/Model/System/Config/Source/Cron/Minutes.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Source_Cron_Minutes
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Source_Cron_Minutes
8
  {
app/code/community/Pure360/Common/Model/System/Config/Source/Field.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Source_Field
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Source_Field
8
  {
app/code/community/Pure360/Common/Model/System/Config/Source/Global.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Source_Global
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Source_Global
8
  {
app/code/community/Pure360/Common/Model/System/Config/Source/Message.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Model_System_Config_Source_Message
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Model_System_Config_Source_Message
8
  {
app/code/community/Pure360/Common/controllers/AjaxController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_AjaxController extends Mage_Adminhtml_Controller_Action
8
  {
app/code/community/Pure360/Common/controllers/JobController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Sync_Controllers_JobController extends Mage_Adminhtml_Controller_Action
10
  {
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Sync_Controllers_JobController extends Mage_Adminhtml_Controller_Action
8
  {
app/code/community/Pure360/Common/controllers/Pure360Controller.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Common_Pure360Controller extends Mage_Adminhtml_Controller_Action
10
  {
@@ -17,14 +15,11 @@ class Pure360_Common_Pure360Controller extends Mage_Adminhtml_Controller_Action
17
  $username = Mage::app()->getRequest()->getParam('username');
18
  $password = Mage::app()->getRequest()->getParam('password');
19
  $url = Mage::app()->getRequest()->getParam('url');
20
-
21
-
22
-
23
- $block = $this->getLayout()->createBlock(
24
- 'pure360_common/adminhtml_system_config_error',
25
- 'system.config.error');
26
 
27
- echo $block->toHtml();
 
 
 
28
  exit;
29
  }
30
 
3
  /**
4
  * @package Pure360\Common
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Common_Pure360Controller extends Mage_Adminhtml_Controller_Action
8
  {
15
  $username = Mage::app()->getRequest()->getParam('username');
16
  $password = Mage::app()->getRequest()->getParam('password');
17
  $url = Mage::app()->getRequest()->getParam('url');
 
 
 
 
 
 
18
 
19
+ $block = $this->getLayout()->createBlock(
20
+ 'pure360_common/adminhtml_system_config_error', 'system.config.error');
21
+
22
+ echo $block->toHtml();
23
  exit;
24
  }
25
 
app/code/community/Pure360/Common/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Pure360_Common>
5
- <version>1.0.1</version>
6
  </Pure360_Common>
7
  </modules>
8
  <global>
@@ -96,6 +96,17 @@
96
  </updates>
97
  </layout>
98
  </adminhtml>
 
 
 
 
 
 
 
 
 
 
 
99
  <default>
100
  <pure360>
101
  <default_settings>
2
  <config>
3
  <modules>
4
  <Pure360_Common>
5
+ <version>1.0.2</version>
6
  </Pure360_Common>
7
  </modules>
8
  <global>
96
  </updates>
97
  </layout>
98
  </adminhtml>
99
+ <admin>
100
+ <routers>
101
+ <pure360_common>
102
+ <use>admin</use>
103
+ <args>
104
+ <module>Pure360_Common</module>
105
+ <frontName>pure360</frontName>
106
+ </args>
107
+ </pure360_common>
108
+ </routers>
109
+ </admin>
110
  <default>
111
  <pure360>
112
  <default_settings>
app/code/community/Pure360/Cron/Block/Adminhtml/System/Config/About.php CHANGED
@@ -3,23 +3,22 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
10
  {
11
 
12
- /**
13
- * Description for protected
14
- * @var string
15
- * @access protected
16
- */
17
- protected $_module = 'pure360_cron';
 
 
 
 
 
 
 
18
 
19
- /**
20
- * Description for protected
21
- * @var string
22
- * @access protected
23
- */
24
- protected $_name = 'Pure360 Cron Manager';
25
  }
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
8
  {
9
 
10
+ /**
11
+ * Description for protected
12
+ * @var string
13
+ * @access protected
14
+ */
15
+ protected $_module = 'pure360_cron';
16
+
17
+ /**
18
+ * Description for protected
19
+ * @var string
20
+ * @access protected
21
+ */
22
+ protected $_name = 'Pure360 Cron Manager';
23
 
 
 
 
 
 
 
24
  }
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid extends Mage_Adminhtml_Block_Widget_Grid
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid extends Mage_Adminhtml_Block_Widget_Grid
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Actions.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Actions extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Actions extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Crontab.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Crontab
10
  extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Input
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Crontab
8
  extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Input
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Force.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Force extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
@@ -16,18 +14,18 @@ class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Force exten
16
  public function render(Varien_Object $row)
17
  {
18
  $html = $this->getForceButtonHtml($row);
19
-
20
  return $html;
21
  }
22
 
23
  protected function getForceButtonHtml($row)
24
  {
25
  return $this->getLayout()->createBlock('adminhtml/widget_button')
26
- ->setType('button')
27
- ->setClass('add')
28
- ->setLabel(Mage::helper('adminhtml')->__('Force'))
29
- ->setOnClick("pure360Cron.forceJob('" . $row->getJobId() . "')")
30
- ->toHtml();
31
  }
32
 
33
  }
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Force extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
14
  public function render(Varien_Object $row)
15
  {
16
  $html = $this->getForceButtonHtml($row);
17
+
18
  return $html;
19
  }
20
 
21
  protected function getForceButtonHtml($row)
22
  {
23
  return $this->getLayout()->createBlock('adminhtml/widget_button')
24
+ ->setType('button')
25
+ ->setClass('add')
26
+ ->setLabel(Mage::helper('adminhtml')->__('Force'))
27
+ ->setOnClick("pure360Cron.forceJob('" . $row->getJobId() . "')")
28
+ ->toHtml();
29
  }
30
 
31
  }
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Grid/Renderer/Pause.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Pause extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
@@ -16,29 +14,28 @@ class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Pause exten
16
  public function render(Varien_Object $row)
17
  {
18
  $html = $this->getPauseButtonHtml($row);
19
-
20
  return $html;
21
  }
22
-
23
  protected function getPauseButtonHtml($row)
24
  {
25
  if($row->getPaused())
26
  {
27
  return $this->getLayout()->createBlock('adminhtml/widget_button')
28
- ->setType('button')
29
- ->setClass('go')
30
- ->setLabel(Mage::helper('adminhtml')->__('Resume'))
31
- ->setOnClick("pure360Cron.resumeJob('" . $row->getJobId() . "')")
32
- ->toHtml();
33
- }
34
- else
35
  {
36
  return $this->getLayout()->createBlock('adminhtml/widget_button')
37
- ->setType('button')
38
- ->setClass('go')
39
- ->setLabel(Mage::helper('adminhtml')->__('Pause'))
40
- ->setOnClick("pure360Cron.pauseJob('" . $row->getJobId() . "')")
41
- ->toHtml();
42
  }
43
  }
44
 
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Grid_Renderer_Pause extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
14
  public function render(Varien_Object $row)
15
  {
16
  $html = $this->getPauseButtonHtml($row);
17
+
18
  return $html;
19
  }
20
+
21
  protected function getPauseButtonHtml($row)
22
  {
23
  if($row->getPaused())
24
  {
25
  return $this->getLayout()->createBlock('adminhtml/widget_button')
26
+ ->setType('button')
27
+ ->setClass('go')
28
+ ->setLabel(Mage::helper('adminhtml')->__('Resume'))
29
+ ->setOnClick("pure360Cron.resumeJob('" . $row->getJobId() . "')")
30
+ ->toHtml();
31
+ } else
 
32
  {
33
  return $this->getLayout()->createBlock('adminhtml/widget_button')
34
+ ->setType('button')
35
+ ->setClass('go')
36
+ ->setLabel(Mage::helper('adminhtml')->__('Pause'))
37
+ ->setOnClick("pure360Cron.pauseJob('" . $row->getJobId() . "')")
38
+ ->toHtml();
39
  }
40
  }
41
 
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs extends Mage_Adminhtml_Block_Widget_Grid
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs extends Mage_Adminhtml_Block_Widget_Grid
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Bytes.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Bytes extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Bytes extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Clean.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Clean extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Clean extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Download.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Download extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Download extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
app/code/community/Pure360/Cron/Block/Adminhtml/System/Cron/Manager/Logs/Renderer/Tail.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Tail extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Adminhtml_System_Cron_Manager_Logs_Renderer_Tail extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
8
  {
app/code/community/Pure360/Cron/Block/Jsinit.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Block_Jsinit extends Mage_Adminhtml_Block_Template
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Block_Jsinit extends Mage_Adminhtml_Block_Template
8
  {
app/code/community/Pure360/Cron/Helper/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Helper_Data extends Pure360_Common_Helper_Data
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Helper_Data extends Pure360_Common_Helper_Data
8
  {
app/code/community/Pure360/Cron/Job/Abstract.php CHANGED
@@ -3,11 +3,10 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  abstract class Pure360_Cron_Job_Abstract implements Pure360_Cron_Job_Interface
10
  {
 
11
  /** @var Pure360_Cron_Model_Job */
12
  protected $_data;
13
 
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  abstract class Pure360_Cron_Job_Abstract implements Pure360_Cron_Job_Interface
8
  {
9
+
10
  /** @var Pure360_Cron_Model_Job */
11
  protected $_data;
12
 
app/code/community/Pure360/Cron/Job/Interface.php CHANGED
@@ -3,15 +3,14 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  interface Pure360_Cron_Job_Interface
10
  {
 
11
  public function setData(Pure360_Cron_Model_Job $data);
12
-
13
  public function getData();
14
-
15
  public function process();
16
  }
17
 
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  interface Pure360_Cron_Job_Interface
8
  {
9
+
10
  public function setData(Pure360_Cron_Model_Job $data);
11
+
12
  public function getData();
13
+
14
  public function process();
15
  }
16
 
app/code/community/Pure360/Cron/Model/Job.php CHANGED
@@ -3,15 +3,14 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Model_Job extends Mage_Core_Model_Abstract
10
  {
11
- public function _construct()
12
- {
13
- parent::_construct();
14
- $this->_init('pure360_cron/job');
15
- }
16
-
 
17
  }
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Model_Job extends Mage_Core_Model_Abstract
8
  {
9
+
10
+ public function _construct()
11
+ {
12
+ parent::_construct();
13
+ $this->_init('pure360_cron/job');
14
+ }
15
+
16
  }
app/code/community/Pure360/Cron/Model/Observer.php CHANGED
@@ -3,18 +3,24 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
10
  {
 
 
 
11
  const XML_PATH_SCHEDULE_AHEAD_FOR = 5;
 
 
 
 
12
  const XML_PATH_SCHEDULE_RESET_AFTER = 10;
13
 
14
  private $jobSchedule = array();
15
 
16
  /**
17
- * @return array
 
18
  */
19
  public function monitorJobs()
20
  {
@@ -25,37 +31,84 @@ class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
25
  $this->processSchedule();
26
  }
27
  }
28
-
29
- protected function cleanSchedule()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  {
31
-
32
  $collection = Mage::getModel('pure360_cron/job')->getCollection()
33
- ->addFieldToFilter('enabled', 1)
34
- ->addFieldToFilter('status', Mage_Cron_Model_Schedule::STATUS_SUCCESS)
35
- ->load();
36
 
37
  $now = time();
38
-
39
  $resetAfter = self::XML_PATH_SCHEDULE_RESET_AFTER * 60;
40
 
41
- foreach ($collection->getIterator() as $job)
42
  {
43
- if ((strtotime($job->getFinishedAt()) + $resetAfter) < $now)
44
  {
45
- // Mark job as pending
46
- $job->setStatus(Mage_Cron_Model_Schedule::STATUS_PENDING);
47
- $job->setMessage(null);
48
- $job->setScheduledAt(null);
49
- $job->save();
 
 
50
  }
51
  }
52
  }
53
 
54
- protected function scheduleJobs()
 
 
 
 
55
  {
56
  $collection = Mage::getModel('pure360_cron/job')->getCollection()
57
- ->addFieldToFilter('enabled', 1)
58
- ->load();
59
 
60
  $exists = array();
61
 
@@ -63,18 +116,18 @@ class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
63
 
64
  $schedule = Mage::getModel('cron/schedule');
65
 
66
- foreach ($collection->getIterator() as $job)
67
  {
68
  if($job->getStatus() == Mage_Cron_Model_Schedule::STATUS_PENDING)
69
  {
70
- $jobId = $job->getJobId();
71
- $cronExpr = $job->getCrontab();
72
- $code = $job->getJobCode();
73
- $forced = $job->getForced();
74
- $paused = $job->getPaused();
75
- $scheduled = $job->getScheduledAt();
76
-
77
- if (!$cronExpr || !empty($scheduled))
78
  {
79
  continue;
80
  }
@@ -87,43 +140,43 @@ class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
87
  $job->setMessage('Job paused');
88
  $job->setStartedAt(null);
89
  $job->setFinishedAt(null);
90
-
91
  $job->save();
 
92
  unset($this->jobSchedule[$jobId]);
93
  unset($exists[$jobId . '/' . $job->getScheduledAt()]);
94
  continue;
95
  }
96
-
97
  $timeAhead = $now + $scheduleAheadFor;
98
 
99
  $schedule->setJobCode($code)->setCronExpr($cronExpr)->setStatus(Mage_Cron_Model_Schedule::STATUS_PENDING);
100
-
101
- for ($time = $now; $time < $timeAhead; $time += 60)
102
  {
103
  $ts = strftime('%Y-%m-%d %H:%M', $time);
104
 
105
- if (!empty($exists[$jobId . '/' . $ts]))
106
  {
107
  // already scheduled
108
  continue;
109
  }
110
 
111
- if ($schedule->trySchedule($time) || $forced == 1)
112
  {
113
  $job->setScheduledAt(time());
114
  $job->setMessage(null);
115
  $job->setStartedAt(null);
116
  $job->setFinishedAt(null);
117
-
118
  // Unset forced
119
  if($forced == 1)
120
  {
121
  $job->setMessage('Job forced');
122
  $job->setForced(0);
123
  }
124
-
125
  $job->save();
126
-
127
  $this->jobSchedule[$jobId] = $job;
128
  $exists[$jobId . '/' . $job->getScheduledAt()] = 1;
129
  }
@@ -134,10 +187,13 @@ class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
134
  return $this;
135
  }
136
 
137
- protected function processSchedule()
 
 
 
 
138
  {
139
-
140
- foreach ($this->jobSchedule as $jobId => $job)
141
  {
142
  $code = $job->getJobCode();
143
  $errorMessage = null;
@@ -166,21 +222,20 @@ class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
166
  $job->setStatus(Mage_Cron_Model_Schedule::STATUS_SUCCESS);
167
  $job->setFinishedAt($finish);
168
  $job->save();
169
-
170
- } catch (Pure360_Exception_ValidationException $ve)
171
  {
172
  $errorMessage = $ve->getMessage() . ': ';
173
 
174
- foreach ($ve->getErrors() as $error => $message)
175
  {
176
  $errorMessage .= $error . ' [' . $message . "]; \n";
177
  }
178
- } catch (Exception $e)
179
  {
180
  $errorMessage = $e->getMessage();
181
  }
182
 
183
- if (!is_null($errorMessage))
184
  {
185
  // Mark job as error
186
  $finish = time();
@@ -193,43 +248,4 @@ class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
193
  }
194
  }
195
 
196
- public function checkJobs()
197
- {
198
- $collection = Mage::getModel('pure360_cron/job')->getCollection();
199
-
200
- /* var $job Pure360_Cron_Model_Job */
201
- foreach($collection as $job)
202
- {
203
- $scope = $job->getScope();
204
- $scopeId = $job->getScopeId();
205
- $module = strtolower($job->getModule());
206
- $enabled = false;
207
-
208
- $scopeEnabled = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $scope . '_settings/enabled', $scope, $scopeId);
209
- $scopeGobal = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $scope . '_settings/global', $scope, $scopeId);
210
- $moduleEnabled = Mage::helper('pure360_common')->getScopedConfig($module . '/' . $scope . '_settings/enabled', $scope, $scopeId);
211
-
212
- switch($scope)
213
- {
214
- case 'default' :
215
- {
216
- $enabled = $scopeEnabled && $scopeGobal && $moduleEnabled;
217
- break;
218
- }
219
- case 'websites' :
220
- {
221
- $enabled = $scopeEnabled && $scopeGobal && $moduleEnabled;
222
- break;
223
- }
224
- case 'stores' :
225
- {
226
- $enabled = $scopeEnabled && $moduleEnabled;
227
- break;
228
- }
229
- }
230
-
231
- $job->setEnabled($enabled);
232
- $job->save();
233
- }
234
- }
235
  }
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Model_Observer extends Mage_Core_Model_Abstract
8
  {
9
+ /**
10
+ * Constant for job scheduling read-ahead
11
+ */
12
  const XML_PATH_SCHEDULE_AHEAD_FOR = 5;
13
+
14
+ /**
15
+ * Constant for reset jobs to pending
16
+ */
17
  const XML_PATH_SCHEDULE_RESET_AFTER = 10;
18
 
19
  private $jobSchedule = array();
20
 
21
  /**
22
+ * This method is called from Magento cron and manages job activity for the
23
+ * integration.
24
  */
25
  public function monitorJobs()
26
  {
31
  $this->processSchedule();
32
  }
33
  }
34
+
35
+ /**
36
+ * This method is called from config_changed events and used to enable/disable
37
+ * jobs depending on scope.
38
+ */
39
+ public function checkJobs()
40
+ {
41
+ // Get all jobs
42
+ $collection = Mage::getModel('pure360_cron/job')->getCollection();
43
+
44
+ /* var $job Pure360_Cron_Model_Job */
45
+ foreach($collection as $job)
46
+ {
47
+ $scope = $job->getScope();
48
+ $scopeId = $job->getScopeId();
49
+ $module = strtolower($job->getModule());
50
+ $enabled = false;
51
+
52
+ $scopeEnabled = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $scope . '_settings/enabled', $scope, $scopeId);
53
+ $scopeGobal = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $scope . '_settings/global', $scope, $scopeId);
54
+ $moduleEnabled = Mage::helper('pure360_common')->getScopedConfig($module . '/' . $scope . '_settings/enabled', $scope, $scopeId);
55
+
56
+ switch($scope)
57
+ {
58
+ case 'default' :
59
+ case 'websites' : {
60
+ $enabled = $scopeEnabled && $scopeGobal && $moduleEnabled;
61
+ break;
62
+ }
63
+ case 'stores' : {
64
+ $enabled = $scopeEnabled && $moduleEnabled;
65
+ break;
66
+ }
67
+ }
68
+
69
+ $job->setEnabled($enabled);
70
+ $job->save();
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Private function used to reset successful/error jobs to pending after set
76
+ * period of time.
77
+ */
78
+ private function cleanSchedule()
79
  {
 
80
  $collection = Mage::getModel('pure360_cron/job')->getCollection()
81
+ ->addFieldToFilter('enabled', 1)
82
+ ->load();
 
83
 
84
  $now = time();
85
+
86
  $resetAfter = self::XML_PATH_SCHEDULE_RESET_AFTER * 60;
87
 
88
+ foreach($collection->getIterator() as $job)
89
  {
90
+ if($job->getStatus() == Mage_Cron_Model_Schedule::STATUS_SUCCESS || $job->getStatus() == Mage_Cron_Model_Schedule::STATUS_ERROR)
91
  {
92
+ if((strtotime($job->getFinishedAt()) + $resetAfter) < $now)
93
+ {
94
+ $job->setStatus(Mage_Cron_Model_Schedule::STATUS_PENDING);
95
+ $job->setMessage(null);
96
+ $job->setScheduledAt(null);
97
+ $job->save();
98
+ }
99
  }
100
  }
101
  }
102
 
103
+ /**
104
+ * Private function used to schedule jobs. Uses Mage cron/schedule for
105
+ * parsing crontab expression.
106
+ */
107
+ private function scheduleJobs()
108
  {
109
  $collection = Mage::getModel('pure360_cron/job')->getCollection()
110
+ ->addFieldToFilter('enabled', 1)
111
+ ->load();
112
 
113
  $exists = array();
114
 
116
 
117
  $schedule = Mage::getModel('cron/schedule');
118
 
119
+ foreach($collection->getIterator() as $job)
120
  {
121
  if($job->getStatus() == Mage_Cron_Model_Schedule::STATUS_PENDING)
122
  {
123
+ $jobId = $job->getJobId();
124
+ $cronExpr = $job->getCrontab();
125
+ $code = $job->getJobCode();
126
+ $forced = $job->getForced();
127
+ $paused = $job->getPaused();
128
+ $scheduled = $job->getScheduledAt();
129
+
130
+ if(!$cronExpr || !empty($scheduled))
131
  {
132
  continue;
133
  }
140
  $job->setMessage('Job paused');
141
  $job->setStartedAt(null);
142
  $job->setFinishedAt(null);
 
143
  $job->save();
144
+
145
  unset($this->jobSchedule[$jobId]);
146
  unset($exists[$jobId . '/' . $job->getScheduledAt()]);
147
  continue;
148
  }
149
+
150
  $timeAhead = $now + $scheduleAheadFor;
151
 
152
  $schedule->setJobCode($code)->setCronExpr($cronExpr)->setStatus(Mage_Cron_Model_Schedule::STATUS_PENDING);
153
+
154
+ for($time = $now; $time < $timeAhead; $time += 60)
155
  {
156
  $ts = strftime('%Y-%m-%d %H:%M', $time);
157
 
158
+ if(!empty($exists[$jobId . '/' . $ts]))
159
  {
160
  // already scheduled
161
  continue;
162
  }
163
 
164
+ if($schedule->trySchedule($time) || $forced == 1)
165
  {
166
  $job->setScheduledAt(time());
167
  $job->setMessage(null);
168
  $job->setStartedAt(null);
169
  $job->setFinishedAt(null);
170
+
171
  // Unset forced
172
  if($forced == 1)
173
  {
174
  $job->setMessage('Job forced');
175
  $job->setForced(0);
176
  }
177
+
178
  $job->save();
179
+
180
  $this->jobSchedule[$jobId] = $job;
181
  $exists[$jobId . '/' . $job->getScheduledAt()] = 1;
182
  }
187
  return $this;
188
  }
189
 
190
+ /**
191
+ * Private function used to process all schedules jobs. Sets job status
192
+ * through pending > running > success or error.
193
+ */
194
+ private function processSchedule()
195
  {
196
+ foreach($this->jobSchedule as $jobId => $job)
 
197
  {
198
  $code = $job->getJobCode();
199
  $errorMessage = null;
222
  $job->setStatus(Mage_Cron_Model_Schedule::STATUS_SUCCESS);
223
  $job->setFinishedAt($finish);
224
  $job->save();
225
+ } catch(Pure360_Exception_ValidationException $ve)
 
226
  {
227
  $errorMessage = $ve->getMessage() . ': ';
228
 
229
+ foreach($ve->getErrors() as $error => $message)
230
  {
231
  $errorMessage .= $error . ' [' . $message . "]; \n";
232
  }
233
+ } catch(Exception $e)
234
  {
235
  $errorMessage = $e->getMessage();
236
  }
237
 
238
+ if(!is_null($errorMessage))
239
  {
240
  // Mark job as error
241
  $finish = time();
248
  }
249
  }
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
  }
app/code/community/Pure360/Cron/Model/Resource/Job.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Model_Resource_Job extends Mage_Core_Model_Mysql4_Abstract
10
  {
@@ -27,11 +25,4 @@ class Pure360_Cron_Model_Resource_Job extends Mage_Core_Model_Mysql4_Abstract
27
  $this->_init('pure360_cron/job', 'job_id');
28
  }
29
 
30
- // from Mage_Cms_Model_Resource_Page::_getLoadSelect()
31
- protected function _getLoadSelect($field, $value, $object)
32
- {
33
- $select = parent::_getLoadSelect($field, $value, $object);
34
- return $select;
35
- }
36
-
37
  }
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Model_Resource_Job extends Mage_Core_Model_Mysql4_Abstract
8
  {
25
  $this->_init('pure360_cron/job', 'job_id');
26
  }
27
 
 
 
 
 
 
 
 
28
  }
app/code/community/Pure360/Cron/Model/Resource/Job/Collection.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_Model_Resource_Job_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
10
  {
@@ -29,14 +27,14 @@ class Pure360_Cron_Model_Resource_Job_Collection extends Mage_Core_Model_Mysql4_
29
  {
30
  $nullCheck = false;
31
 
32
- if (!is_array($storeIds))
33
  {
34
  $storeIds = array($storeIds);
35
  }
36
 
37
  $storeIds = array_unique($storeIds);
38
 
39
- if ($index = array_search(null, $storeIds))
40
  {
41
  unset($storeIds[$index]);
42
  $nullCheck = true;
@@ -44,7 +42,7 @@ class Pure360_Cron_Model_Resource_Job_Collection extends Mage_Core_Model_Mysql4_
44
 
45
  $storeIds[0] = ($storeIds[0] == '') ? 0 : $storeIds[0];
46
 
47
- if ($nullCheck)
48
  {
49
  $this->getSelect()->where('store_id IN(?) OR store_id IS NULL', $storeIds);
50
  } else
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_Model_Resource_Job_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
8
  {
27
  {
28
  $nullCheck = false;
29
 
30
+ if(!is_array($storeIds))
31
  {
32
  $storeIds = array($storeIds);
33
  }
34
 
35
  $storeIds = array_unique($storeIds);
36
 
37
+ if($index = array_search(null, $storeIds))
38
  {
39
  unset($storeIds[$index]);
40
  $nullCheck = true;
42
 
43
  $storeIds[0] = ($storeIds[0] == '') ? 0 : $storeIds[0];
44
 
45
+ if($nullCheck)
46
  {
47
  $this->getSelect()->where('store_id IN(?) OR store_id IS NULL', $storeIds);
48
  } else
app/code/community/Pure360/Cron/controllers/AjaxController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Cron_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
3
  /**
4
  * @package Pure360\Cron
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Cron_AjaxController extends Mage_Adminhtml_Controller_Action
8
  {
app/code/community/Pure360/Cron/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Pure360_Cron>
5
- <version>1.0.1</version>
6
  </Pure360_Cron>
7
  </modules>
8
  <global>
@@ -103,13 +103,13 @@
103
  </adminhtml>
104
  <admin>
105
  <routers>
106
- <adminhtml>
 
107
  <args>
108
- <modules>
109
- <pure360_cron before="Mage_Adminhtml">Pure360_Cron_Adminhtml</pure360_cron>
110
- </modules>
111
  </args>
112
- </adminhtml>
113
  </routers>
114
  </admin>
115
  <default>
2
  <config>
3
  <modules>
4
  <Pure360_Cron>
5
+ <version>1.0.2</version>
6
  </Pure360_Cron>
7
  </modules>
8
  <global>
103
  </adminhtml>
104
  <admin>
105
  <routers>
106
+ <pure360_cron>
107
+ <use>admin</use>
108
  <args>
109
+ <module>Pure360_Cron</module>
110
+ <frontName>pure360_cron</frontName>
 
111
  </args>
112
+ </pure360_cron>
113
  </routers>
114
  </admin>
115
  <default>
app/code/community/Pure360/Cron/sql/pure360_cron_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} RENAMED
File without changes
app/code/community/Pure360/Email/Block/Adminhtml/System/Config/About.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
8
  {
app/code/community/Pure360/Email/Block/Adminhtml/System/Config/Transactional.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Block_Adminhtml_System_Config_Transactional extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Block_Adminhtml_System_Config_Transactional extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
8
  {
app/code/community/Pure360/Email/Block/Jsinit.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Block_Jsinit extends Mage_Adminhtml_Block_Template
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Block_Jsinit extends Mage_Adminhtml_Block_Template
8
  {
app/code/community/Pure360/Email/Helper/Api.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Helper_Api extends Pure360_Common_Helper_Api
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Helper_Api extends Pure360_Common_Helper_Api
8
  {
app/code/community/Pure360/Email/Helper/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Helper_Data extends Pure360_Common_Helper_Data
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Helper_Data extends Pure360_Common_Helper_Data
8
  {
app/code/community/Pure360/Email/Model/Email/Message.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Model_Email_Message extends Mage_Core_Model_Email_Template
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Model_Email_Message extends Mage_Core_Model_Email_Template
8
  {
app/code/community/Pure360/Email/Model/Messages.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Model_Messages extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Model_Messages extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/Email/Model/Resource/Transactional.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Model_Resource_Transactional extends Mage_Core_Model_Mysql4_Abstract
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Model_Resource_Transactional extends Mage_Core_Model_Mysql4_Abstract
8
  {
app/code/community/Pure360/Email/Model/Resource/Transactional/Collection.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Model_Resource_Transactional_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Model_Resource_Transactional_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
8
  {
app/code/community/Pure360/Email/Model/System/Config/Source/Email/Template.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Model_System_Config_Source_Email_Template extends Varien_Object
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Model_System_Config_Source_Email_Template extends Varien_Object
8
  {
app/code/community/Pure360/Email/Model/Transactional.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_Model_Transactional extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_Model_Transactional extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/Email/controllers/AjaxController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Email_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
3
  /**
4
  * @package Pure360\Email
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Email_AjaxController extends Mage_Adminhtml_Controller_Action
8
  {
app/code/community/Pure360/Email/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Pure360_Email>
5
- <version>1.0.1</version>
6
  </Pure360_Email>
7
  </modules>
8
  <global>
@@ -97,13 +97,13 @@
97
  </adminhtml>
98
  <admin>
99
  <routers>
100
- <adminhtml>
 
101
  <args>
102
- <modules>
103
- <pure360_email before="Mage_Adminhtml">Pure360_Email_Adminhtml</pure360_email>
104
- </modules>
105
  </args>
106
- </adminhtml>
107
  </routers>
108
  </admin>
109
  <default>
2
  <config>
3
  <modules>
4
  <Pure360_Email>
5
+ <version>1.0.2</version>
6
  </Pure360_Email>
7
  </modules>
8
  <global>
97
  </adminhtml>
98
  <admin>
99
  <routers>
100
+ <pure360_email>
101
+ <use>admin</use>
102
  <args>
103
+ <module>Pure360_Email</module>
104
+ <frontName>pure360_email</frontName>
 
105
  </args>
106
+ </pure360_email>
107
  </routers>
108
  </admin>
109
  <default>
app/code/community/Pure360/Email/sql/pure360_email_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} RENAMED
File without changes
app/code/community/Pure360/List/Block/Adminhtml/System/Config/About.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
 
10
  class Pure360_List_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
 
8
  class Pure360_List_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
app/code/community/Pure360/List/Block/Adminhtml/System/Config/Form.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
 
10
  class Pure360_List_Block_Adminhtml_System_Config_Form extends Mage_Adminhtml_Block_System_Config_Form
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
 
8
  class Pure360_List_Block_Adminhtml_System_Config_Form extends Mage_Adminhtml_Block_System_Config_Form
app/code/community/Pure360/List/Block/Adminhtml/System/Config/List.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
 
10
  class Pure360_List_Block_Adminhtml_System_Config_List extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
 
8
  class Pure360_List_Block_Adminhtml_System_Config_List extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
app/code/community/Pure360/List/Block/Jsinit.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Block_Jsinit extends Mage_Adminhtml_Block_Template
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Block_Jsinit extends Mage_Adminhtml_Block_Template
8
  {
app/code/community/Pure360/List/Helper/Api.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Helper_Api extends Pure360_Common_Helper_Api
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Helper_Api extends Pure360_Common_Helper_Api
8
  {
app/code/community/Pure360/List/Helper/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Helper_Data extends Pure360_Common_Helper_Data
10
  {
@@ -196,6 +194,84 @@ class Pure360_List_Helper_Data extends Pure360_Common_Helper_Data
196
  return $dateKeys;
197
  }
198
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  /**
200
  *
201
  * @param type $list
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Helper_Data extends Pure360_Common_Helper_Data
8
  {
194
  return $dateKeys;
195
  }
196
 
197
+ /**
198
+ *
199
+ * @return array
200
+ */
201
+ public function getDropdownKeyLookup()
202
+ {
203
+ $dropdownKeys = array();
204
+
205
+ $m = Mage::getSingleton('eav/config')
206
+ ->getEntityType('customer')
207
+ ->getAttributeCollection()
208
+ ->addSetInfo();
209
+
210
+ foreach ($m as $attr)
211
+ {
212
+ // if input type for this attribute is dropdown or multi-select
213
+ if ($attr->usesSource())
214
+ {
215
+ $dropdownKeys[] = $attr->getAttributeCode();
216
+ }
217
+ }
218
+
219
+ $m = Mage::getSingleton('eav/config')
220
+ ->getEntityType('customer_address')
221
+ ->getAttributeCollection()
222
+ ->addSetInfo();
223
+
224
+ foreach ($m as $attr)
225
+ {
226
+ // if input type for this attribute is dropdown or multi-select
227
+ if ($attr->usesSource())
228
+ {
229
+ $dropdownKeys[] = $attr->getAttributeCode();
230
+ }
231
+ }
232
+
233
+ return $dropdownKeys;
234
+ }
235
+
236
+ /**
237
+ *
238
+ * @return array
239
+ */
240
+ public function getBooleanKeyLookup()
241
+ {
242
+ $booleanKeys = array();
243
+
244
+ $m = Mage::getSingleton('eav/config')
245
+ ->getEntityType('customer')
246
+ ->getAttributeCollection()
247
+ ->addSetInfo();
248
+
249
+ foreach ($m as $attr)
250
+ {
251
+ // if input type for this attribute is dropdown or multi-select
252
+ if ($attr->getFrontendInput() == 'boolean')
253
+ {
254
+ $booleanKeys[] = $attr->getAttributeCode();
255
+ }
256
+ }
257
+
258
+ $m = Mage::getSingleton('eav/config')
259
+ ->getEntityType('customer_address')
260
+ ->getAttributeCollection()
261
+ ->addSetInfo();
262
+
263
+ foreach ($m as $attr)
264
+ {
265
+ // if input type for this attribute is dropdown or multi-select
266
+ if ($attr->getFrontendInput() == 'boolean')
267
+ {
268
+ $booleanKeys[] = $attr->getAttributeCode();
269
+ }
270
+ }
271
+
272
+ return $booleanKeys;
273
+ }
274
+
275
  /**
276
  *
277
  * @param type $list
app/code/community/Pure360/List/Job/Sync.php CHANGED
@@ -3,11 +3,10 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
10
  {
 
11
  const JOB_CODE = 'PURE360_LIST_SYNC';
12
 
13
  const MODULE = 'PURE360_LIST';
@@ -38,30 +37,30 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
38
  }
39
 
40
  // Set job properties
41
- $scope = $this->_data->getScope();
42
- $scopeId = $this->_data->getScopeId();
43
- $listId = $this->_data->getJobData();
44
 
45
  // Get API credentials
46
- $filter = ($scope === 'default' ? 'default_' : $scope . '_');
47
- $url = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $filter . 'settings/api_url', $scope, $scopeId);
48
- $username = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $filter . 'settings_marketing/username', $scope, $scopeId);
49
- $password = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $filter . 'settings_marketing/password', $scope, $scopeId);
50
-
51
  // Set max page size
52
- $this->max_sync_size = Mage::helper('pure360_common')->getScopedConfig('pure360/default_settings/max_sync_size', 'default', 0);
53
-
54
  // Set client
55
  $this->client = Mage::helper('pure360_common/api')->getClient($url, $username, $password);
56
 
57
  // Load list
58
  $list = Mage::getModel('pure360_list/list')->load($listId);
59
-
60
  // Set status to syncing
61
  $list->rows = 0;
62
  $list->setListStatus(Pure360_List_Model_List::LIST_STATUS_SYNCING);
63
  $list->save();
64
-
65
  // Export all Customers first
66
  $this->exportCustomerList($list);
67
 
@@ -118,7 +117,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
118
  pcs.customer_id = ecs.customer_id AND
119
  pcs.website_id = ecs.website_id
120
  WHERE pcs.customer_id IS NULL;";
121
-
122
  $oldSegmentsSql = "SELECT DISTINCT pcs.customer_id
123
  FROM pure360_list_customer_segments pcs
124
  LEFT JOIN enterprise_customersegment_customer ecs ON
@@ -126,7 +125,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
126
  pcs.customer_id = ecs.customer_id AND
127
  pcs.website_id = ecs.website_id
128
  WHERE ecs.customer_id IS NULL;";
129
-
130
  $diffSegmentsSql = "SELECT customer_id, count(*) cnt
131
  FROM (
132
  SELECT ecs.segment_id, ecs.customer_id, ecs.website_id, ecs.updated_date
@@ -137,26 +136,28 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
137
  ) pd
138
  GROUP BY segment_id, customer_id, website_id
139
  HAVING cnt > 1;";
140
-
141
- $queries = array( $newSegmentsSql, $oldSegmentsSql, $diffSegmentsSql);
142
-
143
  $model = Mage::getModel('customer/entity_setup', 'core_setup');
144
 
145
  // Update Sync Statuses.
146
- $customerEntityTable = $resource->getTableName('customer_entity');
147
  $customerEntityIntTable = $resource->getTableName('customer_entity_int');
148
- $attribute = 'pure360_sync_status';
149
- $attributeId = $model->getAttributeId('customer', $attribute);
150
-
151
  foreach($queries as $query)
152
  {
153
  $ids = array();
154
- $count= 0;
155
  $stmt = $read->query($query);
156
- while ($row = $stmt->fetch()) {
 
157
  $ids[] = $row['customer_id'];
158
  $count++;
159
- if ($count>1000) {
 
160
  $count = 0;
161
 
162
  $sql = "INSERT INTO $customerEntityIntTable(entity_type_id, attribute_id, entity_id, value)
@@ -169,7 +170,8 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
169
  $ids = array();
170
  }
171
  }
172
- if ($count>0) {
 
173
  $sql = "INSERT INTO $customerEntityIntTable(entity_type_id, attribute_id, entity_id, value)
174
  SELECT 1, $attributeId, e.entity_id, 0 FROM $customerEntityTable AS e
175
  WHERE e.entity_id IN(" . implode(',', $ids) . ")
@@ -180,7 +182,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
180
  }
181
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
182
  }
183
-
184
  private function copySegmentData()
185
  {
186
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - start');
@@ -190,33 +192,36 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
190
  // Get handle for read
191
  $read = $resource->getConnection('core_read');
192
  $readTable = $resource->getTableName('enterprise_customersegment_customer');
193
-
194
  // Get handle for write
195
  $write = $resource->getConnection('core_write');
196
- $writeTable = $resource->getTableName('pure360_list_customer_segments');
197
-
198
  // Clean old table
199
  $write->query("DELETE FROM $writeTable");
200
 
201
- $data = array();
202
- $count= 0;
203
- $stmt = $read->query("SELECT * FROM $readTable");
204
- while ($row = $stmt->fetch()) {
205
- $data[] = $row;
206
- $count++;
207
- if ($count>1000) {
208
- $count = 0;
209
- $write->insertMultiple($writeTable, $data);
210
- $data = array();
211
- }
212
- }
213
- if ($count>0) {
214
- $write->insertMultiple($writeTable, $data);
215
- }
216
-
 
 
 
217
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
218
  }
219
-
220
  private function exportCustomerList(&$list)
221
  {
222
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - start');
@@ -241,7 +246,6 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
241
  if(empty($firstRow) || $firstEmail == $firstRow->getEmail())
242
  {
243
  break;
244
-
245
  } else
246
  {
247
  $firstEmail = $firstRow->getEmail();
@@ -250,11 +254,10 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
250
  foreach($currentBatch as $customer)
251
  {
252
  if($list->rows < $this->max_sync_size)
253
- {
254
  $data = $this->getCustomerData($customer, $list);
255
  Mage::helper('pure360_common/file')->outputCSV($filePath, $data);
256
  $list->rows++;
257
-
258
  } else
259
  {
260
  break;
@@ -269,7 +272,6 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
269
  $batchNum++;
270
 
271
  unset($currentBatch);
272
-
273
  } while($condition == $batchSize && $list->rows < $this->max_sync_size);
274
 
275
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
@@ -318,9 +320,9 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
318
 
319
  // Get storeIds for list
320
  $storeIds = Mage::helper('pure360_common')->getStoreIdsForScope($list->getScope(), $list->getScopeId());
321
-
322
  $collection->addAttributeToFilter('store_id', array('in' => $storeIds));
323
-
324
  // And filter by subscriber_status = 1
325
  $collection->addAttributeToFilter('subscriber_status', array('eq' => Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED));
326
 
@@ -332,7 +334,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
332
  {
333
  $collection->addAttributeToFilter('email', array('like' => '%' . $list->getListFilter() . '%'));
334
  }
335
-
336
  // Add paging for batch operation
337
  $collection->setCurPage($batchNum)->setPageSize($batchSize);
338
 
@@ -362,31 +364,62 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
362
  $segmentData = array('customer_segments' =>
363
  Mage::helper('pure360_common')->arrayToCsv(
364
  Mage::helper('pure360_list')->getCustomerSegmentData($customer)));
365
-
366
  $customerData = array_merge($customer->toArray(), $salesData, $groupData, $segmentData);
367
-
368
- // Get date key lookup:
369
  $dateKeyLookup = Mage::helper('pure360_list')->getDateKeyLookup();
370
-
 
 
 
 
 
 
371
  $dataToSend = array();
372
-
373
  foreach(Mage::helper('pure360_list')->getListKeys($list) as $key)
374
  {
375
  $val = '';
376
-
377
  if(isset($customerData[$key]))
378
  {
379
  $val = $customerData[$key];
380
- if(!empty($val))
 
 
 
 
 
381
  {
382
  if(in_array($key, $dateKeyLookup))
383
  {
384
  // Format to pure360 list date
385
- $val = Mage::helper('pure360_list')->toDate($val);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  }
387
  }
388
  }
389
- $dataToSend[] = $val;
390
  }
391
 
392
  // Get Website Name
@@ -412,15 +445,14 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
412
  $store = $this->stores[$storeId];
413
 
414
  $data = array_merge(
415
- array( 'email' => $customer->getEmail(),
416
- 'store' => $store->getName(),
417
- 'website' => $website->getName(),
418
- 'subscription_date' => empty($customerData['subscription_date'])?
419
- '' : Mage::helper('pure360_list')->toDate($customerData['subscription_date']),
420
- 'customer_id' => $customer->getId()),
421
- $dataToSend
422
- );
423
-
424
  return $data;
425
  }
426
 
@@ -472,7 +504,6 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
472
  $batchNum++;
473
 
474
  unset($currentBatch);
475
-
476
  } while($condition == $batchSize && $list->rows <= $this->max_sync_size);
477
 
478
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
@@ -486,7 +517,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
486
 
487
  // Get storeIds for list
488
  $storeIds = Mage::helper('pure360_common')->getStoreIdsForScope($list->getScope(), $list->getScopeId());
489
-
490
  // Configure Collection
491
  $collection = Mage::getModel('newsletter/subscriber')->getCollection()
492
  ->addFieldToFilter('main_table.customer_id', array('eq' => 0))
@@ -501,7 +532,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
501
  {
502
  $collection->addFieldToFilter('subscriber_email', array('like' => '%' . $list->getListFilter() . '%'));
503
  }
504
-
505
  // Add paging for batch operation
506
  $collection->setCurPage($batchNum)->setPageSize($batchSize);
507
 
@@ -545,8 +576,8 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
545
  $dataToSend = array('email' => $subscriber->getSubscriberEmail(),
546
  'store' => $store->getName(),
547
  'website' => $website->getName(),
548
- 'subscription_date' => empty($subDate)?
549
- '' : Mage::helper('pure360_list')->toDate($subDate));
550
 
551
  return $dataToSend;
552
  }
@@ -556,7 +587,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
556
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - start');
557
 
558
  // Get list properties
559
- $listName = $list->getListName();
560
  $listFields = $list->getListFields();
561
  $files = Mage::helper('pure360_common/file')->getFilenamesForSlug($list->fileSlug);
562
 
@@ -607,7 +638,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
607
  $files = Mage::helper('pure360_common/file')->getFilenamesForSlug($list->fileSlug);
608
 
609
  $count = 0;
610
-
611
  // Mark customers as synced
612
  foreach($files as $filename)
613
  {
@@ -631,14 +662,18 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
631
  }
632
 
633
  // Update Sync Statuses.
634
- $newsletterSubscriberTable = $resource->getTableName('newsletter_subscriber');
635
-
636
- $sql = "UPDATE $newsletterSubscriberTable
637
- SET pure360_sync_status = 1
638
- WHERE subscriber_email IN('" . implode('\',\'', $emails) . "')";
639
 
640
- $write->query($sql);
641
-
 
 
 
 
 
642
  } else
643
  {
644
  $ids = array();
@@ -659,25 +694,25 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
659
  $model = Mage::getModel('customer/entity_setup', 'core_setup');
660
 
661
  // Update Sync Statuses.
662
- $customerEntityTable = $resource->getTableName('customer_entity');
663
  $customerEntityIntTable = $resource->getTableName('customer_entity_int');
664
- $attribute = 'pure360_sync_status';
665
- $attributeId = $model->getAttributeId('customer', $attribute);
666
-
667
  $sql = "DELETE at_pure360_sync_status FROM $customerEntityTable AS e
668
  LEFT JOIN $customerEntityIntTable AS at_pure360_sync_status ON (at_pure360_sync_status.entity_id = e.entity_id)
669
  WHERE (at_pure360_sync_status.attribute_id = $attributeId)
670
  AND e.entity_id IN(" . implode(',', $ids) . ")";
671
 
672
  $write->query($sql);
673
-
674
  $sql = "INSERT INTO $customerEntityIntTable(entity_type_id, attribute_id, entity_id, value)
675
  SELECT 1,$attributeId, e.entity_id, 1 FROM $customerEntityTable AS e
676
  WHERE e.entity_id IN(" . implode(',', $ids) . ")";
677
 
678
  $write->query($sql);
679
  }
680
-
681
  if($count >= $list->rows)
682
  {
683
  break;
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
8
  {
9
+
10
  const JOB_CODE = 'PURE360_LIST_SYNC';
11
 
12
  const MODULE = 'PURE360_LIST';
37
  }
38
 
39
  // Set job properties
40
+ $scope = $this->_data->getScope();
41
+ $scopeId = $this->_data->getScopeId();
42
+ $listId = $this->_data->getJobData();
43
 
44
  // Get API credentials
45
+ $filter = ($scope === 'default' ? 'default_' : $scope . '_');
46
+ $url = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $filter . 'settings/api_url', $scope, $scopeId);
47
+ $username = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $filter . 'settings_marketing/username', $scope, $scopeId);
48
+ $password = Mage::helper('pure360_common')->getScopedConfig('pure360/' . $filter . 'settings_marketing/password', $scope, $scopeId);
49
+
50
  // Set max page size
51
+ $this->max_sync_size = Mage::helper('pure360_common')->getScopedConfig('pure360/default_settings/max_sync_size', 'default', 0);
52
+
53
  // Set client
54
  $this->client = Mage::helper('pure360_common/api')->getClient($url, $username, $password);
55
 
56
  // Load list
57
  $list = Mage::getModel('pure360_list/list')->load($listId);
58
+
59
  // Set status to syncing
60
  $list->rows = 0;
61
  $list->setListStatus(Pure360_List_Model_List::LIST_STATUS_SYNCING);
62
  $list->save();
63
+
64
  // Export all Customers first
65
  $this->exportCustomerList($list);
66
 
117
  pcs.customer_id = ecs.customer_id AND
118
  pcs.website_id = ecs.website_id
119
  WHERE pcs.customer_id IS NULL;";
120
+
121
  $oldSegmentsSql = "SELECT DISTINCT pcs.customer_id
122
  FROM pure360_list_customer_segments pcs
123
  LEFT JOIN enterprise_customersegment_customer ecs ON
125
  pcs.customer_id = ecs.customer_id AND
126
  pcs.website_id = ecs.website_id
127
  WHERE ecs.customer_id IS NULL;";
128
+
129
  $diffSegmentsSql = "SELECT customer_id, count(*) cnt
130
  FROM (
131
  SELECT ecs.segment_id, ecs.customer_id, ecs.website_id, ecs.updated_date
136
  ) pd
137
  GROUP BY segment_id, customer_id, website_id
138
  HAVING cnt > 1;";
139
+
140
+ $queries = array($newSegmentsSql, $oldSegmentsSql, $diffSegmentsSql);
141
+
142
  $model = Mage::getModel('customer/entity_setup', 'core_setup');
143
 
144
  // Update Sync Statuses.
145
+ $customerEntityTable = $resource->getTableName('customer_entity');
146
  $customerEntityIntTable = $resource->getTableName('customer_entity_int');
147
+ $attribute = 'pure360_sync_status';
148
+ $attributeId = $model->getAttributeId('customer', $attribute);
149
+
150
  foreach($queries as $query)
151
  {
152
  $ids = array();
153
+ $count = 0;
154
  $stmt = $read->query($query);
155
+ while($row = $stmt->fetch())
156
+ {
157
  $ids[] = $row['customer_id'];
158
  $count++;
159
+ if($count > 1000)
160
+ {
161
  $count = 0;
162
 
163
  $sql = "INSERT INTO $customerEntityIntTable(entity_type_id, attribute_id, entity_id, value)
170
  $ids = array();
171
  }
172
  }
173
+ if($count > 0)
174
+ {
175
  $sql = "INSERT INTO $customerEntityIntTable(entity_type_id, attribute_id, entity_id, value)
176
  SELECT 1, $attributeId, e.entity_id, 0 FROM $customerEntityTable AS e
177
  WHERE e.entity_id IN(" . implode(',', $ids) . ")
182
  }
183
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
184
  }
185
+
186
  private function copySegmentData()
187
  {
188
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - start');
192
  // Get handle for read
193
  $read = $resource->getConnection('core_read');
194
  $readTable = $resource->getTableName('enterprise_customersegment_customer');
195
+
196
  // Get handle for write
197
  $write = $resource->getConnection('core_write');
198
+ $writeTable = $resource->getTableName('pure360_list_customer_segments');
199
+
200
  // Clean old table
201
  $write->query("DELETE FROM $writeTable");
202
 
203
+ $data = array();
204
+ $count = 0;
205
+ $stmt = $read->query("SELECT * FROM $readTable");
206
+ while($row = $stmt->fetch())
207
+ {
208
+ $data[] = $row;
209
+ $count++;
210
+ if($count > 1000)
211
+ {
212
+ $count = 0;
213
+ $write->insertMultiple($writeTable, $data);
214
+ $data = array();
215
+ }
216
+ }
217
+ if($count > 0)
218
+ {
219
+ $write->insertMultiple($writeTable, $data);
220
+ }
221
+
222
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
223
  }
224
+
225
  private function exportCustomerList(&$list)
226
  {
227
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - start');
246
  if(empty($firstRow) || $firstEmail == $firstRow->getEmail())
247
  {
248
  break;
 
249
  } else
250
  {
251
  $firstEmail = $firstRow->getEmail();
254
  foreach($currentBatch as $customer)
255
  {
256
  if($list->rows < $this->max_sync_size)
257
+ {
258
  $data = $this->getCustomerData($customer, $list);
259
  Mage::helper('pure360_common/file')->outputCSV($filePath, $data);
260
  $list->rows++;
 
261
  } else
262
  {
263
  break;
272
  $batchNum++;
273
 
274
  unset($currentBatch);
 
275
  } while($condition == $batchSize && $list->rows < $this->max_sync_size);
276
 
277
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
320
 
321
  // Get storeIds for list
322
  $storeIds = Mage::helper('pure360_common')->getStoreIdsForScope($list->getScope(), $list->getScopeId());
323
+
324
  $collection->addAttributeToFilter('store_id', array('in' => $storeIds));
325
+
326
  // And filter by subscriber_status = 1
327
  $collection->addAttributeToFilter('subscriber_status', array('eq' => Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED));
328
 
334
  {
335
  $collection->addAttributeToFilter('email', array('like' => '%' . $list->getListFilter() . '%'));
336
  }
337
+
338
  // Add paging for batch operation
339
  $collection->setCurPage($batchNum)->setPageSize($batchSize);
340
 
364
  $segmentData = array('customer_segments' =>
365
  Mage::helper('pure360_common')->arrayToCsv(
366
  Mage::helper('pure360_list')->getCustomerSegmentData($customer)));
367
+
368
  $customerData = array_merge($customer->toArray(), $salesData, $groupData, $segmentData);
369
+
370
+ // Get date key lookup
371
  $dateKeyLookup = Mage::helper('pure360_list')->getDateKeyLookup();
372
+
373
+ // Get dropdown key lookup
374
+ $dropdownKeyLookup = Mage::helper('pure360_list')->getDropdownKeyLookup();
375
+
376
+ // Get boolean key lookup
377
+ $booleanKeyLookup = Mage::helper('pure360_list')->getBooleanKeyLookup();
378
+
379
  $dataToSend = array();
380
+
381
  foreach(Mage::helper('pure360_list')->getListKeys($list) as $key)
382
  {
383
  $val = '';
384
+
385
  if(isset($customerData[$key]))
386
  {
387
  $val = $customerData[$key];
388
+
389
+ if(in_array($key, $booleanKeyLookup))
390
+ {
391
+ // Format to Yes/No
392
+ $val = is_null($val) || !$val ? 'No' : 'Yes';
393
+ } elseif(!empty($val))
394
  {
395
  if(in_array($key, $dateKeyLookup))
396
  {
397
  // Format to pure360 list date
398
+ $val = Mage::helper('pure360_list')->toDate($val);
399
+ } elseif(in_array($key, $dropdownKeyLookup))
400
+ {
401
+ // Implode if array
402
+ if(is_array($val))
403
+ {
404
+ $val = implode(',', array_filter($val));
405
+ } else
406
+ {
407
+ // Else clean string
408
+ $val = trim($val, ',');
409
+ }
410
+
411
+ // Get the option label
412
+ $val = Mage::getResourceSingleton('customer/customer')->getAttribute($key)->getSource()->getOptionText($val);
413
+
414
+ // Convert back to string
415
+ if(is_array($val))
416
+ {
417
+ $val = implode(',', array_filter($val));
418
+ }
419
  }
420
  }
421
  }
422
+ $dataToSend[$key] = $val;
423
  }
424
 
425
  // Get Website Name
445
  $store = $this->stores[$storeId];
446
 
447
  $data = array_merge(
448
+ array('email' => $customer->getEmail(),
449
+ 'store' => $store->getName(),
450
+ 'website' => $website->getName(),
451
+ 'subscription_date' => empty($customerData['subscription_date']) ?
452
+ '' : Mage::helper('pure360_list')->toDate($customerData['subscription_date']),
453
+ 'customer_id' => $customer->getId()), $dataToSend
454
+ );
455
+
 
456
  return $data;
457
  }
458
 
504
  $batchNum++;
505
 
506
  unset($currentBatch);
 
507
  } while($condition == $batchSize && $list->rows <= $this->max_sync_size);
508
 
509
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
517
 
518
  // Get storeIds for list
519
  $storeIds = Mage::helper('pure360_common')->getStoreIdsForScope($list->getScope(), $list->getScopeId());
520
+
521
  // Configure Collection
522
  $collection = Mage::getModel('newsletter/subscriber')->getCollection()
523
  ->addFieldToFilter('main_table.customer_id', array('eq' => 0))
532
  {
533
  $collection->addFieldToFilter('subscriber_email', array('like' => '%' . $list->getListFilter() . '%'));
534
  }
535
+
536
  // Add paging for batch operation
537
  $collection->setCurPage($batchNum)->setPageSize($batchSize);
538
 
576
  $dataToSend = array('email' => $subscriber->getSubscriberEmail(),
577
  'store' => $store->getName(),
578
  'website' => $website->getName(),
579
+ 'subscription_date' => empty($subDate) ?
580
+ '' : Mage::helper('pure360_list')->toDate($subDate));
581
 
582
  return $dataToSend;
583
  }
587
  Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - start');
588
 
589
  // Get list properties
590
+ $listName = $list->getListName();
591
  $listFields = $list->getListFields();
592
  $files = Mage::helper('pure360_common/file')->getFilenamesForSlug($list->fileSlug);
593
 
638
  $files = Mage::helper('pure360_common/file')->getFilenamesForSlug($list->fileSlug);
639
 
640
  $count = 0;
641
+
642
  // Mark customers as synced
643
  foreach($files as $filename)
644
  {
662
  }
663
 
664
  // Update Sync Statuses.
665
+ $newsletterSubscriberTable = $resource->getTableName('newsletter_subscriber');
666
+ $stmt = $write->prepare("UPDATE $newsletterSubscriberTable SET pure360_sync_status = 1 WHERE `subscriber_email` = :email");
667
+ $email = null;
668
+ $stmt->bindParam(":email", $email, PDO::PARAM_STR);
 
669
 
670
+ foreach($emails as $email)
671
+ {
672
+ if(!empty($email))
673
+ {
674
+ $stmt->execute();
675
+ }
676
+ }
677
  } else
678
  {
679
  $ids = array();
694
  $model = Mage::getModel('customer/entity_setup', 'core_setup');
695
 
696
  // Update Sync Statuses.
697
+ $customerEntityTable = $resource->getTableName('customer_entity');
698
  $customerEntityIntTable = $resource->getTableName('customer_entity_int');
699
+ $attribute = 'pure360_sync_status';
700
+ $attributeId = $model->getAttributeId('customer', $attribute);
701
+
702
  $sql = "DELETE at_pure360_sync_status FROM $customerEntityTable AS e
703
  LEFT JOIN $customerEntityIntTable AS at_pure360_sync_status ON (at_pure360_sync_status.entity_id = e.entity_id)
704
  WHERE (at_pure360_sync_status.attribute_id = $attributeId)
705
  AND e.entity_id IN(" . implode(',', $ids) . ")";
706
 
707
  $write->query($sql);
708
+
709
  $sql = "INSERT INTO $customerEntityIntTable(entity_type_id, attribute_id, entity_id, value)
710
  SELECT 1,$attributeId, e.entity_id, 1 FROM $customerEntityTable AS e
711
  WHERE e.entity_id IN(" . implode(',', $ids) . ")";
712
 
713
  $write->query($sql);
714
  }
715
+
716
  if($count >= $list->rows)
717
  {
718
  break;
app/code/community/Pure360/List/Model/Address.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Address extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Address extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/Model/Customer.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Customer extends Mage_Customer_Model_Customer
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Customer extends Mage_Customer_Model_Customer
8
  {
app/code/community/Pure360/List/Model/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Data extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Data extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/Model/Groups.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Groups extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Groups extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/Model/List.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_List extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_List extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/Model/Observer.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Observer extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Observer extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/Model/Resource/List.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Resource_List extends Mage_Core_Model_Mysql4_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Resource_List extends Mage_Core_Model_Mysql4_Abstract
8
  {
app/code/community/Pure360/List/Model/Resource/List/Collection.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Resource_List_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Resource_List_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
8
  {
app/code/community/Pure360/List/Model/Sales.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Sales extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Sales extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/Model/Segments.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_Model_Segments extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_Model_Segments extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/List/controllers/AjaxController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_List_AjaxController extends Mage_Adminhtml_Controller_Action
10
  {
3
  /**
4
  * @package Pure360\List
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_List_AjaxController extends Mage_Adminhtml_Controller_Action
8
  {
app/code/community/Pure360/List/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Pure360_List>
5
- <version>1.0.1</version>
6
  </Pure360_List>
7
  </modules>
8
  <global>
@@ -146,13 +146,13 @@
146
  </adminhtml>
147
  <admin>
148
  <routers>
149
- <adminhtml>
 
150
  <args>
151
- <modules>
152
- <pure360_list before="Mage_Adminhtml">Pure360_List_Adminhtml</pure360_list>
153
- </modules>
154
  </args>
155
- </adminhtml>
156
  </routers>
157
  </admin>
158
  <default>
2
  <config>
3
  <modules>
4
  <Pure360_List>
5
+ <version>1.0.2</version>
6
  </Pure360_List>
7
  </modules>
8
  <global>
146
  </adminhtml>
147
  <admin>
148
  <routers>
149
+ <pure360_list>
150
+ <use>admin</use>
151
  <args>
152
+ <module>Pure360_List</module>
153
+ <frontName>pure360_list</frontName>
 
154
  </args>
155
+ </pure360_list>
156
  </routers>
157
  </admin>
158
  <default>
app/code/community/Pure360/List/sql/pure360_list_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} RENAMED
File without changes
app/code/community/Pure360/Newsletter/Block/Adminhtml/System/Config/About.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Block_Adminhtml_System_Config_About extends Pure360_Common_Block_Adminhtml_System_Config_About
8
  {
app/code/community/Pure360/Newsletter/Block/Checkout/Onepage/Newsletter.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Block_Checkout_Onepage_Newsletter extends Mage_Checkout_Block_Onepage_Abstract
10
  {
@@ -111,12 +109,11 @@ class Pure360_Newsletter_Block_Checkout_Onepage_Newsletter extends Mage_Checkout
111
  }
112
 
113
  // Create JS
114
- $js.= "Element.{$action}('register-customer-newsletter');\r\n";
115
  $js.= "$('billing:is_subscribed_box').checked = {$checked};\r\n";
116
  $js.= "$('billing:is_subscribed').value = {$value};\r\n";
117
  $js.= "$('billing:is_subscribed').value = {$value};\r\n";
118
 
119
  return $js;
120
  }
121
-
122
  }
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Block_Checkout_Onepage_Newsletter extends Mage_Checkout_Block_Onepage_Abstract
8
  {
109
  }
110
 
111
  // Create JS
112
+ $js.= "Element.{$action}('customer-subscribe');\r\n";
113
  $js.= "$('billing:is_subscribed_box').checked = {$checked};\r\n";
114
  $js.= "$('billing:is_subscribed').value = {$value};\r\n";
115
  $js.= "$('billing:is_subscribed').value = {$value};\r\n";
116
 
117
  return $js;
118
  }
 
119
  }
app/code/community/Pure360/Newsletter/Block/Jsinit.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Block_Jsinit extends Mage_Adminhtml_Block_Template
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Block_Jsinit extends Mage_Adminhtml_Block_Template
8
  {
app/code/community/Pure360/Newsletter/Helper/Api.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Helper_Api extends Pure360_Common_Helper_Api
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Helper_Api extends Pure360_Common_Helper_Api
8
  {
app/code/community/Pure360/Newsletter/Helper/Data.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Helper_Data extends Pure360_Common_Helper_Data
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Helper_Data extends Pure360_Common_Helper_Data
8
  {
app/code/community/Pure360/Newsletter/Model/Observer.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Model_Observer extends Mage_Core_Model_Abstract
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Model_Observer extends Mage_Core_Model_Abstract
8
  {
app/code/community/Pure360/Newsletter/Model/Subscriber.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_Model_Subscriber extends Mage_Newsletter_Model_Subscriber
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_Model_Subscriber extends Mage_Newsletter_Model_Subscriber
8
  {
app/code/community/Pure360/Newsletter/controllers/IndexController.php CHANGED
@@ -3,8 +3,6 @@
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
6
- * @version 1.0.1
7
- * @author Stewart Waller <stewart.waller@pure360.com>
8
  */
9
  class Pure360_Newsletter_IndexController extends Mage_Core_Controller_Front_Action
10
  {
3
  /**
4
  * @package Pure360\Newsletter
5
  * @copyright 2013 Pure360.com
 
 
6
  */
7
  class Pure360_Newsletter_IndexController extends Mage_Core_Controller_Front_Action
8
  {
app/code/community/Pure360/Newsletter/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Pure360_Newsletter>
5
- <version>1.0.1</version>
6
  </Pure360_Newsletter>
7
  </modules>
8
  <global>
@@ -113,13 +113,13 @@
113
  </adminhtml>
114
  <admin>
115
  <routers>
116
- <adminhtml>
 
117
  <args>
118
- <modules>
119
- <pure360_newsletter before="Mage_Adminhtml">Pure360_Newsletter_Adminhtml</pure360_newsletter>
120
- </modules>
121
  </args>
122
- </adminhtml>
123
  </routers>
124
  </admin>
125
  <default>
2
  <config>
3
  <modules>
4
  <Pure360_Newsletter>
5
+ <version>1.0.2</version>
6
  </Pure360_Newsletter>
7
  </modules>
8
  <global>
113
  </adminhtml>
114
  <admin>
115
  <routers>
116
+ <pure360_newsletter>
117
+ <use>admin</use>
118
  <args>
119
+ <module>Pure360_Newsletter</module>
120
+ <frontName>pure360_newsletter</frontName>
 
121
  </args>
122
+ </pure360_newsletter>
123
  </routers>
124
  </admin>
125
  <default>
app/code/community/Pure360/Newsletter/sql/pure360_newsletter_setup/{mysql4-install-1.0.1.php → mysql4-install-1.0.2.php} RENAMED
File without changes
app/design/adminhtml/default/default/template/pure360/common/about.phtml CHANGED
@@ -1,6 +1,7 @@
1
  <?php /* var $this Pure360_Common_Block_Adminhtml_System_Config_About */ ?>
2
 
3
  <div style="background-color: #f4f9f5; border: 1px solid #D6D6D6; margin-bottom: 10px; padding: 10px 5px 15px 30px; color: #000">
 
4
  <a href="http://www.pure360.com" target="_blank"><img src="<?php echo $this->getSkinUrl('images/pure360/pure_logo.png'); ?>" alt="Pure360" style="float: left; margin-right: 20px;"/></a>
5
  <strong>Improving your email marketing &amp; SMS results together</strong><br/>
6
  Call Pure360 on 08082 562353<br/>
1
  <?php /* var $this Pure360_Common_Block_Adminhtml_System_Config_About */ ?>
2
 
3
  <div style="background-color: #f4f9f5; border: 1px solid #D6D6D6; margin-bottom: 10px; padding: 10px 5px 15px 30px; color: #000">
4
+ <p style="float: right; font-family: monospace; font-size: 9px; color: gray">v<?php echo $this->helper('pure360_common')->getModuleVersion(); ?></p>
5
  <a href="http://www.pure360.com" target="_blank"><img src="<?php echo $this->getSkinUrl('images/pure360/pure_logo.png'); ?>" alt="Pure360" style="float: left; margin-right: 20px;"/></a>
6
  <strong>Improving your email marketing &amp; SMS results together</strong><br/>
7
  Call Pure360 on 08082 562353<br/>
app/design/frontend/base/default/layout/pure360/cart.xml CHANGED
@@ -1,5 +1,5 @@
1
  <?xml version="1.0"?>
2
- <layout version="1.0.0">
3
  <pure360_cart_email_order_items>
4
  <block type="pure360_cart/email_order_items" name="items" template="pure360/cart/email/order/items.phtml">
5
  <action method="addItemRender"><type>default</type><block>pure360_cart/email_order_items_order_default</block><template>pure360/cart/email/order/items/order/default.phtml</template></action>
1
  <?xml version="1.0"?>
2
+ <layout>
3
  <pure360_cart_email_order_items>
4
  <block type="pure360_cart/email_order_items" name="items" template="pure360/cart/email/order/items.phtml">
5
  <action method="addItemRender"><type>default</type><block>pure360_cart/email_order_items_order_default</block><template>pure360/cart/email/order/items/order/default.phtml</template></action>
app/design/frontend/base/default/layout/pure360/newsletter.xml CHANGED
@@ -1,5 +1,5 @@
1
  <?xml version="1.0"?>
2
- <layout version="1.0.0">
3
  <checkout_onepage_index>
4
  <reference name="content">
5
  <block type="pure360_newsletter/checkout_onepage_newsletter" name="checkout.onepage.billing.newsletter.js" after="-">
1
  <?xml version="1.0"?>
2
+ <layout>
3
  <checkout_onepage_index>
4
  <reference name="content">
5
  <block type="pure360_newsletter/checkout_onepage_newsletter" name="checkout.onepage.billing.newsletter.js" after="-">
app/design/frontend/base/default/template/pure360/newsletter/jsinit.phtml CHANGED
@@ -1,15 +1,15 @@
1
  <?php if($this->isEnabled()): ?>
2
 
3
  <script>
4
- function prepareNewsletterField() {
5
- Element.show('register-customer-newsletter');
6
 
7
  if (checkout.method == 'register') {
8
- <?php echo $this->getJsCheckedCode('register'); ?>
9
  } else if (checkout.method == 'guest') {
10
- <?php echo $this->getJsCheckedCode('guest'); ?>
11
  } else {
12
- <?php echo $this->getJsCheckedCode('customer'); ?>
13
  }
14
  }
15
 
@@ -28,25 +28,26 @@
28
  }
29
 
30
  Event.observe(window, 'load', function() {
 
31
  if ($('onepage-guest-register-button') != null) {
32
  Event.observe('onepage-guest-register-button', 'click', function() {
33
- prepareNewsletterField();
34
  });
35
  }
36
- $$('#co-billing-form fieldset')[0].insert('<span id="register-customer-newsletter" style="display:none;"></span>')
37
- $$('#co-billing-form fieldset #register-customer-newsletter')[0].insert('<style>.col1-layout .billing_is_subscribed_box { margin-left: 240px !important; } .col1-layout #billing_subscribed_label { text-align: left; }</style>');
38
-
39
- $$('#co-billing-form fieldset #register-customer-newsletter')[0].insert(
40
- '<br />' +
41
- '<div class="">' +
 
 
 
 
42
  '<input id="billing:is_subscribed_original" type="hidden" name="billing[is_subscribed_original]" value="1" />' +
43
- '<input id="billing:is_subscribed" type="hidden" name="billing[is_subscribed]" value="1" />' +
44
- '<input id="billing:is_subscribed_box" class="billing_is_subscribed_box" type="checkbox" onchange="setSubscribedValue(this); return false;" checked="checked" title="<?php echo $this->__($this->getCheckboxLabelText()) ?>" style="float:left; width: auto; margin: 2px 8px 0 0;" />' +
45
- '<strong><span><label id="billing_subscribed_label" for="billing[is_subscribed]"><?php echo $this->__($this->getCheckboxLabelText()) ?></label></span></strong>' +
46
- '</div>' +
47
- '');
48
-
49
- prepareNewsletterField();
50
  });
51
  </script>
52
 
1
  <?php if($this->isEnabled()): ?>
2
 
3
  <script>
4
+ function loadSubscribedField() {
5
+ Element.show('customer-subscribe');
6
 
7
  if (checkout.method == 'register') {
8
+ <?php echo $this->getJsCheckedCode('register'); ?>
9
  } else if (checkout.method == 'guest') {
10
+ <?php echo $this->getJsCheckedCode('guest'); ?>
11
  } else {
12
+ <?php echo $this->getJsCheckedCode('customer'); ?>
13
  }
14
  }
15
 
28
  }
29
 
30
  Event.observe(window, 'load', function() {
31
+
32
  if ($('onepage-guest-register-button') != null) {
33
  Event.observe('onepage-guest-register-button', 'click', function() {
34
+ loadSubscribedField();
35
  });
36
  }
37
+
38
+ $$('#co-billing-form fieldset ul').first().insert(
39
+ '<li><!-- --></li>' +
40
+ '<li class="control" id="customer-subscribe" style="display:none;">' +
41
+ '<input name="billing[is_subscribed]" id="billing:is_subscribed_box" value="1" checked="checked" title="Ship to this address" onchange="setSubscribedValue(this); return false;" class="checkbox" type="checkbox" />' +
42
+ '<label for="billing:is_subscribed_box"><?php echo $this->__($this->getCheckboxLabelText()) ?></label>' +
43
+ '</li>'
44
+ );
45
+
46
+ $$('#co-billing-form fieldset')[0].insert(
47
  '<input id="billing:is_subscribed_original" type="hidden" name="billing[is_subscribed_original]" value="1" />' +
48
+ '<input id="billing:is_subscribed" type="hidden" name="billing[is_subscribed]" value="1" />');
49
+
50
+ loadSubscribedField();
 
 
 
 
51
  });
52
  </script>
53
 
js/mage/adminhtml/pure360/cron.js CHANGED
@@ -1,5 +1,6 @@
1
  Event.observe(window, 'load', function() {
2
  initPure360Cron();
 
3
  });
4
 
5
  Pure360Cron = Class.create();
1
  Event.observe(window, 'load', function() {
2
  initPure360Cron();
3
+ setTimeout('window.location.reload();', 10000);
4
  });
5
 
6
  Pure360Cron = Class.create();
lib/Pure360/Package.php CHANGED
@@ -7,5 +7,3 @@ abstract class Pure360_Package
7
 
8
  }
9
  }
10
-
11
- ?>
7
 
8
  }
9
  }
 
 
lib/Pure360/Package/Account.php CHANGED
@@ -3,7 +3,6 @@
3
  /**
4
  * Description of Account
5
  *
6
- * @author stewart.waller
7
  */
8
  class Pure360_Package_Account extends Pure360_Package
9
  {
3
  /**
4
  * Description of Account
5
  *
 
6
  */
7
  class Pure360_Package_Account extends Pure360_Package
8
  {
lib/Pure360/Package/Account/Identity.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package account
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Account_Identity extends Pure360_Entity
12
  {
6
  * @package account
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Account_Identity extends Pure360_Entity
11
  {
lib/Pure360/Package/Account/Login.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package account
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <mark.hla@pure360.com>
10
  */
11
  class Pure360_Package_Account_Login extends Pure360_Entity
12
  {
6
  * @package account
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Account_Login extends Pure360_Entity
11
  {
lib/Pure360/Package/Account/Pool.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package account
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Account_Pool extends Pure360_Entity
12
  {
6
  * @package account
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Account_Pool extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign.php CHANGED
@@ -3,7 +3,6 @@
3
  /**
4
  * Description of Campaign
5
  *
6
- * @author stewart.waller
7
  */
8
  class Pure360_Package_Campaign extends Pure360_Package
9
  {
3
  /**
4
  * Description of Campaign
5
  *
 
6
  */
7
  class Pure360_Package_Campaign extends Pure360_Package
8
  {
lib/Pure360/Package/Campaign/Automation.php CHANGED
@@ -8,7 +8,6 @@
8
  * @package campaign
9
  * @subpackage facade
10
  *
11
- * @author Stewart Waller <stewart.waller@pure360.com>
12
  */
13
  class Pure360_Package_Campaign_Automation extends Pure360_Entity
14
  {
8
  * @package campaign
9
  * @subpackage facade
10
  *
 
11
  */
12
  class Pure360_Package_Campaign_Automation extends Pure360_Entity
13
  {
lib/Pure360/Package/Campaign/AutomationByDate.php CHANGED
@@ -7,7 +7,6 @@
7
  * @package campaign
8
  * @subpackage facade
9
  *
10
- * @author Stewart Waller <stewart.waller@pure360.com>
11
  */
12
  class Pure360_Package_Campaign_AutomationByDate extends Pure360_Entity
13
  {
7
  * @package campaign
8
  * @subpackage facade
9
  *
 
10
  */
11
  class Pure360_Package_Campaign_AutomationByDate extends Pure360_Entity
12
  {
lib/Pure360/Package/Campaign/AutomationBySignup.php CHANGED
@@ -7,7 +7,6 @@
7
  * @package campaign
8
  * @subpackage facade
9
  *
10
- * @author Stewart Waller <stewart.waller@pure360.com>
11
  */
12
  class Pure360_Package_Campaign_AutomationBySignup extends Pure360_Entity
13
  {
7
  * @package campaign
8
  * @subpackage facade
9
  *
 
10
  */
11
  class Pure360_Package_Campaign_AutomationBySignup extends Pure360_Entity
12
  {
lib/Pure360/Package/Campaign/ContentItem.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_ContentItem extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_ContentItem extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/Delivery.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_Delivery extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_Delivery extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/DynamicRegion.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_DynamicRegion extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_DynamicRegion extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/Email.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_Email extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_Email extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/Filter.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_Filter extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_Filter extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/GroupDelivery.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_GroupDelivery extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_GroupDelivery extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/MarketingList.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_MarketingList extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_MarketingList extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/Message.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_Message extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_Message extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/One2One.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_One2One extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_One2One extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/Person.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_Person extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_Person extends Pure360_Entity
11
  {
lib/Pure360/Package/Campaign/Sms.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package campaign
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.com>
10
  */
11
  class Pure360_Package_Campaign_Sms extends Pure360_Entity
12
  {
6
  * @package campaign
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Campaign_Sms extends Pure360_Entity
11
  {
lib/Pure360/Package/Context.php CHANGED
@@ -3,7 +3,6 @@
3
  /**
4
  * Description of Context
5
  *
6
- * @author stewart.waller
7
  */
8
  class Pure360_Package_Context extends Pure360_Package
9
  {
3
  /**
4
  * Description of Context
5
  *
 
6
  */
7
  class Pure360_Package_Context extends Pure360_Package
8
  {
lib/Pure360/Package/Context/Context.php CHANGED
@@ -7,7 +7,6 @@
7
  * @package context
8
  * @subpackage facade
9
  *
10
- * @author Stewart Waller <stewart.waller@pure360.co.uk>
11
  */
12
  class Pure360_Package_Context_Context extends Pure360_Entity
13
  {
7
  * @package context
8
  * @subpackage facade
9
  *
 
10
  */
11
  class Pure360_Package_Context_Context extends Pure360_Entity
12
  {
lib/Pure360/Package/Context/Preference.php CHANGED
@@ -8,7 +8,6 @@ namespace Pure360\Paint\Package\Context;
8
  * @package context
9
  * @subpackage facade
10
  *
11
- * @author Stewart Waller <stewart.waller@pure360.co.uk>
12
  */
13
  class Preference extends Pure360_Entity
14
  {
8
  * @package context
9
  * @subpackage facade
10
  *
 
11
  */
12
  class Preference extends Pure360_Entity
13
  {
lib/Pure360/Package/Data.php CHANGED
@@ -3,7 +3,6 @@
3
  /**
4
  * Description of Data
5
  *
6
- * @author stewart.waller
7
  */
8
  class Pure360_Package_Data extends Pure360_Package
9
  {
3
  /**
4
  * Description of Data
5
  *
 
6
  */
7
  class Pure360_Package_Data extends Pure360_Package
8
  {
lib/Pure360/Package/Data/Meta.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package other
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.co.uk>
10
  */
11
  class Pure360_Package_Data_Meta extends Pure360_Entity
12
  {
6
  * @package other
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Data_Meta extends Pure360_Entity
11
  {
lib/Pure360/Package/Data/Scheduler.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package other
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.co.uk>
10
  */
11
  class Pure360_Package_Data_Scheduler extends Pure360_Entity
12
  {
6
  * @package other
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Data_Scheduler extends Pure360_Entity
11
  {
lib/Pure360/Package/Other.php CHANGED
@@ -3,7 +3,6 @@
3
  /**
4
  * Description of Other
5
  *
6
- * @author stewart.waller
7
  */
8
  class Pure360_Package_Other extends Pure360_Package
9
  {
3
  /**
4
  * Description of Other
5
  *
 
6
  */
7
  class Pure360_Package_Other extends Pure360_Package
8
  {
lib/Pure360/Package/Other/EventNotification.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package other
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.co.uk>
10
  */
11
  class Pure360_Package_Other_EventNotification extends Pure360_Entity
12
  {
6
  * @package other
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Other_EventNotification extends Pure360_Entity
11
  {
lib/Pure360/Package/Other/File.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package other
7
  * @subpackage facade
8
  *
9
- * @author Stewart Waller <stewart.waller@pure360.co.uk>
10
  */
11
  class Pure360_Package_Other_File extends Pure360_Entity
12
  {
6
  * @package other
7
  * @subpackage facade
8
  *
 
9
  */
10
  class Pure360_Package_Other_File extends Pure360_Entity
11
  {
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Pure360</name>
4
- <version>1.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
7
  <channel>community</channel>
@@ -65,11 +65,18 @@
65
  &#xD;
66
  &lt;p&gt;To see Pure360 pricing &lt;a title="Sign up here" href="http://www.pure360.com/take-a-trial-software-august"&gt;sign up here&lt;/a&gt; and a member of the team will be in touch to discuss your requirements and build a package that suits your individual needs.&lt;/p&gt;&#xD;
67
  </description>
68
- <notes>- Magento Connect compliancy added</notes>
 
 
 
 
 
 
 
69
  <authors><author><name>Stewart Waller</name><user>stewart_pure360</user><email>stewart.waller@pure360.com</email></author></authors>
70
- <date>2013-10-01</date>
71
- <time>14:56:26</time>
72
- <contents><target name="magecommunity"><dir name="Pure360"><dir name="Cart"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="1ff0e8c85de4b45923bf8803ba7fa771"/></dir></dir></dir><dir name="Email"><dir name="Order"><file name="Items.php" hash="4328a3f78a48e9fb45630a73af3a61f0"/></dir></dir><file name="Jsinit.php" hash="ba60e77b01e58047cdf54bb51f520eeb"/></dir><dir name="Helper"><file name="Data.php" hash="4a05269db1e5fd9be1d1cd26be983bbe"/></dir><dir name="Job"><file name="Trigger.php" hash="0a8f2891446f5385ef5c6320a10a81f7"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="751705e9db1cee3615a4b24b1024be89"/></dir><dir name="Source"><file name="Delay.php" hash="ac1218d83998f5cd69d5b0656c427718"/><dir name="Email"><file name="Template.php" hash="55d26cde995f9acc0f10fbd882324353"/><file name="TemplateGuest.php" hash="bc595e480c96c7b4616332fe07c21baa"/></dir><file name="Type.php" hash="6ba9ad4dc3b9b496effc25a441fb206e"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="e1a5dbaa470c5a8fc1a0390316e8fd2c"/></dir><dir name="etc"><file name="config.xml" hash="71372a952d9481d38c5add83e97f33bf"/><file name="system.xml" hash="02bfe0ba69816df211fb6851067414dc"/></dir><dir name="sql"><dir name="pure360_cart_setup"><file name="mysql4-install-1.0.1.php" hash="49960b758d00481bad2d3baa2daba9cd"/></dir></dir></dir><dir name="Common"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="4d401c9b9cddb95192fcb0fa01eae127"/><file name="Disabled.php" hash="d96453cd7c77edbba125d06133b7bafe"/><dir name="Form"><dir name="Field"><file name="Hidden.php" hash="629293abde44883dc0a25fd9734c348e"/></dir><file name="Field.php" hash="fd7e602d8dfd9666f9e70e538c2692ec"/><file name="Fieldset.php" hash="e092dc3ca05508a4dec65bd171aaaddb"/></dir><file name="Form.php" hash="3282cf14d53b07ce759c68c0b07794be"/><file name="Hidden.php" hash="8c8022f3df7c1c25861281f1bbbc8ae6"/><file name="Modules.php" hash="fb466e07489436972996fff25283da81"/><file name="Tabs.php" hash="a3d0e6ce50c99a1b01723770bd08ac9e"/><dir name="Validate"><file name="Marketing.php" hash="a8c90f49ca1c460795f010fa639cc469"/><file name="Transactional.php" hash="a22b73d2567aa419682e6af9a364029b"/></dir></dir></dir></dir><file name="Jsinit.php" hash="d16eca1c11209f179d416e3034eeb227"/></dir><dir name="Helper"><file name="Ajax.php" hash="9424aa4a53133383e14ea497be0a8efc"/><file name="Api.php" hash="97da6e33289fcbe84abddd8d8cae50d1"/><file name="Data.php" hash="40858a3f781272ff83c800620fcdcad8"/><file name="File.php" hash="d8de551b05bb0160cf53de647e7236b2"/></dir><dir name="Interface"><file name="Job.php" hash="8358c8afbbce2f2eccc45fe815d6b9a4"/></dir><dir name="Model"><file name="Observer.php" hash="313b271b4f0d3b735416610f052d1661"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="ab6da91e15595ddc2496303047c5f633"/></dir><dir name="Source"><dir name="Cron"><file name="Days.php" hash="783558ee4436c94fb67994b65543f3d1"/><file name="Frequency.php" hash="8d1b1576bf9db3cd98626ff294623da8"/><file name="Minutes.php" hash="40797e2ad44586b9ca1610631e42dbdf"/></dir><file name="Field.php" hash="3e93a550d25334ac977a34f4c20924cd"/><file name="Global.php" hash="068d095d75bbcdf959b8ad7bb1540431"/><file name="Message.php" hash="edc370962e3f890b9975548887446f61"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="800147284a83abe66064103ce7dc995f"/><file name="JobController.php" hash="c488af5d4bba815b8b664ddeabb82fe6"/><file name="Pure360Controller.php" hash="6ac08310c97420c565c77557061c8cb1"/></dir><dir name="etc"><file name="config.xml" hash="84baea53c71960fb1570a93dc7358f53"/><file name="system.xml" hash="9b467fbbc758e3933e1343f8a0f63715"/></dir></dir><dir name="Cron"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="bece955735e47e516eddabe1ace4fbb8"/></dir><dir name="Cron"><dir name="Manager"><dir name="Grid"><dir name="Renderer"><file name="Actions.php" hash="2ece0aa18c688096888150addd468851"/><file name="Crontab.php" hash="8a73b3040684ca7d34a53c40beb03302"/><file name="Force.php" hash="f8cc6730a153ae357fd9b75e62eca892"/><file name="Pause.php" hash="10ca03371c1fae9bc5ff451a3490b87a"/></dir></dir><file name="Grid.php" hash="25c214dd594040016c63eccd61278d46"/><dir name="Logs"><dir name="Renderer"><file name="Bytes.php" hash="9e0557b7e8bdbccaca32119b4aa6744b"/><file name="Clean.php" hash="aff8faab5ed1309f4dec5eae1beecda2"/><file name="Download.php" hash="dee5f793d13eb03776f82b440760a1b2"/><file name="Tail.php" hash="51ed024a1d8380312586adf7aacdad4a"/></dir></dir><file name="Logs.php" hash="c8579d47abc7be14e115497cbd56442f"/></dir><file name="Manager.php" hash="8da9ca8ef2abb4c09dc2df572f500921"/></dir></dir></dir><file name="Jsinit.php" hash="537a7d932fab9b5fb53d304294d06b6a"/></dir><dir name="Helper"><file name="Data.php" hash="0e4a79a593a663080526b847039bb985"/></dir><dir name="Job"><file name="Abstract.php" hash="fa5c270541ce49ed4e1501cb0ccbdbe0"/><file name="Interface.php" hash="a7714e6cfe059db21bc50213a5188e04"/></dir><dir name="Model"><file name="Job.php" hash="d1395c57e300d75e207c5f22549428c5"/><file name="Observer.php" hash="b37d5c76b95d142d3effcefb826e5c33"/><dir name="Resource"><dir name="Job"><file name="Collection.php" hash="846ec5511751154a9ca490dca91c15ed"/></dir><file name="Job.php" hash="9c0592d48cb3b4dcd672ac8e29959b11"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="8d72a73a495e99d291019ef485af353e"/></dir><dir name="etc"><file name="config.xml" hash="1da7d9517a7c8328f939ead8ccf71ed0"/><file name="system.xml" hash="d398d5ef4758562b8e8c7007b2470b7b"/></dir><dir name="sql"><dir name="pure360_cron_setup"><file name="mysql4-install-1.0.1.php" hash="6819eab799199893f65c05a53451e3a0"/></dir></dir></dir><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="175213523b13b36d98a25b1d2091b967"/><file name="Transactional.php" hash="ce26f3fd1bf2d4ca41b6658849f08766"/></dir></dir></dir><file name="Jsinit.php" hash="68ef2e546c1c3feab00d9cf9c830b3e1"/></dir><dir name="Helper"><file name="Api.php" hash="fd08eb14398dbcdc39a3f7b8e7be5c7e"/><file name="Data.php" hash="811b9c9c9c56c973163207f4165af392"/></dir><dir name="Model"><dir name="Email"><file name="Message.php" hash="09c8f531c17f89be97d1c823b0889e9b"/></dir><file name="Messages.php" hash="700e68f9cca69ddb5687aa1ee3054d92"/><dir name="Resource"><dir name="Transactional"><file name="Collection.php" hash="17334b69d50253b75b8267d2a6a38539"/></dir><file name="Transactional.php" hash="cc6dc3c28def8328ecf31d1bd1d0f6a5"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Email"><file name="Template.php" hash="9d780c8252caafaade16b4986577136b"/></dir></dir></dir></dir><file name="Transactional.php" hash="cd57e26d9f2858d493976b39f5ec23c7"/></dir><dir name="controllers"><file name="AjaxController.php" hash="6fe808ce85dcc6acedbdfb52890da282"/></dir><dir name="etc"><file name="config.xml" hash="b0c9252e6146d425e97155501a2938d3"/><file name="system.xml" hash="b1ed057cfe7d27ecfb86fdf5a3f02e27"/></dir><dir name="sql"><dir name="pure360_email_setup"><file name="mysql4-install-1.0.1.php" hash="bb37fdf2a7c8907b13e003eb56f13542"/></dir></dir></dir><dir name="List"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="45b8b4c199723b5828ebaafc5e7fdac4"/><file name="Form.php" hash="570f1a0fb28aa4da33f52384e32eb01a"/><file name="List.php" hash="1a615d260c7761c5680c6c0474561b61"/></dir></dir></dir><file name="Jsinit.php" hash="ccdb6d6e7cf872af654785dadc503aef"/></dir><dir name="Helper"><file name="Api.php" hash="ced7ab57e057bbd114fb39169cd19189"/><file name="Data.php" hash="d6ac6e6971403b94aa0f29896fbbe2a0"/></dir><dir name="Job"><file name="Sync.php" hash="d7e6d5bb057ce89171d231b412fbf46b"/></dir><dir name="Model"><file name="Address.php" hash="375a0b34620ed1dbb19bc1b7f1d3dd6f"/><file name="Customer.php" hash="12c86a0ddf2c0ed82365d4612fa184e6"/><file name="Data.php" hash="9381933259c00c55529745003ea3b01f"/><file name="Groups.php" hash="45bffdfde75bd6372ad1d8a39278262d"/><file name="List.php" hash="6f6d38a624bb148d5417b1b5ba62df12"/><file name="Observer.php" hash="db6d5ef1e5f28856129d7c5e0d59980e"/><dir name="Resource"><dir name="List"><file name="Collection.php" hash="9f7e9014343283b55a6b810c455c8f23"/></dir><file name="List.php" hash="ad580d6f21c3567c4aeca53190b651a0"/></dir><file name="Sales.php" hash="c8e0329ee8e80c7576c0f76e60e555ee"/><file name="Segments.php" hash="342bd551df5588db16b588483ec4a417"/></dir><dir name="controllers"><file name="AjaxController.php" hash="f5a93f6158f0b6a2b688cfb337df48de"/></dir><dir name="etc"><file name="config.xml" hash="bc636b3f434dda5a9028024c7da301b7"/><file name="system.xml" hash="33bc7c064f682b6009e650213ee49854"/></dir><dir name="sql"><dir name="pure360_list_setup"><file name="mysql4-install-1.0.1.php" hash="adfcfc98f03a7f9711061473fdba5a58"/></dir></dir></dir><dir name="Newsletter"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="e9852764ee67a8605ba199415aa3b0e4"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><file name="Newsletter.php" hash="04ba5081b18337068992226085735d57"/></dir></dir><file name="Jsinit.php" hash="e3643d6e15bfd249f19ddf47c850224a"/></dir><dir name="Helper"><file name="Api.php" hash="333108f09e1d312b8681cb72c3141656"/><file name="Data.php" hash="6c8cc864c04cd62a24a779628cc01571"/></dir><dir name="Model"><file name="Observer.php" hash="e6b88d5d10764985fb32fea1c7d7cb7f"/><file name="Subscriber.php" hash="92f1cca28dc2a040e26ad77751cfd8d3"/></dir><dir name="controllers"><file name="IndexController.php" hash="e25bedd54b87a86263a7c2b5ec7a1221"/></dir><dir name="etc"><file name="config.xml" hash="58da7e55f64e666b360ad43b320325ef"/><file name="system.xml" hash="35d9f9afe40ee6ea617906a3a830252f"/></dir><dir name="sql"><dir name="pure360_newsletter_setup"><file name="mysql4-install-1.0.1.php" hash="8487bc8b8483b9a941f9895e25280455"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pure360_cart.xml" hash="bb41c36682cf8829553a12881db5b2ea"/><file name="pure360_common.xml" hash="27f8fe83bb013ef6e4c3111e855aed67"/><file name="pure360_cron.xml" hash="fb35138a5514721477356dac81ac3fc1"/><file name="pure360_email.xml" hash="05ebc3cd33d33d492cae9196dfc1b65b"/><file name="pure360_list.xml" hash="4f3346bce27d07ebf2c78b888453d33f"/><file name="pure360_newsletter.xml" hash="d7ba5b55c3a3d473e96d8a7fab313584"/></dir><dir name="template"><dir name="pure360"><dir name="cart"><file name="jsinit.phtml" hash="2bca290370210037cb71c62e15b0d9cc"/></dir><dir name="common"><file name="about.phtml" hash="a5c4257f260f8bec487dfa69d8309c67"/><file name="config.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="disabled.phtml" hash="69dee703408ead95dd5c913ad2bfca9d"/><file name="error.phtml" hash="0f4f65766466a459cd57743bcbcd4085"/><file name="hidden.phtml" hash="bd8768ad057df0a9dda8e50a0507b3ed"/><file name="jsinit.phtml" hash="f30da6ab4caf72ee8f135c450a504801"/><file name="modules.phtml" hash="2dcf7bab0da85eb4533d07f8479c4c38"/></dir><dir name="cron"><file name="jsinit.phtml" hash="697388afb41375e3dfe9f7c4fff25712"/><file name="manager.phtml" hash="a413d279ec78fce33ffe2c7196fd2acb"/></dir><dir name="email"><file name="jsinit.phtml" hash="91b9745ad690249ea58b5f80c7487a1f"/><file name="transactional.phtml" hash="7f201cf65dd510fb067a173edbb0a14c"/></dir><file name="hint.phtml" hash="6e50c5cce42b12e8481e5211e8cf0f35"/><dir name="list"><file name="jsinit.phtml" hash="2a66b7d233cdf95c751e102974504ca0"/><file name="list.phtml" hash="f310c3197118223821176f4f791eeed4"/></dir><dir name="newsletter"><file name="jsinit.phtml" hash="e57d9c2279ff4440df096e79643f9bca"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="pure360"><file name="cart.xml" hash="24e28bcd058647b936d751f00d1b78ec"/><file name="newsletter.xml" hash="697d4dfed574b93bb9574ee30f5da81e"/></dir></dir><dir name="template"><dir name="pure360"><dir name="cart"><dir name="email"><dir name="order"><dir name="items"><dir name="order"><file name="default.phtml" hash="de146a4a2796d166c1337e8734ae02cd"/></dir></dir><file name="items.phtml" hash="086c832780aab518bb04cb3a8157e5ba"/></dir></dir></dir><dir name="newsletter"><file name="jsinit.phtml" hash="ebabb514982452ffc8e76ea06a75a01b"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Pure360_Cart.xml" hash="4bf660dc41ebb88fd04421b5edcb93f5"/><file name="Pure360_Common.xml" hash="21ce1650dac593cf9d1293167592ce9d"/><file name="Pure360_Cron.xml" hash="3fac7040468efecd5ae487b3e0509737"/><file name="Pure360_Email.xml" hash="e58b87357af6ed25523afd5983a63297"/><file name="Pure360_List.xml" hash="277e4aea059838480e1af90a3b2d0a7a"/><file name="Pure360_Newsletter.xml" hash="500c3d494e2c3edc7b0a0bdb0a429126"/></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="pure360"><file name="abandoned_cart.html" hash="5aef51ca2baff2a5afc489c12daabd51"/><file name="abandoned_cart_guest.html" hash="f65bbcd0ea761b0e80ac7c0082fc9456"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="mage"><dir name="adminhtml"><dir name="pure360"><file name="cart.js" hash="ee5b1110af04c4d24f0ed5f1668cf4d5"/><file name="common.js" hash="342feffc1c2665c3e23b490fd37974b6"/><file name="cron.js" hash="e2841fe9f9a529c41cb2747143bad3d1"/><file name="email.js" hash="3c9259fe31d2ade24aacc622b0790ea2"/><file name="list.js" hash="443b0acec1d1a3016f3b606e92a435d5"/><file name="newsletter.js" hash="15d462e8eaab011460431cc10a75bdb2"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Pure360"><file name="Client.php" hash="2daae4bee1c878da1c4a316ed9d0b8c7"/><file name="Entity.php" hash="ba76dccb0a80ce11a110d3e1c5e108a1"/><dir name="Exception"><file name="SecurityException.php" hash="1e30dd834995651eb8ab0ff19c022713"/><file name="SystemException.php" hash="dbb715d39318c4a63db0d05eaeb85eab"/><file name="ValidationException.php" hash="69540e782165d00400c1ae460aa755ed"/></dir><dir name="Package"><dir name="Account"><file name="Identity.php" hash="1b08a0af4f573f261f4fff33340b415a"/><file name="Login.php" hash="f1bdef56b29710af02ef9f6487a54ad2"/><file name="Pool.php" hash="c5d363313f4067d062ebd07248694d1e"/></dir><file name="Account.php" hash="3850aaa89d03e0d73bca35b6e29747bf"/><dir name="Campaign"><file name="Automation.php" hash="3de3be371d13f0ec8387b02a31780827"/><file name="AutomationByDate.php" hash="3641e0cf24f1b3b78c144033e18de68e"/><file name="AutomationBySignup.php" hash="a656d89132741be187c616f9af076728"/><file name="ContentItem.php" hash="ab34d1c19a662f4da12a4006399abac5"/><file name="Delivery.php" hash="13e2425aee1862104f2b9475ec1d7d39"/><file name="DynamicRegion.php" hash="0ccb2489c7c00225948d7ceed08814c2"/><file name="Email.php" hash="13f3670739b06a5f330235c4e3eb8ff7"/><file name="Filter.php" hash="91af29e0fe60271e3988d3fbf29056a5"/><file name="GroupDelivery.php" hash="8b3f2f617e298a8d7ed107a998634211"/><file name="MarketingList.php" hash="9f50796722d3dd3531e89999ec21f20c"/><file name="Message.php" hash="a7e0745b08eddb7850b20acb36f44148"/><file name="One2One.php" hash="75626f8315ac63fd7a733c1fe6d136cf"/><file name="Person.php" hash="553c5437a2cc05c66eddb1e1c23f3450"/><file name="Sms.php" hash="aba7f9e0c4840a184d2e0c4c209d8197"/></dir><file name="Campaign.php" hash="3c1073aa5fd7f22b7c2dc38adc76dc9c"/><dir name="Context"><file name="Context.php" hash="98cc27deef385b8219e0dc5753d8e677"/><file name="Preference.php" hash="20e635d5f29e2254d15441189e8ce014"/></dir><file name="Context.php" hash="0722155148a38bc5ed510054cdb56931"/><dir name="Data"><file name="Meta.php" hash="9656e26f52c1b1817961cb350adff1b4"/><file name="Scheduler.php" hash="154581d8b509586806142762e9171841"/></dir><file name="Data.php" hash="cc66c2247b5eddae02e918b8a3b63819"/><dir name="Other"><file name="EventNotification.php" hash="c8c7cc69b588b08f3a2ac5d414216d86"/><file name="File.php" hash="fc5cc6e8b90a61694263019c2d860457"/></dir><file name="Other.php" hash="4d6658592be135c221faff0445a1a340"/></dir><file name="Package.php" hash="74318fb314fbf860d7c789d7356590ca"/><file name="Session.php" hash="340e63e5c25296bbe9baf8426dba1726"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="pure360"><file name="pure360.css" hash="ea0485422716685e1753945731b3391e"/></dir><dir name="images"><dir name="pure360"><file name="pure_logo.png" hash="e03329ae9efacfeb292f079992a18a41"/><file name="switch.png" hash="dc4dd15ad074ab584444bda7660afe7a"/></dir></dir></dir></dir></dir></target></contents>
73
  <compatible/>
74
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><extension><name>soap</name><min></min><max></max></extension></required></dependencies>
75
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Pure360</name>
4
+ <version>1.0.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
7
  <channel>community</channel>
65
  &#xD;
66
  &lt;p&gt;To see Pure360 pricing &lt;a title="Sign up here" href="http://www.pure360.com/take-a-trial-software-august"&gt;sign up here&lt;/a&gt; and a member of the team will be in touch to discuss your requirements and build a package that suits your individual needs.&lt;/p&gt;&#xD;
67
  </description>
68
+ <notes>1.0.2&#xD;
69
+ - Dropdown values synced properly&#xD;
70
+ - Boolean Yes/No synced&#xD;
71
+ - Data consistency&#xD;
72
+ - UI tweaks&#xD;
73
+ &#xD;
74
+ 1.0.1&#xD;
75
+ - Magento Connect compliance</notes>
76
  <authors><author><name>Stewart Waller</name><user>stewart_pure360</user><email>stewart.waller@pure360.com</email></author></authors>
77
+ <date>2013-10-18</date>
78
+ <time>08:11:23</time>
79
+ <contents><target name="magecommunity"><dir name="Pure360"><dir name="Cart"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b2a89a4eb5a0cc07a4ddb9851b5d8490"/></dir></dir></dir><dir name="Email"><dir name="Order"><file name="Items.php" hash="45b9becd073ab968872f142243d52d63"/></dir></dir><file name="Jsinit.php" hash="9ba1a3c3b20736d2b2376046da2b3fcf"/></dir><dir name="Helper"><file name="Data.php" hash="bc15d6ba50c4e6f0242eb07532b13c99"/></dir><dir name="Job"><file name="Trigger.php" hash="192fc12b542e97665d21e6d88d6713fb"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="742234ea19b737b33de9af1aea4dcf6e"/></dir><dir name="Source"><file name="Delay.php" hash="386d7aa81411c136516e8c4cc3f13ad3"/><dir name="Email"><file name="Template.php" hash="9f2fab6d42a1da181f272d70c5236172"/><file name="TemplateGuest.php" hash="682117c74cecda7395941cb5fcbdc729"/></dir><file name="Type.php" hash="a4a09a9fcaf0f970e823479bb784e92c"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="82a5cba1c9069306bbd9886fd9ad1bf9"/></dir><dir name="etc"><file name="config.xml" hash="7e61b6192345eb5c6b60b3c41b2a6f24"/><file name="system.xml" hash="02bfe0ba69816df211fb6851067414dc"/></dir><dir name="sql"><dir name="pure360_cart_setup"><file name="mysql4-install-1.0.2.php" hash="49960b758d00481bad2d3baa2daba9cd"/></dir></dir></dir><dir name="Common"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="29091a400a1ce9c9207d732de03ce7bd"/><file name="Disabled.php" hash="9970f5fc1b0b34000b8219f2519eccaa"/><dir name="Form"><dir name="Field"><file name="Hidden.php" hash="95ed0e83cd87c03de709789eb21ab1b2"/></dir><file name="Field.php" hash="34766e8795a023cdf19c2fc0bb0c976f"/><file name="Fieldset.php" hash="0605c96e429b6d1c5ae6081b6a1bf76e"/></dir><file name="Form.php" hash="d8c5c4aa3d8132c7318311981cd1fdee"/><file name="Hidden.php" hash="b4b32095413ebdd63f4de1194e20ea0e"/><file name="Modules.php" hash="3deb577d540a7537d91059a8393d759d"/><file name="Tabs.php" hash="de833cdcb3b278923e53ee85d685820f"/><dir name="Validate"><file name="Marketing.php" hash="86513e7b18dc53ab3f6a17ae1c2ffb07"/><file name="Transactional.php" hash="578130a5e13e24848eea90dede3d8ab5"/></dir></dir></dir></dir><file name="Jsinit.php" hash="47c0e55bbe05d6adc07840090034eca7"/></dir><dir name="Helper"><file name="Ajax.php" hash="57787267c712dd712f74fc54e6f2765f"/><file name="Api.php" hash="16862411672bafb439a5b81ddca0c49f"/><file name="Data.php" hash="b7006096a1a9693b5c2d13d03810c6b5"/><file name="File.php" hash="9ce95f89acca0eddc0745e21dccdb165"/></dir><dir name="Interface"><file name="Job.php" hash="59c3fcfe0e35f2a7867a3bd8e5f51d61"/></dir><dir name="Model"><file name="Observer.php" hash="045ba8d185a9646cc2bfb0adfe96e6ef"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="9445b26df9a78548fd0c22be126acc7c"/></dir><dir name="Source"><dir name="Cron"><file name="Days.php" hash="0174fb71a0cd1979b4b1a74b4d5dfe6e"/><file name="Frequency.php" hash="0c0afecf1341100e4ba90e180df6facf"/><file name="Minutes.php" hash="b7a8eef1155ca8cddadc79d643ac56bc"/></dir><file name="Field.php" hash="da1801ccb45426ce8e960a4d40952303"/><file name="Global.php" hash="412071d06a25bf92962d2c2be1eb411a"/><file name="Message.php" hash="aa72d6227f29795dadf9c45405cafffd"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="6e267f11b1d7df2ef27a721ae4c10887"/><file name="JobController.php" hash="99b6026a540c4f02c8c827e66a85d48b"/><file name="Pure360Controller.php" hash="07599b0ad90725bda1201b8bd291e0d5"/></dir><dir name="etc"><file name="config.xml" hash="35e2aa9156c1678c82ab86b27616bb76"/><file name="system.xml" hash="9b467fbbc758e3933e1343f8a0f63715"/></dir></dir><dir name="Cron"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="4c08269367666f8aa9ea9028f1afc0b7"/></dir><dir name="Cron"><dir name="Manager"><dir name="Grid"><dir name="Renderer"><file name="Actions.php" hash="c0ee554f426a5147b486384c52f8eae3"/><file name="Crontab.php" hash="b28f87aeb8259bd17583b2a86fa16e19"/><file name="Force.php" hash="69f68ee9b7e7deccf161991aff2013fe"/><file name="Pause.php" hash="780dd8620f8c0c0a7094c558d6c1b0fc"/></dir></dir><file name="Grid.php" hash="a654543f57a356152eb7119cf971f4a9"/><dir name="Logs"><dir name="Renderer"><file name="Bytes.php" hash="a252cdb9290293c58962b19ec376d11f"/><file name="Clean.php" hash="448c3aae8e6fef07e676a53ac1225e11"/><file name="Download.php" hash="1046ed159db6e270d78823af78e4dec0"/><file name="Tail.php" hash="57ad12798b10af495e3e3d34e84ecb36"/></dir></dir><file name="Logs.php" hash="bbad87b3c1ff4165179ffa799554f568"/></dir><file name="Manager.php" hash="407928e5052d387a45f02b5c8e70810b"/></dir></dir></dir><file name="Jsinit.php" hash="28d2d2074598dd783db41884fc624f88"/></dir><dir name="Helper"><file name="Data.php" hash="fa6c7e721a561c014382692aa2a49eab"/></dir><dir name="Job"><file name="Abstract.php" hash="f59fb9712d9001f3406d10c202a45223"/><file name="Interface.php" hash="306c4c9de6dc281ce2d50012759da82c"/></dir><dir name="Model"><file name="Job.php" hash="2876e7fcff63de170d0b34d2aef92254"/><file name="Observer.php" hash="b42620793b3cda50d47f752c7d0e600b"/><dir name="Resource"><dir name="Job"><file name="Collection.php" hash="a42b6c45b4786f35d2d808bd3e0860da"/></dir><file name="Job.php" hash="ca3d4f31293d6419fb4b84a10dec4464"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="01b2c823877a8e7838c8e1cd5f3f568b"/></dir><dir name="etc"><file name="config.xml" hash="029ada4d5f1111fd158f33d1e934abb1"/><file name="system.xml" hash="d398d5ef4758562b8e8c7007b2470b7b"/></dir><dir name="sql"><dir name="pure360_cron_setup"><file name="mysql4-install-1.0.2.php" hash="6819eab799199893f65c05a53451e3a0"/></dir></dir></dir><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="c03154f20bdfbe72631bc09fbd3f86da"/><file name="Transactional.php" hash="37476f57155a4d28a9a16d75f1c2269c"/></dir></dir></dir><file name="Jsinit.php" hash="463a0092939237b6de4c4e9b47e897d8"/></dir><dir name="Helper"><file name="Api.php" hash="ddeb4f28ee7f82530b96055c4b5ccaa8"/><file name="Data.php" hash="ca33046f86cd97daff222e2386879ee8"/></dir><dir name="Model"><dir name="Email"><file name="Message.php" hash="2cae4bee4aaff2c4850d93bbf762ce04"/></dir><file name="Messages.php" hash="56eeb27a00e794774759d4631df0df0d"/><dir name="Resource"><dir name="Transactional"><file name="Collection.php" hash="92714dd16f619e43ae8695bf6b9a5d59"/></dir><file name="Transactional.php" hash="c2c02bf63ab5c7314eca1f94f4f953bc"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Email"><file name="Template.php" hash="6e04d1a0f99becc198a940ef1c8ebf57"/></dir></dir></dir></dir><file name="Transactional.php" hash="f71a307d7dc6bb652a1267921b78a7e6"/></dir><dir name="controllers"><file name="AjaxController.php" hash="1d81c0ad2620918a07266c40d772b8e0"/></dir><dir name="etc"><file name="config.xml" hash="8c6afc0a1f4a4cac0c3df34c78e4a668"/><file name="system.xml" hash="b1ed057cfe7d27ecfb86fdf5a3f02e27"/></dir><dir name="sql"><dir name="pure360_email_setup"><file name="mysql4-install-1.0.2.php" hash="bb37fdf2a7c8907b13e003eb56f13542"/></dir></dir></dir><dir name="List"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="f66afdcd44d13a9a4dbd92fc3d77114a"/><file name="Form.php" hash="9b8b1a093cc9c455fb108a6f9d3960c0"/><file name="List.php" hash="9ee4a1c9e91b63402060f85726296f16"/></dir></dir></dir><file name="Jsinit.php" hash="78daf97d49034d34c36007322408c9a8"/></dir><dir name="Helper"><file name="Api.php" hash="c6fad3966387a14f3b2cc6b6939f1c82"/><file name="Data.php" hash="5d6e01975c1a5ba84c44477591ffd977"/></dir><dir name="Job"><file name="Sync.php" hash="95e15392c2cb4ccfeba3cf06edbd8bd2"/></dir><dir name="Model"><file name="Address.php" hash="844441bf49a1f1ac492939449c33f28c"/><file name="Customer.php" hash="e0e3418881877b5b17579bec7978728f"/><file name="Data.php" hash="1e70c242bcfd71a92832cc300d8697fc"/><file name="Groups.php" hash="05f58791bbd56a161b8dc614831197ca"/><file name="List.php" hash="9125566c34a2500734e1c2583371aec3"/><file name="Observer.php" hash="ca2ea4a8ca36f7203c1a9ea30c70aa08"/><dir name="Resource"><dir name="List"><file name="Collection.php" hash="503fae2e6c778646ba730eaf98a67ae5"/></dir><file name="List.php" hash="5b443a43c67230dca205cf44e568b613"/></dir><file name="Sales.php" hash="9910099ba6f492c414e951a49e5960c1"/><file name="Segments.php" hash="6bf9009dc93f71224d29644c333c1a61"/></dir><dir name="controllers"><file name="AjaxController.php" hash="20084d7deabcb5ba6c37b53da0d8524e"/></dir><dir name="etc"><file name="config.xml" hash="de6805f928ce93fe3c7bce2910c7d28f"/><file name="system.xml" hash="33bc7c064f682b6009e650213ee49854"/></dir><dir name="sql"><dir name="pure360_list_setup"><file name="mysql4-install-1.0.2.php" hash="adfcfc98f03a7f9711061473fdba5a58"/></dir></dir></dir><dir name="Newsletter"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="dbc0efc7099f1ac9af12d02fc87f559c"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><file name="Newsletter.php" hash="c65136e4076cbb4c686b465c5d04fcc2"/></dir></dir><file name="Jsinit.php" hash="3cdd4b0da1539ac253e440997bb56308"/></dir><dir name="Helper"><file name="Api.php" hash="b31a077fab97c6d0a7a99c2a1d5db05a"/><file name="Data.php" hash="c2c63a8c9546183b6cb5048e6d7ddf7b"/></dir><dir name="Model"><file name="Observer.php" hash="0320f4334ef874f2c112e5d595760ec1"/><file name="Subscriber.php" hash="412d9a51803047fd337672712d0e44a9"/></dir><dir name="controllers"><file name="IndexController.php" hash="da4dfea12608bf7ef6e177b9a0be47ba"/></dir><dir name="etc"><file name="config.xml" hash="062115dd7dddfe8336f204e73254d282"/><file name="system.xml" hash="35d9f9afe40ee6ea617906a3a830252f"/></dir><dir name="sql"><dir name="pure360_newsletter_setup"><file name="mysql4-install-1.0.2.php" hash="8487bc8b8483b9a941f9895e25280455"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pure360_cart.xml" hash="bb41c36682cf8829553a12881db5b2ea"/><file name="pure360_common.xml" hash="27f8fe83bb013ef6e4c3111e855aed67"/><file name="pure360_cron.xml" hash="fb35138a5514721477356dac81ac3fc1"/><file name="pure360_email.xml" hash="05ebc3cd33d33d492cae9196dfc1b65b"/><file name="pure360_list.xml" hash="4f3346bce27d07ebf2c78b888453d33f"/><file name="pure360_newsletter.xml" hash="d7ba5b55c3a3d473e96d8a7fab313584"/></dir><dir name="template"><dir name="pure360"><dir name="cart"><file name="jsinit.phtml" hash="2bca290370210037cb71c62e15b0d9cc"/></dir><dir name="common"><file name="about.phtml" hash="643d4e13c093fd954e928ada274772de"/><file name="config.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="disabled.phtml" hash="69dee703408ead95dd5c913ad2bfca9d"/><file name="error.phtml" hash="0f4f65766466a459cd57743bcbcd4085"/><file name="hidden.phtml" hash="bd8768ad057df0a9dda8e50a0507b3ed"/><file name="jsinit.phtml" hash="f30da6ab4caf72ee8f135c450a504801"/><file name="modules.phtml" hash="2dcf7bab0da85eb4533d07f8479c4c38"/></dir><dir name="cron"><file name="jsinit.phtml" hash="697388afb41375e3dfe9f7c4fff25712"/><file name="manager.phtml" hash="a413d279ec78fce33ffe2c7196fd2acb"/></dir><dir name="email"><file name="jsinit.phtml" hash="91b9745ad690249ea58b5f80c7487a1f"/><file name="transactional.phtml" hash="7f201cf65dd510fb067a173edbb0a14c"/></dir><file name="hint.phtml" hash="6e50c5cce42b12e8481e5211e8cf0f35"/><dir name="list"><file name="jsinit.phtml" hash="2a66b7d233cdf95c751e102974504ca0"/><file name="list.phtml" hash="f310c3197118223821176f4f791eeed4"/></dir><dir name="newsletter"><file name="jsinit.phtml" hash="e57d9c2279ff4440df096e79643f9bca"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="pure360"><file name="cart.xml" hash="31aa1884491949f7965aa0b8c514fc7c"/><file name="newsletter.xml" hash="790ced3bb4a2a83267b548fb0e0544e8"/></dir></dir><dir name="template"><dir name="pure360"><dir name="cart"><dir name="email"><dir name="order"><dir name="items"><dir name="order"><file name="default.phtml" hash="de146a4a2796d166c1337e8734ae02cd"/></dir></dir><file name="items.phtml" hash="086c832780aab518bb04cb3a8157e5ba"/></dir></dir></dir><dir name="newsletter"><file name="jsinit.phtml" hash="e99f59688cef74ad2aa3f57751c25a9f"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Pure360_Cart.xml" hash="4bf660dc41ebb88fd04421b5edcb93f5"/><file name="Pure360_Common.xml" hash="21ce1650dac593cf9d1293167592ce9d"/><file name="Pure360_Cron.xml" hash="3fac7040468efecd5ae487b3e0509737"/><file name="Pure360_Email.xml" hash="e58b87357af6ed25523afd5983a63297"/><file name="Pure360_List.xml" hash="277e4aea059838480e1af90a3b2d0a7a"/><file name="Pure360_Newsletter.xml" hash="500c3d494e2c3edc7b0a0bdb0a429126"/></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="pure360"><file name="abandoned_cart.html" hash="5aef51ca2baff2a5afc489c12daabd51"/><file name="abandoned_cart_guest.html" hash="f65bbcd0ea761b0e80ac7c0082fc9456"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="mage"><dir name="adminhtml"><dir name="pure360"><file name="cart.js" hash="ee5b1110af04c4d24f0ed5f1668cf4d5"/><file name="common.js" hash="342feffc1c2665c3e23b490fd37974b6"/><file name="cron.js" hash="b0ba0b28d2a4595bb3f87c6b04d004c4"/><file name="email.js" hash="3c9259fe31d2ade24aacc622b0790ea2"/><file name="list.js" hash="443b0acec1d1a3016f3b606e92a435d5"/><file name="newsletter.js" hash="15d462e8eaab011460431cc10a75bdb2"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Pure360"><file name="Client.php" hash="2daae4bee1c878da1c4a316ed9d0b8c7"/><file name="Entity.php" hash="ba76dccb0a80ce11a110d3e1c5e108a1"/><dir name="Exception"><file name="SecurityException.php" hash="1e30dd834995651eb8ab0ff19c022713"/><file name="SystemException.php" hash="dbb715d39318c4a63db0d05eaeb85eab"/><file name="ValidationException.php" hash="69540e782165d00400c1ae460aa755ed"/></dir><dir name="Package"><dir name="Account"><file name="Identity.php" hash="56a192c63b4b82f95a03bf01dfb0e320"/><file name="Login.php" hash="b5cf3c5a7f02c34a7714492cb088b12d"/><file name="Pool.php" hash="6ca9929fae710c8d3b6baff9bb9ebd56"/></dir><file name="Account.php" hash="549fc8c168e102b5d622192e7161314f"/><dir name="Campaign"><file name="Automation.php" hash="7ef9a900dd1e48b5bc131aa3c801c4bb"/><file name="AutomationByDate.php" hash="0042f336568ce900d74e8e19e9d70a9b"/><file name="AutomationBySignup.php" hash="23e9d9e19a02c602ab67a2e706e64184"/><file name="ContentItem.php" hash="797bfd1d0fee23e2d8a00a7118934fc9"/><file name="Delivery.php" hash="a38c9f831977dc635140af291f529bbb"/><file name="DynamicRegion.php" hash="f81afeb8f67d3b5d6adb279126325321"/><file name="Email.php" hash="ae09ee6eb161c2032a68af8486227a8f"/><file name="Filter.php" hash="16cbfe1f34080bf88326315cde2c7fae"/><file name="GroupDelivery.php" hash="e470a337c36cd6c6e6c2126c2d8a6b05"/><file name="MarketingList.php" hash="62a2cb099555c922abc8971fb904af84"/><file name="Message.php" hash="115a7a8d5d313cc1fc91c404af4e277f"/><file name="One2One.php" hash="b3f229593bc9e78f717807967923e181"/><file name="Person.php" hash="465cc7928b872f1a1f9c71099e70e640"/><file name="Sms.php" hash="c525a6fb395d67651e91c1fe6481777b"/></dir><file name="Campaign.php" hash="bfab52155c32995acd3b7e376b683001"/><dir name="Context"><file name="Context.php" hash="2fe3109a45d6459f4cf441b3aa1ed7a3"/><file name="Preference.php" hash="8a390e782e04ad0decc26f72cc7f362c"/></dir><file name="Context.php" hash="7032b8dd4c00fded3f49511b174ebeba"/><dir name="Data"><file name="Meta.php" hash="a0489bfbbd52443eeb3f019f36840846"/><file name="Scheduler.php" hash="a37efb3c2d5497bc37393a8fa4879b57"/></dir><file name="Data.php" hash="77c4d9c47b4a2cd161a506d74024e639"/><dir name="Other"><file name="EventNotification.php" hash="c880abfad0408709e7c801f74c0c1882"/><file name="File.php" hash="71f3239c95c09f03a954d47ebdd20233"/></dir><file name="Other.php" hash="bea8844bf4037303bcf7bd064e18ae3f"/></dir><file name="Package.php" hash="2b1d5236b81621130c7522ddc105bd90"/><file name="Session.php" hash="340e63e5c25296bbe9baf8426dba1726"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="pure360"><file name="pure360.css" hash="ea0485422716685e1753945731b3391e"/></dir><dir name="images"><dir name="pure360"><file name="pure_logo.png" hash="e03329ae9efacfeb292f079992a18a41"/><file name="switch.png" hash="dc4dd15ad074ab584444bda7660afe7a"/></dir></dir></dir></dir></dir></target></contents>
80
  <compatible/>
81
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><extension><name>soap</name><min/><max/></extension></required></dependencies>
82
  </package>