Version Notes
TurnTo Admin Extension
2.0 Adds support for Single Sign On
Download this release
Release Info
Developer | TurnTo Networks |
Extension | socialcommerce_suite_by_turnto |
Version | 2.0.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.5 to 2.0.0
- app/code/community/Turnto/Admin/controllers/AdminControllers/TurntoController.php +28 -68
- app/code/community/Turnto/Admin/controllers/AdminControllers/TurntoController.php.bkup +168 -0
- app/code/community/Turnto/Admin/controllers/IndexController.php +10 -4
- app/code/community/Turnto/Login/Block/Login.php +11 -0
- app/code/community/Turnto/Login/Helper/Data.php +6 -0
- app/code/community/Turnto/Login/controllers/IndexController.php +105 -0
- app/code/community/Turnto/Login/etc/config.xml +41 -0
- app/design/adminhtml/default/default/template/turnto/catalog_feed_tab.phtml +19 -1
- app/design/adminhtml/default/default/template/turnto/historical_feed_tab.phtml +13 -0
- app/design/frontend/default/default/layout/turnto_login.xml +41 -0
- app/design/frontend/default/default/template/turnto/login/login.phtml +8 -0
- app/design/frontend/default/default/template/turnto/login/login_form.phtml +112 -0
- app/etc/modules/Turnto_Login.xml +10 -0
- package.xml +6 -5
app/code/community/Turnto/Admin/controllers/AdminControllers/TurntoController.php
CHANGED
@@ -5,7 +5,12 @@ class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Cont
|
|
5 |
public function indexAction()
|
6 |
{
|
7 |
$this->loadLayout();
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
9 |
$this->_addLeft($this->getLayout()->createBlock('Turnto_Admin_Block_ShowTabsAdminBlock'));
|
10 |
|
11 |
$this->renderLayout();
|
@@ -38,46 +43,28 @@ class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Cont
|
|
38 |
$this->_redirect('*/*/', array('active_tab' => 'turnto_hist_feed_tab'));
|
39 |
return;
|
40 |
}
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
$resource = Mage::getSingleton('core/resource');
|
43 |
$readConnection = $resource->getConnection('core_read');
|
44 |
-
/*$result = $readConnection->fetchAll(
|
45 |
-
'select '
|
46 |
-
.' sales_flat_order.entity_id as orderid, '
|
47 |
-
.' sales_flat_order_item.created_at as orderdate, '
|
48 |
-
.' customer_email as email, '
|
49 |
-
.' sales_flat_order_item.name as itemtitle, '
|
50 |
-
.' concat(\'http://magento.turntodev.com/index.php/\', url_path) as itemurl, '
|
51 |
-
.' item_id as itemlineid, '
|
52 |
-
.' postcode as zip, '
|
53 |
-
.' customer_firstname as firstname, '
|
54 |
-
.' customer_lastname as lastname, '
|
55 |
-
.' ifnull(parent.sku, sales_flat_order_item.sku) as sku, '
|
56 |
-
.' grand_total as price, '
|
57 |
-
.' concat((select concat(value,\'/media/catalog/product/\') from core_config_data where path = \'web/unsecure/base_url\'), small_image) as itemimageurl '
|
58 |
-
.'from sales_flat_order, '
|
59 |
-
.' sales_flat_order_item, '
|
60 |
-
.' sales_flat_order_address, '
|
61 |
-
.' catalog_product_flat_1 '
|
62 |
-
.'where sales_flat_order.entity_id = sales_flat_order_item.order_id '
|
63 |
-
.' and sales_flat_order.entity_id = sales_flat_order_address.entity_id '
|
64 |
-
.' and sales_flat_order.entity_id = catalog_product_flat_1.entity_id'
|
65 |
-
.' and sales_flat_order_item.created_at > str_to_date(\''.$startDate.'\', \'%m/%d/%Y\')');
|
66 |
-
*/
|
67 |
|
68 |
-
$
|
69 |
'select sales_flat_order.entity_id as orderid, '
|
70 |
.'sales_flat_order_item.created_at as orderdate, '
|
71 |
.'customer_email as email, '
|
72 |
.'ifnull(parent.name, sales_flat_order_item.name) as itemtitle, '
|
73 |
-
.'concat(\'
|
74 |
.'item_id as itemlineid, '
|
75 |
.'postcode as zip, '
|
76 |
.'customer_firstname as firstname, '
|
77 |
.'customer_lastname as lastname, '
|
78 |
.'ifnull(parent.sku, sales_flat_order_item.sku) as sku, '
|
79 |
.'grand_total as price, '
|
80 |
-
.'concat((select concat(value,\'/media/catalog/product/\') from core_config_data where path = \'web/unsecure/base_url\'), ifnull(parent.small_image, catalog_product_flat_1.small_image)) as itemimageurl '
|
81 |
.'from sales_flat_order,'
|
82 |
.'sales_flat_order_item, '
|
83 |
.'sales_flat_order_address, '
|
@@ -87,22 +74,23 @@ class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Cont
|
|
87 |
.'where sales_flat_order.entity_id = sales_flat_order_item.order_id '
|
88 |
.'and sales_flat_order.entity_id = sales_flat_order_address.entity_id '
|
89 |
.'and sales_flat_order_item.product_id = catalog_product_flat_1.entity_id '
|
90 |
-
.'and sales_flat_order_item.created_at > str_to_date(\''.$startDate.'\', \'%m/%d/%Y\')');
|
91 |
-
|
|
|
92 |
$handle = fopen($path . 'histfeed.csv', 'w');
|
93 |
|
94 |
fwrite($handle, "ORDERID\tORDERDATE\tEMAIL\tITEMTITLE\tITEMURL\tITEMLINEID\tZIP\tFIRSTNAME\tLASTNAME\tSKU\tPRICE\tITEMIMAGEURL");
|
95 |
fwrite($handle, "\n");
|
96 |
|
97 |
-
|
98 |
foreach($row as $column){
|
99 |
-
fwrite($handle, $column);
|
100 |
fwrite($handle, "\t");
|
101 |
}
|
102 |
|
103 |
fwrite($handle, "\n");
|
104 |
}
|
105 |
-
|
106 |
fclose($handle);
|
107 |
|
108 |
$message = $this->__('The historical feed was successfully generated. Click the "Download historical feed" link to download.');
|
@@ -110,50 +98,22 @@ class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Cont
|
|
110 |
}
|
111 |
else{
|
112 |
/* form processing */
|
|
|
|
|
|
|
|
|
113 |
|
114 |
$resource = Mage::getSingleton('core/resource');
|
115 |
$readConnection = $resource->getConnection('core_read');
|
116 |
-
/*
|
117 |
-
$result = $readConnection->fetchAll(
|
118 |
-
'(select sku as SKU, '
|
119 |
-
.' concat((select concat(value, \'media/catalog/product\') from core_config_data where path = \'web/unsecure/base_url\'), small_image) as IMAGEURL, '
|
120 |
-
.' name as TITLE, '
|
121 |
-
.' price as PRICE, '
|
122 |
-
.' \'\' as CURRENCY, '
|
123 |
-
.' \'Y\' as ACTIVE, '
|
124 |
-
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\'), url_path) as ITEMURL, '
|
125 |
-
.' (select ifnull(group_concat(category_id), \'\') from catalog_category_product where product_id = entity_id) as CATEGORY, '
|
126 |
-
.' \'\' as KEYWORDS, '
|
127 |
-
.' \'\' as REPLACEMENTSKU, '
|
128 |
-
.' \'Y\' as INSTOCK, '
|
129 |
-
.' \'\' as VIRTUALPARENTCODE, '
|
130 |
-
.' \'\' as CATEGORYPATHJSON, '
|
131 |
-
.' \'N\' as ISCATEGORY from catalog_product_flat_1) '
|
132 |
-
.'UNION ALL '
|
133 |
-
.'(select entity_id as SKU, '
|
134 |
-
.' \'\' as IMAGEURL, '
|
135 |
-
.' name as TITLE, '
|
136 |
-
.' \'\' as PRICE, '
|
137 |
-
.' \'\' as CURRENCY, '
|
138 |
-
.' \'Y\' as ACTIVE, '
|
139 |
-
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\'), url_path) as ITEMURL, '
|
140 |
-
.' (select ifnull(parent_id, \'\') from catalog_category_entity where entity_id = ccfs.entity_id) as CATEGORY, '
|
141 |
-
.' \'\' as KEYWORDS, '
|
142 |
-
.' \'\' as REPLACEMENTSKU, '.'\'Y\' as INSTOCK, '
|
143 |
-
.' \'\' as VIRTUALPARENTCODE, '
|
144 |
-
.' \'\' as CATEGORYPATHJSON, '
|
145 |
-
.' \'Y\' as ISCATEGORY '
|
146 |
-
.'from catalog_category_flat_store_1 ccfs)');
|
147 |
-
*/
|
148 |
|
149 |
$result = $readConnection->fetchAll(
|
150 |
'(select sku as SKU, '
|
151 |
-
.' concat((select concat(value, \'media/catalog/product\') from core_config_data where path = \'web/unsecure/base_url\'), small_image) as IMAGEURL, '
|
152 |
.' name as TITLE, '
|
153 |
.' price as PRICE, '
|
154 |
.' \'\' as CURRENCY, '
|
155 |
.' \'Y\' as ACTIVE, '
|
156 |
-
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\'), url_path) as ITEMURL, '
|
157 |
.' (select ifnull(group_concat(category_id), \'\') from catalog_category_product where product_id = entity_id and category_id <> \'1\') as CATEGORY, '
|
158 |
.' \'\' as KEYWORDS, '
|
159 |
.' \'\' as REPLACEMENTSKU, '
|
@@ -168,7 +128,7 @@ class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Cont
|
|
168 |
.' \'\' as PRICE, '
|
169 |
.' \'\' as CURRENCY, '
|
170 |
.' \'Y\' as ACTIVE, '
|
171 |
-
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\'), url_path) as ITEMURL, '
|
172 |
.' (select ifnull(parent_id, \'\') from catalog_category_entity where entity_id = ccfs.entity_id and parent_id <> \'1\') as CATEGORY, '
|
173 |
.' \'\' as KEYWORDS, '
|
174 |
.' \'\' as REPLACEMENTSKU, '.'\'Y\' as INSTOCK, '
|
@@ -184,7 +144,7 @@ class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Cont
|
|
184 |
|
185 |
foreach($result as $row){
|
186 |
foreach($row as $column){
|
187 |
-
fwrite($handle, $column);
|
188 |
fwrite($handle, "\t");
|
189 |
}
|
190 |
|
5 |
public function indexAction()
|
6 |
{
|
7 |
$this->loadLayout();
|
8 |
+
|
9 |
+
$resource = Mage::getSingleton('core/resource');
|
10 |
+
$readConnection = $resource->getConnection('core_read');
|
11 |
+
$result = $readConnection->fetchAll('select scope_id, value from core_config_data where path = \'web/unsecure/base_url\'');
|
12 |
+
Mage::register('sites', $result);
|
13 |
+
|
14 |
$this->_addLeft($this->getLayout()->createBlock('Turnto_Admin_Block_ShowTabsAdminBlock'));
|
15 |
|
16 |
$this->renderLayout();
|
43 |
$this->_redirect('*/*/', array('active_tab' => 'turnto_hist_feed_tab'));
|
44 |
return;
|
45 |
}
|
46 |
+
|
47 |
+
$scope = $post['scope'];
|
48 |
+
if(!isset($scope)){
|
49 |
+
$scope = 0;
|
50 |
+
}
|
51 |
|
52 |
$resource = Mage::getSingleton('core/resource');
|
53 |
$readConnection = $resource->getConnection('core_read');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
+
$stmt = $readConnection->prepare(
|
56 |
'select sales_flat_order.entity_id as orderid, '
|
57 |
.'sales_flat_order_item.created_at as orderdate, '
|
58 |
.'customer_email as email, '
|
59 |
.'ifnull(parent.name, sales_flat_order_item.name) as itemtitle, '
|
60 |
+
.'concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), ifnull(parent.url_path, catalog_product_flat_1.url_path)) as itemurl, '
|
61 |
.'item_id as itemlineid, '
|
62 |
.'postcode as zip, '
|
63 |
.'customer_firstname as firstname, '
|
64 |
.'customer_lastname as lastname, '
|
65 |
.'ifnull(parent.sku, sales_flat_order_item.sku) as sku, '
|
66 |
.'grand_total as price, '
|
67 |
+
.'concat((select concat(value,\'/media/catalog/product/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), ifnull(parent.small_image, catalog_product_flat_1.small_image)) as itemimageurl '
|
68 |
.'from sales_flat_order,'
|
69 |
.'sales_flat_order_item, '
|
70 |
.'sales_flat_order_address, '
|
74 |
.'where sales_flat_order.entity_id = sales_flat_order_item.order_id '
|
75 |
.'and sales_flat_order.entity_id = sales_flat_order_address.entity_id '
|
76 |
.'and sales_flat_order_item.product_id = catalog_product_flat_1.entity_id '
|
77 |
+
.'and sales_flat_order_item.created_at > str_to_date(\''.$startDate.'\', \'%m/%d/%Y\')', array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
|
78 |
+
$stmt->execute();
|
79 |
+
|
80 |
$handle = fopen($path . 'histfeed.csv', 'w');
|
81 |
|
82 |
fwrite($handle, "ORDERID\tORDERDATE\tEMAIL\tITEMTITLE\tITEMURL\tITEMLINEID\tZIP\tFIRSTNAME\tLASTNAME\tSKU\tPRICE\tITEMIMAGEURL");
|
83 |
fwrite($handle, "\n");
|
84 |
|
85 |
+
while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
|
86 |
foreach($row as $column){
|
87 |
+
fwrite($handle, str_replace("\t", "\\t", $column));
|
88 |
fwrite($handle, "\t");
|
89 |
}
|
90 |
|
91 |
fwrite($handle, "\n");
|
92 |
}
|
93 |
+
$stmt = null;
|
94 |
fclose($handle);
|
95 |
|
96 |
$message = $this->__('The historical feed was successfully generated. Click the "Download historical feed" link to download.');
|
98 |
}
|
99 |
else{
|
100 |
/* form processing */
|
101 |
+
$scope = $post['scope'];
|
102 |
+
if(!isset($scope)){
|
103 |
+
$scope = 0;
|
104 |
+
}
|
105 |
|
106 |
$resource = Mage::getSingleton('core/resource');
|
107 |
$readConnection = $resource->getConnection('core_read');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
$result = $readConnection->fetchAll(
|
110 |
'(select sku as SKU, '
|
111 |
+
.' concat((select concat(value, \'media/catalog/product\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), small_image) as IMAGEURL, '
|
112 |
.' name as TITLE, '
|
113 |
.' price as PRICE, '
|
114 |
.' \'\' as CURRENCY, '
|
115 |
.' \'Y\' as ACTIVE, '
|
116 |
+
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), url_path) as ITEMURL, '
|
117 |
.' (select ifnull(group_concat(category_id), \'\') from catalog_category_product where product_id = entity_id and category_id <> \'1\') as CATEGORY, '
|
118 |
.' \'\' as KEYWORDS, '
|
119 |
.' \'\' as REPLACEMENTSKU, '
|
128 |
.' \'\' as PRICE, '
|
129 |
.' \'\' as CURRENCY, '
|
130 |
.' \'Y\' as ACTIVE, '
|
131 |
+
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), url_path) as ITEMURL, '
|
132 |
.' (select ifnull(parent_id, \'\') from catalog_category_entity where entity_id = ccfs.entity_id and parent_id <> \'1\') as CATEGORY, '
|
133 |
.' \'\' as KEYWORDS, '
|
134 |
.' \'\' as REPLACEMENTSKU, '.'\'Y\' as INSTOCK, '
|
144 |
|
145 |
foreach($result as $row){
|
146 |
foreach($row as $column){
|
147 |
+
fwrite($handle, str_replace("\t", "\\t", $column));
|
148 |
fwrite($handle, "\t");
|
149 |
}
|
150 |
|
app/code/community/Turnto/Admin/controllers/AdminControllers/TurntoController.php.bkup
ADDED
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Turnto_Admin_AdminControllers_TurntoController extends Mage_Adminhtml_Controller_Action
|
4 |
+
{
|
5 |
+
public function indexAction()
|
6 |
+
{
|
7 |
+
$this->loadLayout();
|
8 |
+
|
9 |
+
$resource = Mage::getSingleton('core/resource');
|
10 |
+
$readConnection = $resource->getConnection('core_read');
|
11 |
+
$result = $readConnection->fetchAll('select website_id, name from core_website where website_id != 0');
|
12 |
+
Mage::register('sites', $result);
|
13 |
+
|
14 |
+
$this->_addLeft($this->getLayout()->createBlock('Turnto_Admin_Block_ShowTabsAdminBlock'));
|
15 |
+
|
16 |
+
$this->renderLayout();
|
17 |
+
}
|
18 |
+
|
19 |
+
public function redirectAction()
|
20 |
+
{
|
21 |
+
$this->_redirectUrl('http://www.turnto.com');
|
22 |
+
}
|
23 |
+
|
24 |
+
public function postAction()
|
25 |
+
{
|
26 |
+
$post = $this->getRequest()->getPost();
|
27 |
+
$catalogFeed = true;
|
28 |
+
|
29 |
+
try {
|
30 |
+
if (empty($post)) {
|
31 |
+
Mage::throwException($this->__('Invalid form data.'));
|
32 |
+
}
|
33 |
+
|
34 |
+
$path = Mage::getBaseDir('media') . DS . 'turnto/';
|
35 |
+
mkdir($path, 0755);
|
36 |
+
|
37 |
+
if($post['feed_type'] == 'historical'){
|
38 |
+
/* form processing */
|
39 |
+
$startDate = $post['start_date'];
|
40 |
+
|
41 |
+
if($startDate == null || $startDate == ""){
|
42 |
+
Mage::getSingleton('adminhtml/session')->addError("Start Date is required");
|
43 |
+
$this->_redirect('*/*/', array('active_tab' => 'turnto_hist_feed_tab'));
|
44 |
+
return;
|
45 |
+
}
|
46 |
+
|
47 |
+
$scope = $post['scope'];
|
48 |
+
if(!isset($scope)){
|
49 |
+
$scope = 0;
|
50 |
+
}
|
51 |
+
|
52 |
+
$resource = Mage::getSingleton('core/resource');
|
53 |
+
$readConnection = $resource->getConnection('core_read');
|
54 |
+
|
55 |
+
$result = $readConnection->fetchAll(
|
56 |
+
'select sales_flat_order.entity_id as orderid, '
|
57 |
+
.'sales_flat_order_item.created_at as orderdate, '
|
58 |
+
.'customer_email as email, '
|
59 |
+
.'ifnull(parent.name, sales_flat_order_item.name) as itemtitle, '
|
60 |
+
.'concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), ifnull(parent.url_path, catalog_product_flat_1.url_path)) as itemurl, '
|
61 |
+
.'item_id as itemlineid, '
|
62 |
+
.'postcode as zip, '
|
63 |
+
.'customer_firstname as firstname, '
|
64 |
+
.'customer_lastname as lastname, '
|
65 |
+
.'ifnull(parent.sku, sales_flat_order_item.sku) as sku, '
|
66 |
+
.'grand_total as price, '
|
67 |
+
.'concat((select concat(value,\'/media/catalog/product/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), ifnull(parent.small_image, catalog_product_flat_1.small_image)) as itemimageurl '
|
68 |
+
.'from sales_flat_order,'
|
69 |
+
.'sales_flat_order_item, '
|
70 |
+
.'sales_flat_order_address, '
|
71 |
+
.'catalog_product_flat_1 '
|
72 |
+
.'left join catalog_product_super_link on catalog_product_flat_1.entity_id = catalog_product_super_link.product_id '
|
73 |
+
.'left join catalog_product_flat_1 as parent on catalog_product_super_link.parent_id = parent.entity_id '
|
74 |
+
.'where sales_flat_order.entity_id = sales_flat_order_item.order_id '
|
75 |
+
.'and sales_flat_order.entity_id = sales_flat_order_address.entity_id '
|
76 |
+
.'and sales_flat_order_item.product_id = catalog_product_flat_1.entity_id '
|
77 |
+
.'and sales_flat_order_item.created_at > str_to_date(\''.$startDate.'\', \'%m/%d/%Y\')');
|
78 |
+
|
79 |
+
$handle = fopen($path . 'histfeed.csv', 'w');
|
80 |
+
|
81 |
+
fwrite($handle, "ORDERID\tORDERDATE\tEMAIL\tITEMTITLE\tITEMURL\tITEMLINEID\tZIP\tFIRSTNAME\tLASTNAME\tSKU\tPRICE\tITEMIMAGEURL");
|
82 |
+
fwrite($handle, "\n");
|
83 |
+
|
84 |
+
foreach($result as $row){
|
85 |
+
foreach($row as $column){
|
86 |
+
fwrite($handle, $column);
|
87 |
+
fwrite($handle, "\t");
|
88 |
+
}
|
89 |
+
|
90 |
+
fwrite($handle, "\n");
|
91 |
+
}
|
92 |
+
|
93 |
+
fclose($handle);
|
94 |
+
|
95 |
+
$message = $this->__('The historical feed was successfully generated. Click the "Download historical feed" link to download.');
|
96 |
+
$catalogFeed = false;
|
97 |
+
}
|
98 |
+
else{
|
99 |
+
/* form processing */
|
100 |
+
$scope = $post['scope'];
|
101 |
+
if(!isset($scope)){
|
102 |
+
$scope = 0;
|
103 |
+
}
|
104 |
+
|
105 |
+
$resource = Mage::getSingleton('core/resource');
|
106 |
+
$readConnection = $resource->getConnection('core_read');
|
107 |
+
|
108 |
+
$result = $readConnection->fetchAll(
|
109 |
+
'(select sku as SKU, '
|
110 |
+
.' concat((select concat(value, \'media/catalog/product\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), small_image) as IMAGEURL, '
|
111 |
+
.' name as TITLE, '
|
112 |
+
.' price as PRICE, '
|
113 |
+
.' \'\' as CURRENCY, '
|
114 |
+
.' \'Y\' as ACTIVE, '
|
115 |
+
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), url_path) as ITEMURL, '
|
116 |
+
.' (select ifnull(group_concat(category_id), \'\') from catalog_category_product where product_id = entity_id and category_id <> \'1\') as CATEGORY, '
|
117 |
+
.' \'\' as KEYWORDS, '
|
118 |
+
.' \'\' as REPLACEMENTSKU, '
|
119 |
+
.' \'Y\' as INSTOCK, '
|
120 |
+
.' \'\' as VIRTUALPARENTCODE, '
|
121 |
+
.' \'\' as CATEGORYPATHJSON, '
|
122 |
+
.' \'n\' as ISCATEGORY from catalog_product_flat_1 where not exists (select 1 from catalog_product_super_link where product_id = catalog_product_flat_1.entity_id)) '
|
123 |
+
.'UNION ALL '
|
124 |
+
.'(select entity_id as SKU, '
|
125 |
+
.' \'\' as IMAGEURL, '
|
126 |
+
.' name as TITLE, '
|
127 |
+
.' \'\' as PRICE, '
|
128 |
+
.' \'\' as CURRENCY, '
|
129 |
+
.' \'Y\' as ACTIVE, '
|
130 |
+
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), url_path) as ITEMURL, '
|
131 |
+
.' (select ifnull(parent_id, \'\') from catalog_category_entity where entity_id = ccfs.entity_id and parent_id <> \'1\') as CATEGORY, '
|
132 |
+
.' \'\' as KEYWORDS, '
|
133 |
+
.' \'\' as REPLACEMENTSKU, '.'\'Y\' as INSTOCK, '
|
134 |
+
.' \'\' as VIRTUALPARENTCODE, '
|
135 |
+
.' \'\' as CATEGORYPATHJSON, '
|
136 |
+
.' \'y\' as ISCATEGORY '
|
137 |
+
.'from catalog_category_flat_store_1 ccfs where entity_id <> \'1\')');
|
138 |
+
|
139 |
+
$handle = fopen($path . 'catfeed.csv', 'w');
|
140 |
+
|
141 |
+
fwrite($handle, "SKU\tIMAGEURL\tTITLE\tPRICE\tCURRENCY\tACTIVE\tITEMURL\tCATEGORY\tKEYWORDS\tREPLACEMENTSKU\tINSTOCK\tVIRTUALPARENTCODE\tCATEGORYPATHJSON\tISCATEGORY");
|
142 |
+
fwrite($handle, "\n");
|
143 |
+
|
144 |
+
foreach($result as $row){
|
145 |
+
foreach($row as $column){
|
146 |
+
fwrite($handle, $column);
|
147 |
+
fwrite($handle, "\t");
|
148 |
+
}
|
149 |
+
|
150 |
+
fwrite($handle, "\n");
|
151 |
+
}
|
152 |
+
|
153 |
+
fclose($handle);
|
154 |
+
|
155 |
+
$message = $this->__('The catalog feed was successfully generated. Click the "Download catalog feed" link to download.');
|
156 |
+
}
|
157 |
+
Mage::getSingleton('adminhtml/session')->addSuccess($message);
|
158 |
+
} catch (Exception $e) {
|
159 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
160 |
+
}
|
161 |
+
|
162 |
+
if($catalogFeed){
|
163 |
+
$this->_redirect('*/*/', array('active_tab' => 'turnto_catalog_feed_tab'));
|
164 |
+
}else{
|
165 |
+
$this->_redirectUrl(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).'media/turnto/histfeed.csv');
|
166 |
+
}
|
167 |
+
}
|
168 |
+
}
|
app/code/community/Turnto/Admin/controllers/IndexController.php
CHANGED
@@ -5,14 +5,20 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action{
|
|
5 |
$resource = Mage::getSingleton('core/resource');
|
6 |
$readConnection = $resource->getConnection('core_read');
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
$result = $readConnection->fetchAll(
|
9 |
'(select sku as SKU, '
|
10 |
-
.' concat((select concat(value, \'media/catalog/product\') from core_config_data where path = \'web/unsecure/base_url\'), small_image) as IMAGEURL, '
|
11 |
.' name as TITLE, '
|
12 |
.' price as PRICE, '
|
13 |
.' \'\' as CURRENCY, '
|
14 |
.' \'Y\' as ACTIVE, '
|
15 |
-
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\'), url_path) as ITEMURL, '
|
16 |
.' (select ifnull(group_concat(category_id), \'\') from catalog_category_product where product_id = entity_id and category_id <> \'1\') as CATEGORY, '
|
17 |
.' \'\' as KEYWORDS, '
|
18 |
.' \'\' as REPLACEMENTSKU, '
|
@@ -27,7 +33,7 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action{
|
|
27 |
.' \'\' as PRICE, '
|
28 |
.' \'\' as CURRENCY, '
|
29 |
.' \'Y\' as ACTIVE, '
|
30 |
-
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\'), url_path) as ITEMURL, '
|
31 |
.' (select ifnull(parent_id, \'\') from catalog_category_entity where entity_id = ccfs.entity_id and parent_id <> \'1\') as CATEGORY, '
|
32 |
.' \'\' as KEYWORDS, '
|
33 |
.' \'\' as REPLACEMENTSKU, '.'\'Y\' as INSTOCK, '
|
@@ -41,7 +47,7 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action{
|
|
41 |
|
42 |
foreach($result as $row){
|
43 |
foreach($row as $column){
|
44 |
-
echo $column;
|
45 |
echo "\t";
|
46 |
}
|
47 |
|
5 |
$resource = Mage::getSingleton('core/resource');
|
6 |
$readConnection = $resource->getConnection('core_read');
|
7 |
|
8 |
+
$params = $this->getRequest()->getParams();
|
9 |
+
$scope = $params['scope'];
|
10 |
+
if(!isset($scope)){
|
11 |
+
$scope = 0;
|
12 |
+
}
|
13 |
+
|
14 |
$result = $readConnection->fetchAll(
|
15 |
'(select sku as SKU, '
|
16 |
+
.' concat((select concat(value, \'media/catalog/product\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), small_image) as IMAGEURL, '
|
17 |
.' name as TITLE, '
|
18 |
.' price as PRICE, '
|
19 |
.' \'\' as CURRENCY, '
|
20 |
.' \'Y\' as ACTIVE, '
|
21 |
+
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), url_path) as ITEMURL, '
|
22 |
.' (select ifnull(group_concat(category_id), \'\') from catalog_category_product where product_id = entity_id and category_id <> \'1\') as CATEGORY, '
|
23 |
.' \'\' as KEYWORDS, '
|
24 |
.' \'\' as REPLACEMENTSKU, '
|
33 |
.' \'\' as PRICE, '
|
34 |
.' \'\' as CURRENCY, '
|
35 |
.' \'Y\' as ACTIVE, '
|
36 |
+
.' concat((select concat(value, \'index.php/\') from core_config_data where path = \'web/unsecure/base_url\' and scope_id = \''.$scope.'\'), url_path) as ITEMURL, '
|
37 |
.' (select ifnull(parent_id, \'\') from catalog_category_entity where entity_id = ccfs.entity_id and parent_id <> \'1\') as CATEGORY, '
|
38 |
.' \'\' as KEYWORDS, '
|
39 |
.' \'\' as REPLACEMENTSKU, '.'\'Y\' as INSTOCK, '
|
47 |
|
48 |
foreach($result as $row){
|
49 |
foreach($row as $column){
|
50 |
+
echo str_replace("\t", "\\t", $column);
|
51 |
echo "\t";
|
52 |
}
|
53 |
|
app/code/community/Turnto/Login/Block/Login.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Turnto_Login_Block_Login extends Mage_Core_Block_Template
|
4 |
+
{
|
5 |
+
|
6 |
+
public function __construct()
|
7 |
+
{
|
8 |
+
parent::__construct();
|
9 |
+
//$this->setTemplate('customer/form/login.phtml');
|
10 |
+
}
|
11 |
+
}
|
app/code/community/Turnto/Login/Helper/Data.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Turnto_Login_Helper_Data extends Mage_Core_Helper_Data
|
4 |
+
{
|
5 |
+
|
6 |
+
}
|
app/code/community/Turnto/Login/controllers/IndexController.php
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Turnto_Login_IndexController extends Mage_Core_Controller_Front_Action {
|
3 |
+
public function indexAction()
|
4 |
+
{
|
5 |
+
$this->loadLayout();
|
6 |
+
|
7 |
+
$this->renderLayout();
|
8 |
+
}
|
9 |
+
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Retrieve customer session model object
|
13 |
+
*
|
14 |
+
* @return Mage_Customer_Model_Session
|
15 |
+
*/
|
16 |
+
protected function _getSession()
|
17 |
+
{
|
18 |
+
return Mage::getSingleton('customer/session');
|
19 |
+
}
|
20 |
+
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Login post action
|
24 |
+
*/
|
25 |
+
public function loginAction()
|
26 |
+
{
|
27 |
+
$result["error"]=0;
|
28 |
+
|
29 |
+
$this->getResponse()->setHeader('Content-Type', 'application/json');
|
30 |
+
|
31 |
+
if ($this->_getSession()->isLoggedIn()) {
|
32 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
33 |
+
return;
|
34 |
+
}
|
35 |
+
$session = $this->_getSession();
|
36 |
+
|
37 |
+
if ($this->getRequest()->isPost()) {
|
38 |
+
$login = $this->getRequest()->getPost('login');
|
39 |
+
if (!empty($login['username']) && !empty($login['password'])) {
|
40 |
+
try {
|
41 |
+
$session->login($login['username'], $login['password']);
|
42 |
+
if ($session->getCustomer()->getIsJustConfirmed()) {
|
43 |
+
$this->_welcomeCustomer($session->getCustomer(), true);
|
44 |
+
}
|
45 |
+
} catch (Mage_Core_Exception $e) {
|
46 |
+
switch ($e->getCode()) {
|
47 |
+
case Mage_Customer_Model_Customer::EXCEPTION_EMAIL_NOT_CONFIRMED:
|
48 |
+
$result["error"] = 1;
|
49 |
+
$value = Mage::helper('customer')->getEmailConfirmationUrl($login['username']);
|
50 |
+
$message = Mage::helper('customer')->__('This account is not confirmed. <a href="%s">Click here</a> to resend confirmation email.', $value);
|
51 |
+
break;
|
52 |
+
case Mage_Customer_Model_Customer::EXCEPTION_INVALID_EMAIL_OR_PASSWORD:
|
53 |
+
$result["error"] = 1;
|
54 |
+
$message = $e->getMessage();
|
55 |
+
break;
|
56 |
+
default:
|
57 |
+
$result["error"] = 1;
|
58 |
+
$message = $e->getMessage();
|
59 |
+
}
|
60 |
+
$session->addError($message);
|
61 |
+
$session->setUsername($login['username']);
|
62 |
+
} catch (Exception $e) {
|
63 |
+
// Mage::logException($e); // PA DSS violation: this exception log can disclose customer password
|
64 |
+
}
|
65 |
+
} else {
|
66 |
+
$result["error"] = 1;
|
67 |
+
$session->addError($this->__('Login and password are required.'));
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
//$this->_loginPostRedirect();
|
72 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
73 |
+
}
|
74 |
+
|
75 |
+
public function getUserStatusAction()
|
76 |
+
{
|
77 |
+
$session = Mage::getSingleton('customer/session');
|
78 |
+
$this->getResponse()->setHeader('Content-Type', 'application/json');
|
79 |
+
if($session->isLoggedIn()) {
|
80 |
+
$customer = $session->getCustomer();
|
81 |
+
$result = array();
|
82 |
+
|
83 |
+
$result['user_auth_token'] = $customer->getEntityId();
|
84 |
+
$result['first_name'] = $customer->getFirstname();
|
85 |
+
$result['last_name'] = $customer->getLastname();
|
86 |
+
$result['email'] = $customer->getEmail();
|
87 |
+
$result['email_confirmed'] = true;
|
88 |
+
$result['nickname'] = null;
|
89 |
+
} else {
|
90 |
+
$result['error'] = "User is logged out";
|
91 |
+
}
|
92 |
+
|
93 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Customer logout action
|
98 |
+
*/
|
99 |
+
public function logoutAction()
|
100 |
+
{
|
101 |
+
$this->_getSession()->logout()->setBeforeAuthUrl(Mage::getUrl());
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
|
app/code/community/Turnto/Login/etc/config.xml
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
|
3 |
+
<config>
|
4 |
+
<modules>
|
5 |
+
<Turnto_Login>
|
6 |
+
<version>0.1.0</version>
|
7 |
+
</Turnto_Login>
|
8 |
+
</modules>
|
9 |
+
|
10 |
+
<global>
|
11 |
+
<blocks>
|
12 |
+
<loginblock1>
|
13 |
+
<class>Turnto_Login_Block</class>
|
14 |
+
</loginblock1>
|
15 |
+
</blocks>
|
16 |
+
<helpers>
|
17 |
+
<loginhelper1>
|
18 |
+
<class>Turnto_Login_Helper</class>
|
19 |
+
</loginhelper1>
|
20 |
+
</helpers>
|
21 |
+
</global>
|
22 |
+
|
23 |
+
<frontend>
|
24 |
+
<routers>
|
25 |
+
<turnto_login>
|
26 |
+
<use>standard</use>
|
27 |
+
<args>
|
28 |
+
<module>Turnto_Login</module>
|
29 |
+
<frontName>turntologin</frontName>
|
30 |
+
</args>
|
31 |
+
</turnto_login>
|
32 |
+
</routers>
|
33 |
+
<layout>
|
34 |
+
<updates>
|
35 |
+
<turnto_login>
|
36 |
+
<file>turnto_login.xml</file>
|
37 |
+
</turnto_login>
|
38 |
+
</updates>
|
39 |
+
</layout>
|
40 |
+
</frontend>
|
41 |
+
</config>
|
app/design/adminhtml/default/default/template/turnto/catalog_feed_tab.phtml
CHANGED
@@ -1,7 +1,12 @@
|
|
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'
|
|
|
|
|
|
|
|
|
|
|
5 |
<br>
|
6 |
in the <b>Catalog Feed Url:</b> input field.
|
7 |
<br>
|
@@ -27,6 +32,19 @@ To manually create a catalog feed press Generate to build a catalog feed. This f
|
|
27 |
<td><input id="authKey" name="authKey" type="text" /></td>
|
28 |
</tr>
|
29 |
-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<tr>
|
31 |
<td></td>
|
32 |
<td align="right">
|
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('sites')) > 1) { ?>?scope=SCOPE_ID<?php } ?></i>
|
5 |
+
<br>
|
6 |
+
<?php if(count(Mage::registry('sites')) > 1) { ?>
|
7 |
+
<b>NOTE: You appear to have two sites on your magento installation so you will need to supply a scope in the URL. Replace <i>SCOPE_ID</i> in the url above with the appropriate scope from the drop-down below (just the number. For instance: scope=1)</b>
|
8 |
+
<br>
|
9 |
+
<?php } ?>
|
10 |
<br>
|
11 |
in the <b>Catalog Feed Url:</b> input field.
|
12 |
<br>
|
32 |
<td><input id="authKey" name="authKey" type="text" /></td>
|
33 |
</tr>
|
34 |
-->
|
35 |
+
<?php if(count(Mage::registry('sites')) > 1) { ?>
|
36 |
+
<tr>
|
37 |
+
<td>Scope:</td>
|
38 |
+
<td><select id="scope" name="scope">
|
39 |
+
<?php
|
40 |
+
$sites = Mage::registry('sites');
|
41 |
+
foreach($sites as $site) {
|
42 |
+
echo '<option value="'.$site['scope_id'].'">'.$site['scope_id'].': '.$site['value'].'</option>';
|
43 |
+
}
|
44 |
+
?>
|
45 |
+
</td>
|
46 |
+
</tr>
|
47 |
+
<?php } ?>
|
48 |
<tr>
|
49 |
<td></td>
|
50 |
<td align="right">
|
app/design/adminhtml/default/default/template/turnto/historical_feed_tab.phtml
CHANGED
@@ -7,6 +7,19 @@
|
|
7 |
<input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
|
8 |
<input name="feed_type" type="hidden" value="historical" />
|
9 |
<table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
<tr>
|
11 |
<td>From Date:</td>
|
12 |
<td>
|
7 |
<input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
|
8 |
<input name="feed_type" type="hidden" value="historical" />
|
9 |
<table>
|
10 |
+
<?php if(count(Mage::registry('sites')) > 1) { ?>
|
11 |
+
<tr>
|
12 |
+
<td>Scope:</td>
|
13 |
+
<td><select id="scope" name="scope">
|
14 |
+
<?php
|
15 |
+
$sites = Mage::registry('sites');
|
16 |
+
foreach($sites as $site) {
|
17 |
+
echo '<option value="'.$site['scope_id'].'">'.$site['scope_id'].': '.$site['value'].'</option>';
|
18 |
+
}
|
19 |
+
?>
|
20 |
+
</td>
|
21 |
+
</tr>
|
22 |
+
<?php } ?>
|
23 |
<tr>
|
24 |
<td>From Date:</td>
|
25 |
<td>
|
app/design/frontend/default/default/layout/turnto_login.xml
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
</layout>
|
app/design/frontend/default/default/template/turnto/login/login.phtml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<html>
|
2 |
+
<head>
|
3 |
+
<?php echo $this->getChildHtml('head') ?>
|
4 |
+
</head>
|
5 |
+
<body>
|
6 |
+
<?php echo $this->getChildHtml('content') ?>
|
7 |
+
</body>
|
8 |
+
</html>
|
app/design/frontend/default/default/template/turnto/login/login_form.phtml
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* Customer login form template
|
30 |
+
*
|
31 |
+
* @see Mage_Customer_Block_Form_Login
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
<div class="account-login">
|
35 |
+
<div class="page-title">
|
36 |
+
<h1><?php echo $this->__('Login') ?></h1>
|
37 |
+
</div>
|
38 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
39 |
+
<form method="post" id="login-form">
|
40 |
+
<div class="col1-set">
|
41 |
+
<!--<div class="col-1 new-users">
|
42 |
+
<div class="content">
|
43 |
+
<h2><?php echo $this->__('New Customers') ?></h2>
|
44 |
+
<p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
|
45 |
+
</div>
|
46 |
+
</div>-->
|
47 |
+
<div class="col-2 registered-users">
|
48 |
+
<div class="content">
|
49 |
+
<h2><?php echo $this->__('Registered Customers') ?></h2>
|
50 |
+
<p><?php echo $this->__('If you have an account with us, please log in.') ?></p>
|
51 |
+
<ul class="form-list">
|
52 |
+
<li>
|
53 |
+
<label for="email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
54 |
+
<div class="input-box">
|
55 |
+
<input type="text" name="login[username]" value="<?php echo $this->htmlEscape($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo $this->__('Email Address') ?>" />
|
56 |
+
</div>
|
57 |
+
</li>
|
58 |
+
<li>
|
59 |
+
<label for="pass" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
|
60 |
+
<div class="input-box">
|
61 |
+
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $this->__('Password') ?>" />
|
62 |
+
</div>
|
63 |
+
</li>
|
64 |
+
</ul>
|
65 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
66 |
+
</div>
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
+
<div class="col1-set">
|
70 |
+
<!--<div class="col-1 new-users">
|
71 |
+
<div class="buttons-set">
|
72 |
+
<button type="button" title="<?php echo $this->__('Create an Account') ?>" class="button" onclick="window.location='<?php echo $this->getCreateAccountUrl() ?>';"><span><span><?php echo $this->__('Create an Account') ?></span></span></button>
|
73 |
+
</div>
|
74 |
+
</div>-->
|
75 |
+
<div class="col-2 registered-users">
|
76 |
+
<div class="buttons-set">
|
77 |
+
<a href="<?php echo $this->getForgotPasswordUrl() ?>" target="_parent" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
|
78 |
+
<button type="button" class="button" onclick="handlerFunction();return false;" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
</form>
|
83 |
+
<script type="text/javascript">
|
84 |
+
//<![CDATA[
|
85 |
+
function handlerFunction(){
|
86 |
+
|
87 |
+
// Making Ajax Request
|
88 |
+
var request = new Ajax.Request(
|
89 |
+
'<?php echo $this->getUrl("*/*/login") ?>',
|
90 |
+
{
|
91 |
+
method: 'post',
|
92 |
+
onComplete: function(transport){ // Defining Complete Callback Function
|
93 |
+
|
94 |
+
// Getting Ajax Response Text Which is JSON Object
|
95 |
+
var jsonResponse=JSON.parse(transport.responseText);
|
96 |
+
//Checking JSON Objects property and performing related action
|
97 |
+
// You will understand the response Text format after going through the controller description (Below)
|
98 |
+
if(jsonResponse.error){
|
99 |
+
alert("Error Occured");
|
100 |
+
return false;
|
101 |
+
}
|
102 |
+
else{
|
103 |
+
parent.TurnTo.localAuthenticationComplete();
|
104 |
+
}
|
105 |
+
},
|
106 |
+
parameters: Form.serialize($("login-form")) // Seriallizing the form input values
|
107 |
+
}
|
108 |
+
);
|
109 |
+
}
|
110 |
+
//]]>
|
111 |
+
</script>
|
112 |
+
</div>
|
app/etc/modules/Turnto_Login.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
|
3 |
+
<config>
|
4 |
+
<modules>
|
5 |
+
<Turnto_Login>
|
6 |
+
<active>true</active>
|
7 |
+
<codePool>community</codePool>
|
8 |
+
</Turnto_Login>
|
9 |
+
</modules>
|
10 |
+
</config>
|
package.xml
CHANGED
@@ -1,18 +1,19 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>socialcommerce_suite_by_turnto</name>
|
4 |
-
<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
|
|
|
12 |
<authors><author><name>TurnTo Networks</name><user>TurnTo</user><email>contact@turnto.com</email></author></authors>
|
13 |
-
<date>2012-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><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="ShowTabsAdminBlock.php" hash="d904239a91cc367e93c138eff3e2b074"/></dir><dir name="Helper"><file name="Data.php" hash="78a1e318ccf05caac4ca7a8c2bd74e43"/></dir><dir name="controllers"><dir name="AdminControllers"><file name="TurntoController.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>socialcommerce_suite_by_turnto</name>
|
4 |
+
<version>2.0.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
|
12 |
+
2.0 Adds support for Single Sign On</notes>
|
13 |
<authors><author><name>TurnTo Networks</name><user>TurnTo</user><email>contact@turnto.com</email></author></authors>
|
14 |
+
<date>2012-10-02</date>
|
15 |
+
<time>19:26:27</time>
|
16 |
+
<contents><target name="magecommunity"><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="ShowTabsAdminBlock.php" hash="d904239a91cc367e93c138eff3e2b074"/></dir><dir name="Helper"><file name="Data.php" hash="78a1e318ccf05caac4ca7a8c2bd74e43"/></dir><dir name="controllers"><dir name="AdminControllers"><file name="TurntoController.php" hash="e31176d9c91ab73421524f3943bd976c"/><file name="TurntoController.php.bkup" hash="3ca533bdc29d903c7dbcac92f04c9b8a"/></dir><file name="IndexController.php" hash="8bb1663b15a84d13afac885767ecfd85"/></dir><dir name="etc"><file name="config.xml" hash="27ba1dd7b8e34b0587ac647142aee2c7"/></dir></dir><dir name="Login"><dir name="Block"><file name="Login.php" hash="a51bc0ee76d20a9f4cb32bb21420ecd9"/></dir><dir name="Helper"><file name="Data.php" hash="e87f15957335101d5ae643befcc06817"/></dir><dir name="controllers"><file name="IndexController.php" hash="d7b7fbacd9e3d8b38e3f6b735ea91164"/></dir><dir name="etc"><file name="config.xml" hash="f165478215331e4eea171856de2b65fe"/></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Turnto_Admin.xml" hash="0932b63ab068e1e8b12ff7b997ae83ee"/><file name="Turnto_Login.xml" hash="734c463c75970bd14ac7d7a90fa2de11"/></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><file name="catalog_feed_tab.phtml" hash="3e639b29b83f8bba4b88f8b48e6764b3"/><file name="historical_feed_tab.phtml" hash="fa852afe272fddc39e14f59e3dafe014"/><file name="overview.phtml" hash="4cc20b32c3b0cd36cd349f0be44e4615"/></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="dab0c01566d020d031fd7eab94f783a1"/></dir></dir></dir><dir name="layout"><file name="turnto_login.xml" hash="bdb3f58d316e9fb6d9bb196e509af06c"/></dir></dir></dir></dir></dir></target></contents>
|
17 |
<compatible/>
|
18 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
19 |
</package>
|