socialcommerce_suite_by_turnto - Version 2.3.4

Version Notes

TurnTo Admin Extension

2.0 Adds support for Single Sign On
2.1 Re-wrote catalog feed generator
2.1.6 - Better catalog support in catalog feed generator.
2.2.0 - Support for sku average rating feed
2.2.2 - Minor bug fix
2.2.4 - Fixed excessive load time on configuration screen.
2.2.5 - Catalog Feed tweaks
2.2.7 - Support for Magento Security Patch (SUPEE-6788)
2.2.9 - Historical Feed bug fix
2.2.10 - Minor bug fix for historical feed exporter
2.2.11 - Fixed circular reference in category tree. Optimized memory usage in catalog feed generator.
2.3.0 - Added ability to push the historical feed nightly
2.3.1 - Added UPC, MPN, EAN, ASIN, JAN and ISBN to TurnTo configuration screen and catalog feed
2.3.2 - Allow users to deselect GTINs on configuration screen
2.3.3 - Added Brand to the TurnTo configuration screen as a configurable attribute, which is included in the catalog feed.
2.3.4 - Allow all types of attributes in the brand drop-down, not just varchar.

Download this release

Release Info

Developer TurnTo Networks
Extension socialcommerce_suite_by_turnto
Version 2.3.4
Comparing to
See all releases


Code changes from version 2.3.0 to 2.3.4

app/code/community/Turnto/Admin/Block/Adminhtml/System/Config/Attributes.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Turnto_Admin_Block_Adminhtml_System_Config_Attributes
4
+ {
5
+ public function __construct()
6
+ {
7
+
8
+ }
9
+
10
+ private static $validTypes = array('varchar');
11
+
12
+ public function toOptionArray() {
13
+ $attributes = Mage::getResourceModel('catalog/product_attribute_collection');
14
+
15
+ $attributesForDisplay = array();
16
+
17
+ array_push($attributesForDisplay, array('value' => '', 'label' => ''));
18
+ foreach ($attributes as $productAttr) { /** @var Mage_Catalog_Model_Resource_Eav_Attribute $productAttr */
19
+ if (in_array($productAttr->getBackendType(), self::$validTypes)) {
20
+ if ($productAttr->getFrontendLabel() != null && $productAttr->getFrontendLabel() != '') {
21
+ array_push($attributesForDisplay, array('value' => $productAttr->getAttributeCode(), 'label' => $productAttr->getFrontendLabel()));
22
+ }
23
+ }
24
+ }
25
+
26
+ return $attributesForDisplay;
27
+ }
28
+ }
app/code/community/Turnto/Admin/Block/Adminhtml/System/Config/AttributesAll.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Turnto_Admin_Block_Adminhtml_System_Config_AttributesAll
4
+ {
5
+ public function __construct()
6
+ {
7
+
8
+ }
9
+
10
+ //private static $validTypes = array('varchar');
11
+
12
+ public function toOptionArray() {
13
+ $attributes = Mage::getResourceModel('catalog/product_attribute_collection');
14
+
15
+ $attributesForDisplay = array();
16
+
17
+ array_push($attributesForDisplay, array('value' => '', 'label' => ''));
18
+ foreach ($attributes as $productAttr) { /** @var Mage_Catalog_Model_Resource_Eav_Attribute $productAttr */
19
+ //if (in_array($productAttr->getBackendType(), self::$validTypes)) {
20
+ if ($productAttr->getFrontendLabel() != null && $productAttr->getFrontendLabel() != '') {
21
+ array_push($attributesForDisplay, array('value' => $productAttr->getAttributeCode(), 'label' => $productAttr->getFrontendLabel()));
22
+ }
23
+ //}
24
+ }
25
+
26
+ return $attributesForDisplay;
27
+ }
28
+ }
app/code/community/Turnto/Admin/Helper/Data.php CHANGED
@@ -172,7 +172,9 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
172
 
173
  public function generateHistoricalOrdersFeed($startDate, $storeId, $fileName) {
174
  $path = Mage::getBaseDir('media') . DS . 'turnto/';
175
- mkdir($path, 0755);
 
 
176
 
177
  $handle = fopen($path . $fileName, 'w');
178
 
@@ -201,7 +203,7 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
201
  $itemlineid = 0;
202
  foreach ($order->getAllVisibleItems() as $item) {
203
  //ORDERID
204
- fwrite($handle, $order->getRealOrderId());
205
  fwrite($handle, "\t");
206
  //ORDERDATE
207
  fwrite($handle, $order->getCreatedAtDate()->toString('Y-MM-d'));
@@ -270,7 +272,7 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
270
  $items = $shipment->getItemsCollection();
271
  foreach ($items as $it) {
272
  // check if this shipment contains the item that was passed in
273
- if ($item->getId() == $it->getId()) {
274
  return $shipment->getCreatedAtDate();
275
  }
276
  }
@@ -281,55 +283,63 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
281
 
282
  public function pushHistoricalOrdersFeed() {
283
  $path = Mage::getBaseDir('media') . DS . 'turnto/';
284
- mkdir($path, 0755);
 
 
285
 
286
  $logFile = 'turnto_historical_feed_job.log';
287
 
288
  Mage::log('Started pushHistoricalOrdersFeed', null, $logFile);
289
 
290
- $fileName = 'magento_auto_histfeed.csv';
291
- $storeId = Mage::getStoreConfig('turnto_admin/general/storeId');
292
- $storeId = $storeId ? $storeId : 1;
293
- $this->generateHistoricalOrdersFeed(mktime(0, 0, 0, date("m"), date("d"), date("Y") - 2), $storeId, $fileName);
294
-
295
- $file = $path . $fileName;
296
- $siteKey = Mage::getStoreConfig('turnto_admin/general/site_key');
297
- $authKey = Mage::getStoreConfig('turnto_admin/general/site_auth');
298
- $baseUrl = Mage::getStoreConfig('turnto_admin/general/url');
299
- if (!$baseUrl) {
300
- $baseUrl = "http://www.turnto.com";
301
- }
302
- $url = $baseUrl . "/feedUpload/postfile";
303
- $feedStyle = "tab-style.1";
 
304
 
305
- if (!$siteKey || !$authKey) {
306
- return;
307
- }
 
308
 
309
- Mage::log('Filename: ' . $fileName, null, $logFile);
310
- Mage::log('Store Id: ' . $storeId, null, $logFile);
311
- Mage::log('siteKey: ' . $siteKey, null, $logFile);
312
- Mage::log('authKey: ' . $authKey, null, $logFile);
313
 
314
- $fields = array('siteKey' => $siteKey, 'authKey' => $authKey, 'feedStyle' => $feedStyle, 'file' => "@$file");
315
- $fields_string = '';
316
- foreach ($fields as $key => $value) {
317
- $fields_string .= $key . '=' . $value . '&';
318
- }
319
- rtrim($fields_string, '&');
320
 
321
- $ch = curl_init($url);
322
- curl_setopt($ch, CURLOPT_URL, $url);
323
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
324
- curl_setopt($ch, CURLOPT_POST, 1);
325
- curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
326
- curl_setopt($ch, CURLOPT_HEADER, 0);
 
327
 
328
- $response = curl_exec($ch);
329
- curl_close($ch);
 
330
 
331
- Mage::log('Ended pushHistoricalOrdersFeed', null, $logFile);
332
 
333
- echo $response;
 
 
 
334
  }
335
  }
172
 
173
  public function generateHistoricalOrdersFeed($startDate, $storeId, $fileName) {
174
  $path = Mage::getBaseDir('media') . DS . 'turnto/';
175
+ if (!file_exists($path)) {
176
+ mkdir($path, 0755);
177
+ }
178
 
179
  $handle = fopen($path . $fileName, 'w');
180
 
203
  $itemlineid = 0;
204
  foreach ($order->getAllVisibleItems() as $item) {
205
  //ORDERID
206
+ fwrite($handle, $order->getId());
207
  fwrite($handle, "\t");
208
  //ORDERDATE
209
  fwrite($handle, $order->getCreatedAtDate()->toString('Y-MM-d'));
272
  $items = $shipment->getItemsCollection();
273
  foreach ($items as $it) {
274
  // check if this shipment contains the item that was passed in
275
+ if ($item->getId() == $it->getOrderItemId()) {
276
  return $shipment->getCreatedAtDate();
277
  }
278
  }
283
 
284
  public function pushHistoricalOrdersFeed() {
285
  $path = Mage::getBaseDir('media') . DS . 'turnto/';
286
+ if (!file_exists($path)) {
287
+ mkdir($path, 0755);
288
+ }
289
 
290
  $logFile = 'turnto_historical_feed_job.log';
291
 
292
  Mage::log('Started pushHistoricalOrdersFeed', null, $logFile);
293
 
294
+ try {
295
+ $fileName = 'magento_auto_histfeed.csv';
296
+ $storeId = Mage::getStoreConfig('turnto_admin/general/storeId');
297
+ $storeId = $storeId ? $storeId : 1;
298
+ $this->generateHistoricalOrdersFeed("-2 days", $storeId, $fileName);
299
+
300
+ $file = $path . $fileName;
301
+ $siteKey = Mage::getStoreConfig('turnto_admin/general/site_key');
302
+ $authKey = Mage::getStoreConfig('turnto_admin/general/site_auth');
303
+ $baseUrl = Mage::getStoreConfig('turnto_admin/general/url');
304
+ if (!$baseUrl) {
305
+ $baseUrl = "http://www.turnto.com";
306
+ }
307
+ $url = $baseUrl . "/feedUpload/postfile";
308
+ $feedStyle = "tab-style.1";
309
 
310
+ Mage::log('Filename: "' . $fileName . '"', null, $logFile);
311
+ Mage::log('Store Id: "' . $storeId . '"', null, $logFile);
312
+ Mage::log('siteKey: "' . $siteKey . '"', null, $logFile);
313
+ Mage::log('authKey: "' . $authKey . '"', null, $logFile);
314
 
315
+ if (!$siteKey || !$authKey) {
316
+ Mage::log('No siteKey or authKey found in configuration', null, $logFile);
317
+ return;
318
+ }
319
 
320
+ if (!file_exists($file)) {
321
+ Mage::log('Could not find the newly created historical feed file. Are the write permission correct on /media/turnto?', null, $logFile);
322
+ return;
323
+ }
324
+ $fields = array('siteKey' => $siteKey, 'authKey' => $authKey, 'feedStyle' => $feedStyle, 'file' => "@$file");
 
325
 
326
+ Mage::log('Attempting to post file to ' . $url, null, $logFile);
327
+ $ch = curl_init($url);
328
+ curl_setopt($ch, CURLOPT_URL, $url);
329
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
330
+ curl_setopt($ch, CURLOPT_POST, 1);
331
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
332
+ curl_setopt($ch, CURLOPT_HEADER, 0);
333
 
334
+ $response = curl_exec($ch);
335
+ Mage::log('Response from server: ' . $response, null, $logFile);
336
+ curl_close($ch);
337
 
338
+ Mage::log('Ended pushHistoricalOrdersFeed', null, $logFile);
339
 
340
+ echo $response;
341
+ } catch (Exception $e) {
342
+ Mage::log('Exception caught: ' . $e->getMessage(), null, $logFile);
343
+ }
344
  }
345
  }
app/code/community/Turnto/Admin/controllers/IndexController.php CHANGED
@@ -20,14 +20,7 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
20
  $websiteId = $params['websiteId'];
21
  }
22
 
23
- $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
24
- $baseMediaUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product';
25
-
26
- $baseUrl = Mage::app()->getStore($storeId)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
27
- $baseMediaUrl = Mage::app()->getStore($storeId)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product';
28
-
29
-
30
- echo "SKU\tIMAGEURL\tTITLE\tPRICE\tCURRENCY\tACTIVE\tITEMURL\tCATEGORY\tKEYWORDS\tREPLACEMENTSKU\tINSTOCK\tVIRTUALPARENTCODE\tCATEGORYPATHJSON\tISCATEGORY\tBRAND";
31
  echo "\n";
32
 
33
  $pageSize = 100;
@@ -35,96 +28,86 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
35
  ->getCollection()
36
  ->addStoreFilter($storeId)
37
  ->addWebsiteFilter($websiteId)
 
38
  ->getSize();
39
 
40
  $page = 1;
41
  $pages = ceil($count / $pageSize);
 
 
 
 
 
 
 
 
 
42
  do {
43
  $collection = Mage::getModel('catalog/product')
44
  ->getCollection()
45
  ->addAttributeToSelect('*')
46
  ->addWebsiteFilter($websiteId)
47
  ->addStoreFilter($storeId)
 
48
  ->setPageSize($pageSize)
49
  ->setCurPage($page);
50
 
51
  foreach ($collection as $product) {
52
  $parents = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
53
  if (isset($parents[0])) {
54
- // skip products with a parent
55
- continue;
56
- }
 
57
 
58
- // $selectionCollection = $product->getTypeInstance(true)->getSelectionsCollection(
59
- // $product->getTypeInstance(true)->getOptionsIds($product), $product
60
- // );
61
- //
62
- // $bundledItems = array();
63
- // foreach($selectionCollection as $option)
64
- // {
65
- // $bundledItems[] = $option->getSku();
66
- // }
67
- // print_r($bundledItems);
68
-
69
- //SKU
70
- echo $product->getSku();
71
- echo "\t";
72
- //echo Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getImage() );
73
- // IMAGEURL
74
- $imageUrl = null;
75
- if ($product->getImage() != null && $product->getImage() != "no_selection") {
76
- $imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getImage());
77
- } else if ($product->getSmallImage() != null && $product->getSmallImage() != "no_selection") {
78
- $imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getSmallImage());
79
- } else if ($product->getThumbnail() != null && $product->getThumbnail() != "no_selection") {
80
- $imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail());
81
- }
82
- if (!$imageUrl) {
83
- echo $product->getImageUrl();
84
  } else {
85
- echo $imageUrl;
86
  }
 
 
 
 
87
 
88
- echo "\t";
89
- //TITLE
90
- echo $product->getName();
91
- echo "\t";
92
- //PRICE
93
- echo $product->getPrice();
94
- echo "\t";
95
- //CURRENCY
96
- echo "\t";
97
- //ACTIVE
98
- echo 'Y';
99
- echo "\t";
100
- //ITEMURL
101
- echo $product->getProductUrl();
102
- echo "\t";
103
- //CATEGORY
104
- $ids = $product->getCategoryIds();
105
- echo(isset($ids[0]) ? 'mag_category_'.$ids[0] : '');
106
- echo "\t";
107
- // KEYWORDS
108
- echo "\t";
109
- // REPLACEMENTSKU
110
- echo "\t";
111
- //VIRTUALPARENTCODE
112
- echo "\t";
113
- //INSTOCK
114
- echo "\t";
115
- //CATEGORYPATHJSON
116
- echo "\t";
117
- //ISCATEGORY
118
- echo "n";
119
- echo "\t";
120
- //BRAND
121
- echo $product->getAttributeText('manufacturer');
122
- echo "\n";
123
  }
124
  $page++;
125
  $collection->clear();
126
  } while ($page <= $pages);
127
 
 
128
  $categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect('*');
129
  if ($categories) {
130
  foreach ($categories as $category) {
@@ -163,6 +146,18 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
163
  echo "Y";
164
  echo "\t";
165
  //BRAND
 
 
 
 
 
 
 
 
 
 
 
 
166
  echo "\n";
167
  }
168
  }
@@ -175,6 +170,128 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
175
 
176
  }
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  public function versionAction() {
179
  echo Mage::getConfig()->getNode()->modules->Turnto_Admin->version;
180
  }
20
  $websiteId = $params['websiteId'];
21
  }
22
 
23
+ echo "SKU\tIMAGEURL\tTITLE\tPRICE\tCURRENCY\tACTIVE\tITEMURL\tCATEGORY\tKEYWORDS\tREPLACEMENTSKU\tINSTOCK\tVIRTUALPARENTCODE\tCATEGORYPATHJSON\tISCATEGORY\tBRAND\tUPC\tMPN\tISBN\tEAN\tJAN\tASIN";
 
 
 
 
 
 
 
24
  echo "\n";
25
 
26
  $pageSize = 100;
28
  ->getCollection()
29
  ->addStoreFilter($storeId)
30
  ->addWebsiteFilter($websiteId)
31
+ ->addAttributeToFilter('type_id', array('eq' => 'simple'))
32
  ->getSize();
33
 
34
  $page = 1;
35
  $pages = ceil($count / $pageSize);
36
+ $parentIdToGtins = array();
37
+ $upcCode = Mage::getStoreConfig('turnto_admin/general/upc_attribute');
38
+ $mpnCode = Mage::getStoreConfig('turnto_admin/general/mpn_attribute');
39
+ $isbnCode = Mage::getStoreConfig('turnto_admin/general/isbn_attribute');
40
+ $eanCode = Mage::getStoreConfig('turnto_admin/general/ean_attribute');
41
+ $janCode = Mage::getStoreConfig('turnto_admin/general/jan_attribute');
42
+ $asinCode = Mage::getStoreConfig('turnto_admin/general/asin_attribute');
43
+ $brandCode = Mage::getStoreConfig('turnto_admin/general/brand_attribute');
44
+
45
  do {
46
  $collection = Mage::getModel('catalog/product')
47
  ->getCollection()
48
  ->addAttributeToSelect('*')
49
  ->addWebsiteFilter($websiteId)
50
  ->addStoreFilter($storeId)
51
+ ->addAttributeToFilter('type_id', array('eq' => 'simple'))
52
  ->setPageSize($pageSize)
53
  ->setCurPage($page);
54
 
55
  foreach ($collection as $product) {
56
  $parents = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
57
  if (isset($parents[0])) {
58
+ foreach ($parents as $parentId) {
59
+ if (!array_key_exists($parentId, $parentIdToGtins)) {
60
+ $parentIdToGtins[$parentId] = array('upc' => array(), 'mpn' => array(), 'isbn' => array(), 'jan' => array(), 'ean' => array(), 'asin' => array());
61
+ }
62
 
63
+ self::pushValueIfNotNull($parentIdToGtins[$parentId]['upc'], self::getProductAttributeValue($product, $storeId, $upcCode));
64
+ //MPN
65
+ self::pushValueIfNotNull($parentIdToGtins[$parentId]['mpn'], self::getProductAttributeValue($product, $storeId, $mpnCode));
66
+ //ISBN
67
+ self::pushValueIfNotNull($parentIdToGtins[$parentId]['isbn'], self::getProductAttributeValue($product, $storeId, $isbnCode));
68
+ //EAN
69
+ self::pushValueIfNotNull($parentIdToGtins[$parentId]['ean'], self::getProductAttributeValue($product, $storeId, $eanCode));
70
+ //JAN
71
+ self::pushValueIfNotNull($parentIdToGtins[$parentId]['jan'], self::getProductAttributeValue($product, $storeId, $janCode));
72
+ //ASIN
73
+ self::pushValueIfNotNull($parentIdToGtins[$parentId]['asin'], self::getProductAttributeValue($product, $storeId, $asinCode));
74
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  } else {
76
+ self::outputProduct($product, $parentIdToGtins, $storeId, $upcCode, $mpnCode, $isbnCode, $eanCode, $janCode, $asinCode, $brandCode);
77
  }
78
+ }
79
+ $page++;
80
+ $collection->clear();
81
+ } while ($page <= $pages);
82
 
83
+ // other products
84
+ $count = Mage::getModel('catalog/product')
85
+ ->getCollection()
86
+ ->addStoreFilter($storeId)
87
+ ->addWebsiteFilter($websiteId)
88
+ ->addAttributeToFilter('type_id', array('neq' => 'simple'))
89
+ ->getSize();
90
+ $page = 1;
91
+ $pages = ceil($count / $pageSize);
92
+
93
+ do {
94
+ $collection = Mage::getModel('catalog/product')
95
+ ->getCollection()
96
+ ->addAttributeToSelect('*')
97
+ ->addWebsiteFilter($websiteId)
98
+ ->addStoreFilter($storeId)
99
+ ->addAttributeToFilter('type_id', array('neq' => 'simple'))
100
+ ->setPageSize($pageSize)
101
+ ->setCurPage($page);
102
+
103
+ foreach ($collection as $product) {
104
+ self::outputProduct($product, $parentIdToGtins, $storeId, $upcCode, $mpnCode, $isbnCode, $eanCode, $janCode, $asinCode, $brandCode);
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  }
106
  $page++;
107
  $collection->clear();
108
  } while ($page <= $pages);
109
 
110
+
111
  $categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect('*');
112
  if ($categories) {
113
  foreach ($categories as $category) {
146
  echo "Y";
147
  echo "\t";
148
  //BRAND
149
+ echo "\t";
150
+ //UPC
151
+ echo "\t";
152
+ //MPN
153
+ echo "\t";
154
+ //ISBN
155
+ echo "\t";
156
+ //EAN
157
+ echo "\t";
158
+ //JAN
159
+ echo "\t";
160
+ //ASIN
161
  echo "\n";
162
  }
163
  }
170
 
171
  }
172
 
173
+ private function getGTINsCommaSeparated($gtins) {
174
+ return join(',', $gtins);
175
+ }
176
+
177
+ private function getProductAttributeValue($product, $storeId, $code) {
178
+ if ($code != null && $code != '') {
179
+ $attributeText = $product->getAttributeText($code);
180
+ if (!$attributeText) {
181
+ $attributeText = $product->getData($code);
182
+ }
183
+ if ($attributeText != null) {
184
+ return $attributeText;
185
+ }
186
+ }
187
+ return '';
188
+ }
189
+
190
+ private function outputProduct($product, $parentIdToGtins, $storeId, $upcCode, $mpnCode, $isbnCode, $eanCode, $janCode, $asinCode, $brandCode) {
191
+ //SKU
192
+ echo $product->getSku();
193
+ echo "\t";
194
+ //echo Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getImage() );
195
+ // IMAGEURL
196
+ $imageUrl = null;
197
+ if ($product->getImage() != null && $product->getImage() != "no_selection") {
198
+ $imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getImage());
199
+ } else if ($product->getSmallImage() != null && $product->getSmallImage() != "no_selection") {
200
+ $imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getSmallImage());
201
+ } else if ($product->getThumbnail() != null && $product->getThumbnail() != "no_selection") {
202
+ $imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail());
203
+ }
204
+ if (!$imageUrl) {
205
+ echo $product->getImageUrl();
206
+ } else {
207
+ echo $imageUrl;
208
+ }
209
+
210
+ echo "\t";
211
+ //TITLE
212
+ echo $product->getName();
213
+ echo "\t";
214
+ //PRICE
215
+ echo $product->getPrice();
216
+ echo "\t";
217
+ //CURRENCY
218
+ echo "\t";
219
+ //ACTIVE
220
+ echo 'Y';
221
+ echo "\t";
222
+ //ITEMURL
223
+ echo $product->getProductUrl();
224
+ echo "\t";
225
+ //CATEGORY
226
+ $ids = $product->getCategoryIds();
227
+ echo(isset($ids[0]) ? 'mag_category_'.$ids[0] : '');
228
+ echo "\t";
229
+ // KEYWORDS
230
+ echo "\t";
231
+ // REPLACEMENTSKU
232
+ echo "\t";
233
+ //VIRTUALPARENTCODE
234
+ echo "\t";
235
+ //INSTOCK
236
+ echo "\t";
237
+ //CATEGORYPATHJSON
238
+ echo "\t";
239
+ //ISCATEGORY
240
+ echo "n";
241
+ echo "\t";
242
+ //Brand
243
+ echo self::getProductAttributeValue($product, $storeId, $brandCode);
244
+ echo "\t";
245
+ $productId = $product->getId();
246
+ if ($parentIdToGtins[$productId]) {
247
+ // this product is a parent for another product. roll-up the GTINs
248
+ // UPCs rolled up
249
+ echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['upc']);
250
+ echo "\t";
251
+ // MPNs rolled up
252
+ echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['mpn']);
253
+ echo "\t";
254
+ // ISBNs rolled up
255
+ echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['isbn']);
256
+ echo "\t";
257
+ // EANs rolled up
258
+ echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['ean']);
259
+ echo "\t";
260
+ // JANs rolled up
261
+ echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['jan']);
262
+ echo "\t";
263
+ // ASINs rolled up
264
+ echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['asin']);
265
+ } else {
266
+ // this is a simple product just output the single GTINs
267
+ //UPC
268
+ echo self::getProductAttributeValue($product, $storeId, $upcCode);
269
+ echo "\t";
270
+ //MPN
271
+ echo self::getProductAttributeValue($product, $storeId, $mpnCode);
272
+ echo "\t";
273
+ //ISBN
274
+ echo self::getProductAttributeValue($product, $storeId, $isbnCode);
275
+ echo "\t";
276
+ //EAN
277
+ echo self::getProductAttributeValue($product, $storeId, $eanCode);
278
+ echo "\t";
279
+ //JAN
280
+ echo self::getProductAttributeValue($product, $storeId, $janCode);
281
+ echo "\t";
282
+ //ASIN
283
+ echo self::getProductAttributeValue($product, $storeId, $asinCode);
284
+ }
285
+
286
+ echo "\n";
287
+ }
288
+
289
+ private function pushValueIfNotNull(&$arr, $val) {
290
+ if ($val != null && $val != '') {
291
+ array_push($arr, $val);
292
+ }
293
+ }
294
+
295
  public function versionAction() {
296
  echo Mage::getConfig()->getNode()->modules->Turnto_Admin->version;
297
  }
app/code/community/Turnto/Admin/etc/adminhtml.xml DELETED
@@ -1,47 +0,0 @@
1
- <config>
2
- <!--<menu>-->
3
- <!--<turntoadminmenu translate="title" module="adminhelper1">-->
4
- <!--<title>TurnTo</title>-->
5
- <!--<sort_order>200</sort_order>-->
6
- <!--<children>-->
7
- <!--<item1>-->
8
- <!--<title>Integration</title>-->
9
- <!--<action>adminhtml/turnto</action>-->
10
- <!--<sort_order>1</sort_order>-->
11
- <!--</item1>-->
12
- <!--<item2>-->
13
- <!--<title>Moderation</title>-->
14
- <!--<action>adminhtml/turnto/redirect</action>-->
15
- <!--<sort_order>2</sort_order>-->
16
- <!--</item2>-->
17
- <!--<item3>-->
18
- <!--<title>Reporting</title>-->
19
- <!--<action>adminhtml/turnto/redirect</action>-->
20
- <!--<sort_order>3</sort_order>-->
21
- <!--</item3>-->
22
- <!--</children>-->
23
- <!--</turntoadminmenu>-->
24
- <!--</menu>-->
25
- <!--<acl>-->
26
- <!--<resources>-->
27
- <!--<all>-->
28
- <!--<title>Allow Everything</title>-->
29
- <!--</all>-->
30
- <!--<admin>-->
31
- <!--<children>-->
32
- <!--<system>-->
33
- <!--<children>-->
34
- <!--<config>-->
35
- <!--<children>-->
36
- <!--<turnto_admin>-->
37
- <!--<title>Turnto Products Ratings</title>-->
38
- <!--</turnto_admin>-->
39
- <!--</children>-->
40
- <!--</config>-->
41
- <!--</children>-->
42
- <!--</system>-->
43
- <!--</children>-->
44
- <!--</admin>-->
45
- <!--</resources>-->
46
- <!--</acl>-->
47
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Turnto/Admin/etc/config.xml CHANGED
@@ -3,7 +3,7 @@
3
  <config>
4
  <modules>
5
  <Turnto_Admin>
6
- <version>2.2.11</version>
7
  </Turnto_Admin>
8
  </modules>
9
 
@@ -141,6 +141,13 @@
141
  <general>
142
  <static_url>http://static.www.turnto.com</static_url>
143
  <url>http://www.turnto.com</url>
 
 
 
 
 
 
 
144
  </general>
145
  </turnto_admin>
146
  </default>
@@ -156,7 +163,7 @@
156
  </turnto_products_ratings>
157
  <turnto_historical_orders_feed>
158
  <schedule>
159
- <cron_expr>* * * * *</cron_expr>
160
  </schedule>
161
  <run>
162
  <model>turnto_admin/observer::pushHistoricalOrdersFeed</model>
3
  <config>
4
  <modules>
5
  <Turnto_Admin>
6
+ <version>2.3.4</version>
7
  </Turnto_Admin>
8
  </modules>
9
 
141
  <general>
142
  <static_url>http://static.www.turnto.com</static_url>
143
  <url>http://www.turnto.com</url>
144
+ <upc_attribute nil="true"/>
145
+ <mpn_attribute nil="true"/>
146
+ <isbn_attribute nil="true"/>
147
+ <ean_attribute nil="true"/>
148
+ <jan_attribute nil="true"/>
149
+ <asin_attribute nil="true"/>
150
+ <brand_attribute nil="true"/>
151
  </general>
152
  </turnto_admin>
153
  </default>
163
  </turnto_products_ratings>
164
  <turnto_historical_orders_feed>
165
  <schedule>
166
+ <cron_expr>0 1 * * *</cron_expr>
167
  </schedule>
168
  <run>
169
  <model>turnto_admin/observer::pushHistoricalOrdersFeed</model>
app/code/community/Turnto/Admin/etc/system.xml CHANGED
@@ -69,12 +69,82 @@
69
  <validate>required-entry</validate>
70
  <comment>Default is http://www.turnto.com. Should not ever be changed, unless instructed by TurnTo.</comment>
71
  </url>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  </fields>
73
  </general>
74
  <feedconfig translate="label" >
75
  <label>Turnto Feed Configuration</label>
76
  <frontend_type>text</frontend_type>
77
- <sort_order>10</sort_order>
78
  <show_in_default>1</show_in_default>
79
  <show_in_website>1</show_in_website>
80
  <show_in_store>1</show_in_store>
@@ -102,7 +172,7 @@
102
  <label>Historical Orders Feed Push</label>
103
  <tab>turnto_extensions</tab>
104
  <frontend_type>text</frontend_type>
105
- <sort_order>1</sort_order>
106
  <show_in_default>1</show_in_default>
107
  <show_in_website>1</show_in_website>
108
  <show_in_store>1</show_in_store>
69
  <validate>required-entry</validate>
70
  <comment>Default is http://www.turnto.com. Should not ever be changed, unless instructed by TurnTo.</comment>
71
  </url>
72
+ <!-- UPC -->
73
+ <upc_attribute>
74
+ <label>UPC Attribute</label>
75
+ <frontend_type>select</frontend_type>
76
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
77
+ <sort_order>120</sort_order>
78
+ <show_in_default>1</show_in_default>
79
+ <show_in_website>1</show_in_website>
80
+ <show_in_store>1</show_in_store>
81
+ </upc_attribute>
82
+ <!-- MPN -->
83
+ <mpn_attribute>
84
+ <label>MPN Attribute</label>
85
+ <frontend_type>select</frontend_type>
86
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
87
+ <sort_order>130</sort_order>
88
+ <show_in_default>1</show_in_default>
89
+ <show_in_website>1</show_in_website>
90
+ <show_in_store>1</show_in_store>
91
+ </mpn_attribute>
92
+ <!-- ISBN -->
93
+ <isbn_attribute>
94
+ <label>ISBN Attribute</label>
95
+ <frontend_type>select</frontend_type>
96
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
97
+ <sort_order>140</sort_order>
98
+ <show_in_default>1</show_in_default>
99
+ <show_in_website>1</show_in_website>
100
+ <show_in_store>1</show_in_store>
101
+ </isbn_attribute>
102
+ <!-- EAN -->
103
+ <ean_attribute>
104
+ <label>EAN Attribute</label>
105
+ <frontend_type>select</frontend_type>
106
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
107
+ <sort_order>150</sort_order>
108
+ <show_in_default>1</show_in_default>
109
+ <show_in_website>1</show_in_website>
110
+ <show_in_store>1</show_in_store>
111
+ </ean_attribute>
112
+ <!-- JAN -->
113
+ <jan_attribute>
114
+ <label>JAN Attribute</label>
115
+ <frontend_type>select</frontend_type>
116
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
117
+ <sort_order>160</sort_order>
118
+ <show_in_default>1</show_in_default>
119
+ <show_in_website>1</show_in_website>
120
+ <show_in_store>1</show_in_store>
121
+ </jan_attribute>
122
+ <!-- ASIN -->
123
+ <asin_attribute>
124
+ <label>ASIN Attribute</label>
125
+ <frontend_type>select</frontend_type>
126
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
127
+ <sort_order>170</sort_order>
128
+ <show_in_default>1</show_in_default>
129
+ <show_in_website>1</show_in_website>
130
+ <show_in_store>1</show_in_store>
131
+ </asin_attribute>
132
+ <!-- BRAND -->
133
+ <brand_attribute>
134
+ <label>Brand Attribute</label>
135
+ <frontend_type>select</frontend_type>
136
+ <source_model>Turnto_Admin_Block_Adminhtml_System_Config_AttributesAll</source_model>
137
+ <sort_order>180</sort_order>
138
+ <show_in_default>1</show_in_default>
139
+ <show_in_website>1</show_in_website>
140
+ <show_in_store>1</show_in_store>
141
+ </brand_attribute>
142
  </fields>
143
  </general>
144
  <feedconfig translate="label" >
145
  <label>Turnto Feed Configuration</label>
146
  <frontend_type>text</frontend_type>
147
+ <sort_order>20</sort_order>
148
  <show_in_default>1</show_in_default>
149
  <show_in_website>1</show_in_website>
150
  <show_in_store>1</show_in_store>
172
  <label>Historical Orders Feed Push</label>
173
  <tab>turnto_extensions</tab>
174
  <frontend_type>text</frontend_type>
175
+ <sort_order>30</sort_order>
176
  <show_in_default>1</show_in_default>
177
  <show_in_website>1</show_in_website>
178
  <show_in_store>1</show_in_store>
app/code/community/Turnto/Login/controllers/IndexController.php CHANGED
@@ -3,7 +3,7 @@ class Turnto_Login_IndexController extends Mage_Core_Controller_Front_Action {
3
  public function indexAction()
4
  {
5
  $this->loadLayout();
6
-
7
  $this->renderLayout();
8
  }
9
 
3
  public function indexAction()
4
  {
5
  $this->loadLayout();
6
+
7
  $this->renderLayout();
8
  }
9
 
app/code/community/Turnto/Login/etc/config.xml CHANGED
@@ -3,7 +3,7 @@
3
  <config>
4
  <modules>
5
  <Turnto_Login>
6
- <version>2.2.11</version>
7
  </Turnto_Login>
8
  </modules>
9
 
3
  <config>
4
  <modules>
5
  <Turnto_Login>
6
+ <version>2.3.4</version>
7
  </Turnto_Login>
8
  </modules>
9
 
app/design/adminhtml/default/default/template/turnto/catalog_feed_tab.phtml CHANGED
@@ -1,27 +1,21 @@
1
  <h4>Catalog Feed</h4>
2
- <p style="width:650px">Go to your Settings in TurnTo Management area and enter:
3
  <br>
4
  <i><?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) . 'turntocatalogfeed';?><?php if(count(Mage::registry('websites')) > 1) { ?>?websiteId=WEBSITE_ID<?php } ?><?php if(count(Mage::registry('stores')) > 1) { ?>&storeId=STORE_ID<?php } ?></i>
5
  <br>
 
6
  <?php if(count(Mage::registry('stores')) > 1 || count(Mage::registry('websites'))) { ?>
7
- <b>NOTE: You appear to have multiple sites or stores on your magento installation so you will need to supply a scope in the URL. Replace <i>WEBSITE_ID</i> and <i>STORE_ID</i> in the url above with the appropriate values from the drop-downs below (just the number. For instance: siteId=1)</b>
8
- <br>
9
- <?php } ?>
10
- <br>
11
- in the <b>Catalog Feed Url:</b> input field.
12
- <br>
13
- <br>
14
- This will set up the automation of the catalog feed in order to keep you products up to date. </p>
15
  <br>
 
16
  <br>
 
 
17
  <br>
18
- To manually create a catalog feed press Generate to build a catalog feed. This feed can be downloaded and uploaded via the TurnTo management form.
19
 
20
- <br>
21
- <form id="cat_feed_form" name="cat_feed_form" method="post" action="<?php echo $this->getUrl('*/*/post') ?>">
22
- <input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
23
- <input name="feed_type" type="hidden" value="catalog" />
24
- <table>
25
  <!--
26
  <tr>
27
  <td>Site Key:</td>
@@ -34,43 +28,44 @@ To manually create a catalog feed press Generate to build a catalog feed. This f
34
  -->
35
  <tr>
36
  <?php
37
- echo '<td>Website:</td>';
38
- echo '<td><select id="websiteId" name="websiteId">';
39
  foreach (Mage::registry('websites') as $website) {
40
- echo '<option value="'.$website->getId().'">'.$website->getId().': '.$website->getName().'</option>';
41
  }
42
- echo '</select></td>'
43
  ?>
44
  </tr>
 
45
  <tr>
46
  <?php
47
- echo '<td>Store:</td>';
48
- echo '<td><select id="storeId" name="storeId">';
49
  foreach (Mage::registry('stores') as $store) {
50
- echo '<option value="'.$store->getId().'">'.$store->getId().': '.$store->getName().'</option>';
51
  }
52
- echo '</select></td>'
53
  ?>
54
  </tr>
55
- <tr>
56
- <td></td>
57
- <td align="right">
58
-
59
- <input id="submit" name="submit" value="Generate" type="submit" /></td>
60
-
61
- </tr>
62
  </table>
63
 
64
 
65
 
66
 
67
 
68
- <?php
69
- $file = Mage::getBaseDir('media') . DS . 'turnto/catfeed.csv';
70
-
71
- if(file_exists($file)){
72
- echo '<br /><br /><a href="/media/turnto/catfeed.csv">Download catalog feed</a> - created '.date('m/d/Y G:i',filectime($file));
73
- }
74
- ?>
75
  </form>
76
 
1
  <h4>Catalog Feed</h4>
2
+ <p>Go to your Settings in the TurnTo Admin console and enter the following in the <b>Catalog Feed Url</b> input field:
3
  <br>
4
  <i><?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) . 'turntocatalogfeed';?><?php if(count(Mage::registry('websites')) > 1) { ?>?websiteId=WEBSITE_ID<?php } ?><?php if(count(Mage::registry('stores')) > 1) { ?>&storeId=STORE_ID<?php } ?></i>
5
  <br>
6
+ This will set up the automation of the catalog feed in order to keep you products up to date.
7
  <?php if(count(Mage::registry('stores')) > 1 || count(Mage::registry('websites'))) { ?>
 
 
 
 
 
 
 
 
8
  <br>
9
+ <b>NOTE: You appear to have multiple sites or stores on your magento installation so you will need to supply a scope in the URL. Replace <i>WEBSITE_ID</i> and <i>STORE_ID</i> in the url above with the appropriate values from the list below (just the number. For instance: websiteId=1&storeId=1)</b>
10
  <br>
11
+ <?php } ?>
12
+ </p>
13
  <br>
 
14
 
15
+ <!--<form id="cat_feed_form" name="cat_feed_form" method="post" action="--><?php //echo $this->getUrl('*/*/post') ?><!--">-->
16
+ <!-- <input name="form_key" type="hidden" value="--><?php //echo Mage::getSingleton('core/session')->getFormKey() ?><!--" />-->
17
+ <!-- <input name="feed_type" type="hidden" value="catalog" />-->
18
+ <!-- <table>-->
 
19
  <!--
20
  <tr>
21
  <td>Site Key:</td>
28
  -->
29
  <tr>
30
  <?php
31
+ echo '<td>Websites:</td>';
32
+ echo '<ul>';
33
  foreach (Mage::registry('websites') as $website) {
34
+ echo '<li>'.$website->getId().': '.$website->getName().'</li>';
35
  }
36
+ echo '</ul></td>'
37
  ?>
38
  </tr>
39
+ <tr><br /></tr>
40
  <tr>
41
  <?php
42
+ echo '<td>Stores:</td>';
43
+ echo '<ul>';
44
  foreach (Mage::registry('stores') as $store) {
45
+ echo '<li>'.$store->getId().': '.$store->getName().'</li>';
46
  }
47
+ echo '</ul></td>'
48
  ?>
49
  </tr>
50
+ <!-- <tr>-->
51
+ <!-- <td></td>-->
52
+ <!-- <td align="right">-->
53
+ <!---->
54
+ <!--<input id="submit" name="submit" value="Generate" type="submit" /></td>-->
55
+ <!---->
56
+ <!-- </tr>-->
57
  </table>
58
 
59
 
60
 
61
 
62
 
63
+ <!-- --><?php //
64
+ // $file = Mage::getBaseDir('media') . DS . 'turnto/catfeed.csv';
65
+ //
66
+ // if(file_exists($file)){
67
+ // echo '<br /><br /><a href="/media/turnto/catfeed.csv">Download catalog feed</a> - created '.date('m/d/Y G:i',filectime($file));
68
+ // }
69
+ // ?>
70
  </form>
71
 
app/design/frontend/base/default/layout/turnto_login.xml ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <layout version="0.1.0">
3
+
4
+ <turnto_login_index_index>
5
+ <reference name="root">
6
+ <action method="setTemplate">
7
+ <template>turnto/login/login.phtml</template>
8
+ <!--<template>customer/form/login.phtml</template>-->
9
+ </action>
10
+ </reference>
11
+ <reference name="content">
12
+ <block type="customer/form_login" name="customer_form_login" template="turnto/login/login_form.phtml"/>
13
+ </reference>
14
+ <block type="page/html_head" name="head" as="head">
15
+ <action method="addJs">
16
+ <script>prototype/prototype.js</script>
17
+ </action>
18
+ <action method="addJs" ifconfig="dev/js/deprecation">
19
+ <script>prototype/deprecation.js</script>
20
+ </action>
21
+ <action method="addJs">
22
+ <script>lib/ccard.js</script>
23
+ </action>
24
+ <action method="addJs">
25
+ <script>prototype/validation.js</script>
26
+ </action>
27
+ <action method="addJs">
28
+ <script>scriptaculous/builder.js</script>
29
+ </action>
30
+ <action method="addJs">
31
+ <script>scriptaculous/effects.js</script>
32
+ </action>
33
+ <action method="addJs">
34
+ <script>scriptaculous/dragdrop.js</script>
35
+ </action>
36
+ <action method="addJs">
37
+ <script>scriptaculous/controls.js</script>
38
+ </action>
39
+ <action method="addJs">
40
+ <script>scriptaculous/slider.js</script>
41
+ </action>
42
+ <action method="addJs">
43
+ <script>varien/js.js</script>
44
+ </action>
45
+ <action method="addJs">
46
+ <script>varien/form.js</script>
47
+ </action>
48
+ <action method="addJs">
49
+ <script>varien/menu.js</script>
50
+ </action>
51
+ <action method="addJs">
52
+ <script>mage/translate.js</script>
53
+ </action>
54
+ <action method="addJs">
55
+ <script>mage/cookies.js</script>
56
+ </action>
57
+
58
+ <block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
59
+
60
+ <action method="addCss">
61
+ <stylesheet>css/styles.css</stylesheet>
62
+ </action>
63
+ <action method="addItem">
64
+ <type>skin_css</type>
65
+ <name>css/styles-ie.css</name>
66
+ <params/>
67
+ <if>lt IE 8</if>
68
+ </action>
69
+ <action method="addCss">
70
+ <stylesheet>css/widgets.css</stylesheet>
71
+ </action>
72
+ <action method="addCss">
73
+ <stylesheet>css/print.css</stylesheet>
74
+ <params>media="print"</params>
75
+ </action>
76
+
77
+ <action method="addItem">
78
+ <type>js</type>
79
+ <name>lib/ds-sleight.js</name>
80
+ <params/>
81
+ <if>lt IE 7</if>
82
+ </action>
83
+ <action method="addItem">
84
+ <type>skin_js</type>
85
+ <name>js/ie6.js</name>
86
+ <params/>
87
+ <if>lt IE 7</if>
88
+ </action>
89
+ </block>
90
+ </turnto_login_index_index>
91
+
92
+
93
+ <turnto_login_index_reg>
94
+ <reference name="root">
95
+ <action method="setTemplate">
96
+ <template>turnto/login/reg.phtml</template>
97
+ <!--<template>customer/form/login.phtml</template>-->
98
+ </action>
99
+ </reference>
100
+ <reference name="content">
101
+ <block type="customer/form_register" name="customer_form_register" template="turnto/login/reg_form.phtml"/>
102
+ </reference>
103
+ <block type="page/html_head" name="head" as="head">
104
+ <action method="addJs">
105
+ <script>prototype/prototype.js</script>
106
+ </action>
107
+ <action method="addJs" ifconfig="dev/js/deprecation">
108
+ <script>prototype/deprecation.js</script>
109
+ </action>
110
+ <action method="addJs">
111
+ <script>lib/ccard.js</script>
112
+ </action>
113
+ <action method="addJs">
114
+ <script>prototype/validation.js</script>
115
+ </action>
116
+ <action method="addJs">
117
+ <script>scriptaculous/builder.js</script>
118
+ </action>
119
+ <action method="addJs">
120
+ <script>scriptaculous/effects.js</script>
121
+ </action>
122
+ <action method="addJs">
123
+ <script>scriptaculous/dragdrop.js</script>
124
+ </action>
125
+ <action method="addJs">
126
+ <script>scriptaculous/controls.js</script>
127
+ </action>
128
+ <action method="addJs">
129
+ <script>scriptaculous/slider.js</script>
130
+ </action>
131
+ <action method="addJs">
132
+ <script>varien/js.js</script>
133
+ </action>
134
+ <action method="addJs">
135
+ <script>varien/form.js</script>
136
+ </action>
137
+ <action method="addJs">
138
+ <script>varien/menu.js</script>
139
+ </action>
140
+ <action method="addJs">
141
+ <script>mage/translate.js</script>
142
+ </action>
143
+ <action method="addJs">
144
+ <script>mage/cookies.js</script>
145
+ </action>
146
+
147
+ <block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
148
+
149
+ <action method="addCss">
150
+ <stylesheet>css/styles.css</stylesheet>
151
+ </action>
152
+ <action method="addItem">
153
+ <type>skin_css</type>
154
+ <name>css/styles-ie.css</name>
155
+ <params/>
156
+ <if>lt IE 8</if>
157
+ </action>
158
+ <action method="addCss">
159
+ <stylesheet>css/widgets.css</stylesheet>
160
+ </action>
161
+ <action method="addCss">
162
+ <stylesheet>css/print.css</stylesheet>
163
+ <params>media="print"</params>
164
+ </action>
165
+
166
+ <action method="addItem">
167
+ <type>js</type>
168
+ <name>lib/ds-sleight.js</name>
169
+ <params/>
170
+ <if>lt IE 7</if>
171
+ </action>
172
+ <action method="addItem">
173
+ <type>skin_js</type>
174
+ <name>js/ie6.js</name>
175
+ <params/>
176
+ <if>lt IE 7</if>
177
+ </action>
178
+ </block>
179
+ </turnto_login_index_reg>
180
+ </layout>
app/design/frontend/{default → base}/default/template/turnto/login/login.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/turnto/login/login_form.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/turnto/login/reg.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/turnto/login/reg_form.phtml RENAMED
File without changes
app/design/frontend/default/default/layout/turnto_login.xml DELETED
@@ -1,80 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <layout version="0.1.0">
3
-
4
- <turnto_login_index_index>
5
- <reference name="root">
6
- <action method="setTemplate">
7
- <template>turnto/login/login.phtml</template>
8
- <!--<template>customer/form/login.phtml</template>-->
9
- </action>
10
- </reference>
11
- <reference name="content">
12
- <block type="customer/form_login" name="customer_form_login" template="turnto/login/login_form.phtml"/>
13
- </reference>
14
- <block type="page/html_head" name="head" as="head">
15
- <action method="addJs"><script>prototype/prototype.js</script></action>
16
- <action method="addJs" ifconfig="dev/js/deprecation"><script>prototype/deprecation.js</script></action>
17
- <action method="addJs"><script>lib/ccard.js</script></action>
18
- <action method="addJs"><script>prototype/validation.js</script></action>
19
- <action method="addJs"><script>scriptaculous/builder.js</script></action>
20
- <action method="addJs"><script>scriptaculous/effects.js</script></action>
21
- <action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
22
- <action method="addJs"><script>scriptaculous/controls.js</script></action>
23
- <action method="addJs"><script>scriptaculous/slider.js</script></action>
24
- <action method="addJs"><script>varien/js.js</script></action>
25
- <action method="addJs"><script>varien/form.js</script></action>
26
- <action method="addJs"><script>varien/menu.js</script></action>
27
- <action method="addJs"><script>mage/translate.js</script></action>
28
- <action method="addJs"><script>mage/cookies.js</script></action>
29
-
30
- <block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
31
-
32
- <action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
33
- <action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
34
- <action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
35
- <action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
36
-
37
- <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
38
- <action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
39
- </block>
40
- </turnto_login_index_index>
41
-
42
-
43
- <turnto_login_index_reg>
44
- <reference name="root">
45
- <action method="setTemplate">
46
- <template>turnto/login/reg.phtml</template>
47
- <!--<template>customer/form/login.phtml</template>-->
48
- </action>
49
- </reference>
50
- <reference name="content">
51
- <block type="customer/form_register" name="customer_form_register" template="turnto/login/reg_form.phtml"/>
52
- </reference>
53
- <block type="page/html_head" name="head" as="head">
54
- <action method="addJs"><script>prototype/prototype.js</script></action>
55
- <action method="addJs" ifconfig="dev/js/deprecation"><script>prototype/deprecation.js</script></action>
56
- <action method="addJs"><script>lib/ccard.js</script></action>
57
- <action method="addJs"><script>prototype/validation.js</script></action>
58
- <action method="addJs"><script>scriptaculous/builder.js</script></action>
59
- <action method="addJs"><script>scriptaculous/effects.js</script></action>
60
- <action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
61
- <action method="addJs"><script>scriptaculous/controls.js</script></action>
62
- <action method="addJs"><script>scriptaculous/slider.js</script></action>
63
- <action method="addJs"><script>varien/js.js</script></action>
64
- <action method="addJs"><script>varien/form.js</script></action>
65
- <action method="addJs"><script>varien/menu.js</script></action>
66
- <action method="addJs"><script>mage/translate.js</script></action>
67
- <action method="addJs"><script>mage/cookies.js</script></action>
68
-
69
- <block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
70
-
71
- <action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
72
- <action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
73
- <action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
74
- <action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
75
-
76
- <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
77
- <action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
78
- </block>
79
- </turnto_login_index_reg>
80
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,31 +1,19 @@
1
  <?xml version="1.0"?>
2
- <package>
3
- <name>socialcommerce_suite_by_turnto</name>
4
- <version>2.3.0</version>
5
- <stability>stable</stability>
6
- <license uri="http://www.turntonetworks.com/terms-of-use">TurnTo Networks</license>
7
- <channel>community</channel>
8
- <extends/>
9
- <summary>Connect your shoppers to your customers</summary>
10
- <description>The TurnTo Social Commerce Suite helps you put the good will you have earned from your customers to work by opening direct communications between your shoppers and your past customers.</description>
11
- <notes>TurnTo Admin Extension&#xD;
12
- &#xD;
13
- 2.0 Adds support for Single Sign On&#xD;
14
- 2.1 Re-wrote catalog feed generator&#xD;
15
- 2.1.6 - Better catalog support in catalog feed generator.&#xD;
16
- 2.2.0 - Support for sku average rating feed&#xD;
17
- 2.2.2 - Minor bug fix&#xD;
18
- 2.2.4 - Fixed excessive load time on configuration screen.&#xD;
19
- 2.2.5 - Catalog Feed tweaks&#xD;
20
- 2.2.7 - Support for Magento Security Patch (SUPEE-6788)&#xD;
21
- 2.2.9 - Historical Feed bug fix&#xD;
22
- 2.2.10 - Minor bug fix for historical feed exporter&#xD;
23
- 2.2.11 - Fixed circular reference in category tree. Optimized memory usage in catalog feed generator.&#xD;
24
- 2.3.0 - Added ability to push the historical feed nightly</notes>
25
- <authors><author><name>TurnTo</name><user>TurnTo</user><email>contact@turnto.com</email></author></authors>
26
- <date>2016-02-03</date>
27
- <time>15:43:25</time>
28
- <contents><target name="magecommunity"><dir name="Turnto"><dir name="Admin"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Feed.php" hash="84d005b13b3e39da048078bfc275bdf5"/></dir></dir></dir><file name="CatalogFeed.php" hash="f974cfdc687bf5edb3fdccb879547200"/><file name="HistoricalFeed.php" hash="a4d2b29c6d8bb2ed59aa884e02abc23b"/><file name="Overview.php" hash="51c8ed09153f1dc3b3d02aa0ab83f195"/><file name="RatingsFeed.php" hash="264cf15842c2738f1b77bce6ff9b9f0a"/><dir name="Review"><file name="Helper.php" hash="2ecc1a9252af9d40666b4f3a6603b522"/></dir><file name="ShowTabsAdminBlock.php" hash="403c3a8f95c65e361471b28fae25d2e3"/></dir><dir name="Helper"><file name="Data.php" hash="815707c134f0809156a3510fe4c1dfa3"/></dir><dir name="Model"><dir name="Catalog"><file name="Product.php" hash="5325442b4449b7eb75547f50698400a6"/></dir><file name="Observer.php" hash="ab972bf9ec9edb07345828fb4e69141d"/><file name="Rating.php" hash="2f3d43beb74018b394d7bf6ba1098e5c"/><dir name="Resource"><dir name="Rating"><file name="Collection.php" hash="2f0709f0f5f3bde0725c2db266f16e7d"/></dir><file name="Rating.php" hash="0a7f9415ba76c6e121e0f3281479a4df"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="d78518e5502f5c19ff02892e2fa9fe78"/><file name="TurntoController.php" hash="f8c35059af46ed080a7a2d28c917042b"/></dir><file name="IndexController.php" hash="770506bcae219ba1ffefa9f5d03bade8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="2583ebaabc3e8844fe27e70d1b519f3a"/><file name="config.xml" hash="2c836a50bf4d822e08910300ec0188a1"/><file name="system.xml" hash="59125e06282c4feb985e4e8854092249"/></dir><dir name="sql"><dir name="turnto_admin_setup"><file name="mysql4-install-2.2.0.php" hash="747fc729ae7587b41c3f3cce62aba82b"/></dir></dir></dir><dir name="Login"><dir name="Block"><file name="Login.php" hash="a51bc0ee76d20a9f4cb32bb21420ecd9"/><file name="Reg.php" hash="4eece8d78391b6578b0ba5e2c764dba5"/></dir><dir name="Helper"><file name="Data.php" hash="e87f15957335101d5ae643befcc06817"/></dir><dir name="controllers"><file name="IndexController.php" hash="087867555ca6d8174fb1301f3b558720"/></dir><dir name="etc"><file name="config.xml" hash="104b76b3d6e9ecbd8d5411fb82703208"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Turnto_Admin.xml" hash="0932b63ab068e1e8b12ff7b997ae83ee"/><file name="Turnto_Login.xml" hash="734c463c75970bd14ac7d7a90fa2de11"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><dir name="adminhtml"><dir name="system"><dir name="config"><file name="feed.phtml" hash="c4b453ab154a34408bc34021630653bf"/></dir></dir></dir><file name="catalog_feed_tab.phtml" hash="1fd3b2a33022b15b84906e6cb93c1098"/><file name="historical_feed_tab.phtml" hash="14b3a1940e98f3f44db732afd1c81946"/><file name="overview.phtml" hash="4cc20b32c3b0cd36cd349f0be44e4615"/><file name="product_ratings_feed_tab.phtml" hash="3733a056ab45f0af0b6a93ea30e257e0"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><dir name="login"><file name="login.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="login_form.phtml" hash="a176124e54fc105d09e8a219114d9cfe"/><file name="reg.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="reg_form.phtml" hash="8d513aa7b9b582f748f5a484f2e81568"/></dir></dir></dir><dir name="layout"><file name="turnto_login.xml" hash="e9c1993c14add5a7be5c4079547d3609"/></dir></dir></dir></dir></target></contents>
29
- <compatible/>
30
- <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
31
- </package>
1
  <?xml version="1.0"?>
2
+ <package><name>socialcommerce_suite_by_turnto</name><version>2.3.4</version><stability>stable</stability><license>MIT</license><channel>community</channel><extends></extends><summary>Connect your shoppers to your customers</summary><description>The TurnTo Social Commerce Suite helps you put the good will you have earned from your customers to work by opening direct communications between your shoppers and your past customers.</description><notes>TurnTo Admin Extension
3
+
4
+ 2.0 Adds support for Single Sign On
5
+ 2.1 Re-wrote catalog feed generator
6
+ 2.1.6 - Better catalog support in catalog feed generator.
7
+ 2.2.0 - Support for sku average rating feed
8
+ 2.2.2 - Minor bug fix
9
+ 2.2.4 - Fixed excessive load time on configuration screen.
10
+ 2.2.5 - Catalog Feed tweaks
11
+ 2.2.7 - Support for Magento Security Patch (SUPEE-6788)
12
+ 2.2.9 - Historical Feed bug fix
13
+ 2.2.10 - Minor bug fix for historical feed exporter
14
+ 2.2.11 - Fixed circular reference in category tree. Optimized memory usage in catalog feed generator.
15
+ 2.3.0 - Added ability to push the historical feed nightly
16
+ 2.3.1 - Added UPC, MPN, EAN, ASIN, JAN and ISBN to TurnTo configuration screen and catalog feed
17
+ 2.3.2 - Allow users to deselect GTINs on configuration screen
18
+ 2.3.3 - Added Brand to the TurnTo configuration screen as a configurable attribute, which is included in the catalog feed.
19
+ 2.3.4 - Allow all types of attributes in the brand drop-down, not just varchar.</notes><authors><author><name>TurnTo</name><user>TurnTo</user><email>contact@turnto.com</email></author></authors><date>2016-05-19</date><time>7:45:19</time><compatible></compatible><dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><dir name="app"><dir name="code"><dir name="community"><dir name="Turnto"><dir name="Admin"><dir name="Block"><file name="CatalogFeed.php" hash="f974cfdc687bf5edb3fdccb879547200"/><file name="HistoricalFeed.php" hash="a4d2b29c6d8bb2ed59aa884e02abc23b"/><file name="Overview.php" hash="51c8ed09153f1dc3b3d02aa0ab83f195"/><file name="RatingsFeed.php" hash="264cf15842c2738f1b77bce6ff9b9f0a"/><file name="ShowTabsAdminBlock.php" hash="403c3a8f95c65e361471b28fae25d2e3"/><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Attributes.php" hash="07f84525b23f32db1eac6bd77318c067"/><file name="AttributesAll.php" hash="ea7cbaadf904db6c09a26175b8de3919"/><file name="Feed.php" hash="84d005b13b3e39da048078bfc275bdf5"/></dir></dir></dir><dir name="Review"><file name="Helper.php" hash="2ecc1a9252af9d40666b4f3a6603b522"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="68788e8a3a72056f5d7f97308cefedf2"/><dir name="Adminhtml"><file name="IndexController.php" hash="d78518e5502f5c19ff02892e2fa9fe78"/><file name="TurntoController.php" hash="f8c35059af46ed080a7a2d28c917042b"/></dir></dir><dir name="etc"><file name="config.xml" hash="4054e54cdca432a03353c21982386115"/><file name="system.xml" hash="e28746535072fa59a2cb73e7e90d668e"/></dir><dir name="Helper"><file name="Data.php" hash="a314c55de2898e5bcca63c464d6f198f"/></dir><dir name="Model"><file name="Observer.php" hash="ab972bf9ec9edb07345828fb4e69141d"/><file name="Rating.php" hash="2f3d43beb74018b394d7bf6ba1098e5c"/><dir name="Catalog"><file name="Product.php" hash="5325442b4449b7eb75547f50698400a6"/></dir><dir name="Resource"><file name="Rating.php" hash="0a7f9415ba76c6e121e0f3281479a4df"/><dir name="Rating"><file name="Collection.php" hash="2f0709f0f5f3bde0725c2db266f16e7d"/></dir></dir></dir><dir name="sql"><dir name="turnto_admin_setup"><file name="mysql4-install-2.2.0.php" hash="747fc729ae7587b41c3f3cce62aba82b"/></dir></dir></dir><dir name="Login"><dir name="Block"><file name="Login.php" hash="a51bc0ee76d20a9f4cb32bb21420ecd9"/><file name="Reg.php" hash="4eece8d78391b6578b0ba5e2c764dba5"/></dir><dir name="controllers"><file name="IndexController.php" hash="ee190f8ad424a227a68a8052b60e9158"/></dir><dir name="etc"><file name="config.xml" hash="e6396ea5fec6c629c2e92ecd2e699f42"/></dir><dir name="Helper"><file name="Data.php" hash="e87f15957335101d5ae643befcc06817"/></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><file name="catalog_feed_tab.phtml" hash="2a37f6daa5261ee972d4938a9f328893"/><file name="historical_feed_tab.phtml" hash="14b3a1940e98f3f44db732afd1c81946"/><file name="overview.phtml" hash="4cc20b32c3b0cd36cd349f0be44e4615"/><file name="product_ratings_feed_tab.phtml" hash="3733a056ab45f0af0b6a93ea30e257e0"/><dir name="adminhtml"><dir name="system"><dir name="config"><file name="feed.phtml" hash="c4b453ab154a34408bc34021630653bf"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="turnto_login.xml" hash="618272fcb19620431cd7b27369e34eb4"/></dir><dir name="template"><dir name="turnto"><dir name="login"><file name="login.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="login_form.phtml" hash="a176124e54fc105d09e8a219114d9cfe"/><file name="reg.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="reg_form.phtml" hash="8d513aa7b9b582f748f5a484f2e81568"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Turnto_Admin.xml" hash="0932b63ab068e1e8b12ff7b997ae83ee"/><file name="Turnto_Login.xml" hash="734c463c75970bd14ac7d7a90fa2de11"/></dir></dir></dir></target></contents></package>