Print_Science_Designer_Web_to_Print - Version 1.0.18

Version Notes

Print_Science_Designer_Web_to_Print

Download this release

Release Info

Developer John Weissberg
Extension Print_Science_Designer_Web_to_Print
Version 1.0.18
Comparing to
See all releases


Code changes from version 1.0.17 to 1.0.18

app/code/local/PrintScience/Personalization/Model/Observer.php CHANGED
@@ -1,349 +1,325 @@
1
- <?php
2
- /**
3
- * Print Science personalization observer
4
- *
5
- */
6
- class PrintScience_Personalization_Model_Observer
7
- {
8
- /**
9
- * Event observer
10
- *
11
- * @var Varien_Event_Observer
12
- */
13
- private $_observer;
14
-
15
- /**
16
- * Check if current action is 'checkout_cart_add' and start personalization process
17
- *
18
- * @param Varien_Event_Observer $observer
19
- */
20
- public function checkForCheckoutCartAddAction($observer)
21
- {
22
- $this->_observer = $observer;
23
-
24
- $controller = $observer->getControllerAction();
25
- $sessionHelper = Mage::helper('printscience_personalization/session');
26
- $request = Mage::app()->getRequest();
27
-
28
- $sessionKey = $request->getParam('api_session_key');
29
-
30
- if (($controller->getFullActionName() == 'checkout_cart_add')
31
- && (!Mage::registry('PrintScience_Personalization_calledFromSuccessAction'))) {
32
- $this->startPersonalization();
33
- }elseif($sessionKey !='' && strcasecmp($controller->getFullActionName(), 'printscience_personalization_index_resumeShoppingCart') === 0){
34
- //$this->startPersonalization();
35
- }
36
- }
37
-
38
- /**
39
- * Start personalization process
40
- *
41
- * @param Mage_Core_Controller_Request_Http $product
42
- */
43
- private function startPersonalization()
44
- {
45
- $controller = $this->_observer->getControllerAction();
46
- $request = Mage::app()->getRequest();
47
- $response = Mage::app()->getResponse();
48
- $session = Mage::getSingleton('core/session');
49
- $datasHelper = Mage::helper('printscience_personalization/data');
50
-
51
- $productId = intval($request->getParam('product'));
52
- $product = Mage::getModel('catalog/product')
53
- ->setStoreId(Mage::app()->getStore()->getId())
54
- ->load($productId);
55
- if (!$product->getId()) {
56
- return false;
57
- }
58
-
59
- $errorUrl = $product->getProductUrl();
60
-
61
- /**
62
- * Check if personalization is enabled for this product.
63
- * If this is simple product then we need to check its 'personalization_enabled' attribute.
64
- * If this is configurable product then we need to check 'personalization_enabled' attribute of its subproduct.
65
- * No other product types are supported.
66
- */
67
- $productTypeId = $product->getTypeId();
68
- if ($productTypeId == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE) {
69
- if (!$product->getPersonalizationEnabled()) {
70
- return false;
71
- }
72
- } elseif ($productTypeId == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
73
- $attributes = $request->getParam('super_attribute');
74
- $product = $product->getTypeInstance()->getProductByAttributes($attributes);
75
- $product = Mage::getModel('catalog/product')->load($product->getId());
76
- if ((!$product) || (!$product->getPersonalizationEnabled())) {
77
- return false;
78
- }
79
- } elseif ($productTypeId == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
80
- if (!$product->getPersonalizationEnabled()) {
81
- return false;
82
- }
83
- } else {
84
- return false;
85
- }
86
-
87
- // check if template ID is valid
88
- $templateId = $product->getPersonalizationTemplateId();
89
- if (!$templateId) {
90
- $session->addError($controller->__('Unable to start personalization: template ID is empty.'));
91
- $response->setRedirect($errorUrl)->sendHeaders();
92
- //$datasHelper->_redirectToUrl($errorUrl);
93
- exit();
94
- }
95
-
96
- $sessionHelper = Mage::helper('printscience_personalization/session');
97
- $sessionKey = $sessionHelper->generateKey();
98
-
99
- $buyRequestParams = $request->getParams();
100
- if (isset($buyRequestParams['uenc'])) {
101
- unset($buyRequestParams['uenc']);
102
- }
103
- $returnUrlParams['_query'] = $buyRequestParams;
104
- if (isset($returnUrlParams['uenc'])) {
105
- unset($returnUrlParams['uenc']);
106
- }
107
- $returnUrlParams['personalization_session_key'] = $sessionKey;
108
-
109
- $successUrl = Mage::getUrl('personalization/index/success', $returnUrlParams);
110
- $failUrl = Mage::getUrl('personalization/index/fail', $returnUrlParams);
111
- $cancelUrl = Mage::getUrl('personalization/index/cancel', $returnUrlParams);
112
- // begin personalization
113
- $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
114
- $apiResponse = $apiGateway->beginPersonalization($templateId, $successUrl, $failUrl, $cancelUrl);
115
- if (!$apiResponse) {
116
- $session->addError($controller->__('Unable to start personalization: API response was empty.'));
117
- $response->setRedirect($errorUrl)->sendHeaders();
118
- //$datasHelper->_redirectToUrl($errorUrl);
119
- exit();
120
- }
121
- if ($apiResponse->getFaultCode()) {
122
- $session->addError($controller->__('Unable to start personalization: ' . $apiResponse->getFaultString()));
123
- $response->setRedirect($errorUrl)->sendHeaders();
124
- //$datasHelper->_redirectToUrl($errorUrl);
125
- exit();
126
- }
127
- $apiSessionKey = $apiResponse->getSessionKey();
128
- $appUrl = $apiResponse->getAppUrl();
129
-
130
- $sessionHelper->addData($sessionKey, array(
131
- 'apiSessionKey' => $apiSessionKey,
132
- 'appUrl' => $appUrl,
133
- 'buyRequest' => serialize($buyRequestParams)
134
- ));
135
-
136
- $response->setRedirect($appUrl)->sendHeaders();
137
-
138
- //$datasHelper->_redirectToUrl($appUrl);
139
- exit();
140
- }
141
-
142
- /**
143
- * End personalization process when item is deleted from shopping cart
144
- *
145
- * @param Varien_Event_Observer $observer
146
- */
147
- public function endPersonalization($observer)
148
- {
149
- $this->_observer = $observer;
150
-
151
- $quoteHelper = Mage::helper('printscience_personalization/quote');
152
- $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
153
-
154
- $quoteItem = $observer->getEvent()->getData('quote_item');
155
- $data = $quoteHelper->getItemData($quoteItem);
156
- if ($data) {
157
- $apiGateway->endPersonalization($data['apiSessionKey']);
158
- }
159
- }
160
-
161
- /**
162
- * Add personalization options to cart item
163
- *
164
- * @param Varien_Event_Observer $observer
165
- */
166
- public function addOptionsToCartItem($observer)
167
- {
168
- $this->_observer = $observer;
169
-
170
- $request = Mage::app()->getRequest();
171
-
172
- $sessionKey = $request->getParam('personalization_session_key');
173
-
174
- $quoteItem = $observer->getEvent()->getData('quote_item');
175
- $productItem = Mage::getModel('catalog/product')->load($quoteItem->getProduct()->getId());
176
- if (!$sessionKey) {
177
- //if ((!$productItem->getPersonalizationEnabled()) || (!$sessionKey)) {
178
- return false;
179
- }
180
-
181
- $sessionHelper = Mage::helper('printscience_personalization/session');
182
- $sessionData = $sessionHelper->getData($sessionKey);
183
- if (!$sessionData) {
184
- return false;
185
- }
186
- unset($sessionData['buyRequest']);
187
- $sessionData['sessionKey'] = $sessionKey;
188
-
189
- $parentItem = $quoteItem->getParentItem();
190
- if ($parentItem) {
191
- $quoteItem = $parentItem;
192
- }
193
- $quoteHelper = Mage::helper('printscience_personalization/quote');
194
-
195
-
196
- $quoteHelper->addItemData($quoteItem, $sessionData);
197
- }
198
-
199
- /**
200
- * Add personalization options to order items
201
- *
202
- * @param Varien_Event_Observer $observer
203
- */
204
- public function addOptionsToOrderItems($observer)
205
- {
206
- $this->_observer = $observer;
207
-
208
- $quoteHelper = Mage::helper('printscience_personalization/quote');
209
- $orderHelper = Mage::helper('printscience_personalization/order');
210
- $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
211
-
212
- $order = $observer->getEvent()->getData('order');
213
- $orderItems = $order->getItemsCollection();
214
- foreach ($orderItems as $orderItem) {
215
- $quoteItemOptions = Mage::getModel('sales/quote_item_option')
216
- ->getCollection()
217
- ->addItemFilter($orderItem->getQuoteItemId());
218
- if (!count($quoteItemOptions)) {
219
- return false;
220
- }
221
- $quoteItem = Mage::getModel('sales/quote_item')
222
- ->load($orderItem->getQuoteItemId())
223
- ->setOptions($quoteItemOptions);
224
- if (!$quoteItem->getId()) {
225
- continue;
226
- }
227
-
228
- if($personalizationInfo = $quoteItem->getData('personalization_info')){
229
- $personalizationInfo = unserialize($personalizationInfo);
230
- if(!empty($personalizationInfo)){
231
- $orderHelper->addItemData($orderItem,$personalizationInfo);
232
- }
233
- continue;
234
- }
235
-
236
-
237
- $quoteItemData = $quoteHelper->getItemData($quoteItem);
238
- if (!$quoteItemData) {
239
- continue;
240
- }
241
-
242
- $apiResponse = $apiGateway->getPreview($quoteItemData['apiSessionKey']);
243
- if ((!$apiResponse) || ($apiResponse->getFaultCode())) {
244
- continue;
245
- }
246
-
247
- $orderHelper->addItemData($orderItem, array(
248
- 'preview_pdf_url' => $apiResponse->getPdfUrl(),
249
- 'product_images' =>$apiResponse->getPeviewUrls()
250
- ));
251
-
252
- $apiGateway->endPersonalization($quoteItemData['apiSessionKey']);
253
- }
254
- }
255
-
256
- /**
257
- * Intialize personalization gallery on shopping cart
258
- *
259
- * @param Varien_Event_Observer $observer
260
- * @return boolean
261
- */
262
- public function initGallery($observer)
263
- {
264
- $this->_observer = $observer;
265
-
266
- $layout = Mage::app()->getLayout();
267
- $quoteHelper = Mage::helper('printscience_personalization/quote');
268
-
269
- $cartItems = Mage::getModel('checkout/cart')->getItems();
270
- if (!$cartItems) {
271
- return false;
272
- }
273
- $containsPersonalizedItems = false;
274
- foreach ($cartItems as $item) {
275
- if ($quoteHelper->getItemData($item)) {
276
- $containsPersonalizedItems = true;
277
- break;
278
- }
279
- }
280
- //if ($containsPersonalizedItems) {
281
- $layout->getBlock('head')
282
- ->addJs('printscience_personalization/jquery/jquery-1.4.2.min.js')
283
- ->addJs('printscience_personalization/jquery/jquery.cycle/jquery.cycle.lite.min.js')
284
- ->addJs('printscience_personalization/jquery/fancybox/jquery.fancybox-1.3.4.pack.js')
285
- ->addItem('js_css', 'printscience_personalization/jquery/fancybox/jquery.fancybox-1.3.4.css')
286
- ->addJs('printscience_personalization/gallery.js')
287
- ->addItem('js_css', 'printscience_personalization/gallery.css');
288
- //}
289
- }
290
-
291
- /**
292
- * Ensure that all personalized items in shopping cart have proper API session key
293
- *
294
- * @param Varien_Event_Observer $observer
295
- */
296
- public function checkCartItems($observer)
297
- {
298
- $this->_observer = $observer;
299
-
300
- $quoteHelper = Mage::helper('printscience_personalization/quote');
301
- $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
302
-
303
- $quote = $observer->getEvent()->getData('data_object');
304
- $quoteItems = $quote->getItemsCollection();
305
- foreach ($quoteItems as $item) {
306
- $data = $quoteHelper->getItemData($item);
307
- if (($data) && (isset($data['apiSessionKey']))) {
308
- $apiResponse = $apiGateway->getPreview($data['apiSessionKey']);
309
- if ((!$apiResponse) || ($apiResponse->getFaultCode())) {
310
- // remove by hieptq
311
- //$quote->removeItem($item->getItemId());
312
- }
313
- }
314
- }
315
- }
316
- public function addToCartComplete(Varien_Event_Observer $observer) {
317
- // Send the user to the Item added page
318
- $response = $observer->getResponse();
319
- $request = $observer->getRequest();
320
- $datasHelper = Mage::helper('printscience_personalization/data');
321
- $checkOutUrl = Mage::getUrl('checkout/cart');
322
- $datasHelper->_redirectToUrl($checkOutUrl, "1");
323
- exit;
324
- }
325
-
326
- /**
327
- * Converts attribute set name of current product to nice name ([a-z0-9_]+).
328
- * Adds layout handle PRODUCT_ATTRIBUTE_SET_<attribute_set_nicename> after
329
- * PRODUCT_TYPE_<product_type_id> handle
330
- *
331
- * Event: controller_action_layout_load_before
332
- *
333
- * @param Varien_Event_Observer $observer
334
- */
335
- public function addAttributeSetHandle(Varien_Event_Observer $observer)
336
- {
337
- $product = Mage::registry('current_product');
338
- $datasHelper = Mage::helper('printscience_personalization/output');
339
-
340
- if (!($product instanceof Mage_Catalog_Model_Product)) {
341
- return;
342
- }
343
-
344
- if($datasHelper->isPersonalizationEnabled($product)) {
345
- Mage::app()->getLayout()->getUpdate()->addHandle('catalog_product_view_personalization_handle');
346
- Mage::app()->getLayout()->getUpdate()->addHandle('catalog_product_addtocart_personalization_handle');
347
- }
348
- }
349
  }
1
+ <?php
2
+ /**
3
+ * Print Science personalization observer
4
+ *
5
+ */
6
+ class PrintScience_Personalization_Model_Observer
7
+ {
8
+ /**
9
+ * Event observer
10
+ *
11
+ * @var Varien_Event_Observer
12
+ */
13
+ private $_observer;
14
+
15
+ /**
16
+ * Check if current action is 'checkout_cart_add' and start personalization process
17
+ *
18
+ * @param Varien_Event_Observer $observer
19
+ */
20
+ public function checkForCheckoutCartAddAction($observer)
21
+ {
22
+ $this->_observer = $observer;
23
+
24
+ $controller = $observer->getControllerAction();
25
+ $sessionHelper = Mage::helper('printscience_personalization/session');
26
+ $request = Mage::app()->getRequest();
27
+
28
+ $sessionKey = $request->getParam('api_session_key');
29
+
30
+ if (($controller->getFullActionName() == 'checkout_cart_add')
31
+ && (!Mage::registry('PrintScience_Personalization_calledFromSuccessAction'))) {
32
+ $this->startPersonalization();
33
+ }elseif($sessionKey !='' && strcasecmp($controller->getFullActionName(), 'printscience_personalization_index_resumeShoppingCart') === 0){
34
+ //$this->startPersonalization();
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Start personalization process
40
+ *
41
+ * @param Mage_Core_Controller_Request_Http $product
42
+ */
43
+ private function startPersonalization()
44
+ {
45
+ $controller = $this->_observer->getControllerAction();
46
+ $request = Mage::app()->getRequest();
47
+ $response = Mage::app()->getResponse();
48
+ $session = Mage::getSingleton('core/session');
49
+ $datasHelper = Mage::helper('printscience_personalization/data');
50
+
51
+ $productId = intval($request->getParam('product'));
52
+ $product = Mage::getModel('catalog/product')
53
+ ->setStoreId(Mage::app()->getStore()->getId())
54
+ ->load($productId);
55
+ if (!$product->getId()) {
56
+ return false;
57
+ }
58
+
59
+ $errorUrl = $product->getProductUrl();
60
+
61
+ /**
62
+ * Check if personalization is enabled for this product.
63
+ * If this is simple product then we need to check its 'personalization_enabled' attribute.
64
+ * If this is configurable product then we need to check 'personalization_enabled' attribute of its subproduct.
65
+ * No other product types are supported.
66
+ */
67
+ $productTypeId = $product->getTypeId();
68
+ if ($productTypeId == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE) {
69
+ if (!$product->getPersonalizationEnabled()) {
70
+ return false;
71
+ }
72
+ } elseif ($productTypeId == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
73
+ $attributes = $request->getParam('super_attribute');
74
+ $product = $product->getTypeInstance()->getProductByAttributes($attributes);
75
+ $product = Mage::getModel('catalog/product')->load($product->getId());
76
+ if ((!$product) || (!$product->getPersonalizationEnabled())) {
77
+ return false;
78
+ }
79
+ } elseif ($productTypeId == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
80
+ if (!$product->getPersonalizationEnabled()) {
81
+ return false;
82
+ }
83
+ } else {
84
+ return false;
85
+ }
86
+
87
+ // check if template ID is valid
88
+ $templateId = $product->getPersonalizationTemplateId();
89
+ if (!$templateId) {
90
+ $session->addError($controller->__('Unable to start personalization: template ID is empty.'));
91
+ $response->setRedirect($errorUrl)->sendHeaders();
92
+ //$datasHelper->_redirectToUrl($errorUrl);
93
+ exit();
94
+ }
95
+
96
+ $sessionHelper = Mage::helper('printscience_personalization/session');
97
+ $sessionKey = $sessionHelper->generateKey();
98
+
99
+ $buyRequestParams = $request->getParams();
100
+ if (isset($buyRequestParams['uenc'])) {
101
+ unset($buyRequestParams['uenc']);
102
+ }
103
+ $returnUrlParams['_query'] = $buyRequestParams;
104
+ if (isset($returnUrlParams['uenc'])) {
105
+ unset($returnUrlParams['uenc']);
106
+ }
107
+ $returnUrlParams['personalization_session_key'] = $sessionKey;
108
+
109
+ $successUrl = Mage::getUrl('personalization/index/success', $returnUrlParams);
110
+ $failUrl = Mage::getUrl('personalization/index/fail', $returnUrlParams);
111
+ $cancelUrl = Mage::getUrl('personalization/index/cancel', $returnUrlParams);
112
+ // begin personalization
113
+ $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
114
+ $apiResponse = $apiGateway->beginPersonalization($templateId, $successUrl, $failUrl, $cancelUrl);
115
+ if (!$apiResponse) {
116
+ $session->addError($controller->__('Unable to start personalization: API response was empty.'));
117
+ $response->setRedirect($errorUrl)->sendHeaders();
118
+ //$datasHelper->_redirectToUrl($errorUrl);
119
+ exit();
120
+ }
121
+ if ($apiResponse->getFaultCode()) {
122
+ $session->addError($controller->__('Unable to start personalization: ' . $apiResponse->getFaultString()));
123
+ $response->setRedirect($errorUrl)->sendHeaders();
124
+ //$datasHelper->_redirectToUrl($errorUrl);
125
+ exit();
126
+ }
127
+ $apiSessionKey = $apiResponse->getSessionKey();
128
+ $appUrl = $apiResponse->getAppUrl();
129
+
130
+ $sessionHelper->addData($sessionKey, array(
131
+ 'apiSessionKey' => $apiSessionKey,
132
+ 'appUrl' => $appUrl,
133
+ 'buyRequest' => serialize($buyRequestParams)
134
+ ));
135
+
136
+ $response->setRedirect($appUrl)->sendHeaders();
137
+
138
+ //$datasHelper->_redirectToUrl($appUrl);
139
+ exit();
140
+ }
141
+
142
+ /**
143
+ * End personalization process when item is deleted from shopping cart
144
+ *
145
+ * @param Varien_Event_Observer $observer
146
+ */
147
+ public function endPersonalization($observer)
148
+ {
149
+ $this->_observer = $observer;
150
+
151
+ $quoteHelper = Mage::helper('printscience_personalization/quote');
152
+ $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
153
+
154
+ $quoteItem = $observer->getEvent()->getData('quote_item');
155
+ $data = $quoteHelper->getItemData($quoteItem);
156
+ if ($data) {
157
+ $apiGateway->endPersonalization($data['apiSessionKey']);
158
+ }
159
+ }
160
+
161
+ /**
162
+ * Add personalization options to cart item
163
+ *
164
+ * @param Varien_Event_Observer $observer
165
+ */
166
+ public function addOptionsToCartItem($observer)
167
+ {
168
+ $this->_observer = $observer;
169
+
170
+ $request = Mage::app()->getRequest();
171
+
172
+ $sessionKey = $request->getParam('personalization_session_key');
173
+
174
+ $quoteItem = $observer->getEvent()->getData('quote_item');
175
+ $productItem = Mage::getModel('catalog/product')->load($quoteItem->getProduct()->getId());
176
+ if (!$sessionKey) {
177
+ //if ((!$productItem->getPersonalizationEnabled()) || (!$sessionKey)) {
178
+ return false;
179
+ }
180
+
181
+ $sessionHelper = Mage::helper('printscience_personalization/session');
182
+ $sessionData = $sessionHelper->getData($sessionKey);
183
+ if (!$sessionData) {
184
+ return false;
185
+ }
186
+ unset($sessionData['buyRequest']);
187
+ $sessionData['sessionKey'] = $sessionKey;
188
+
189
+ $parentItem = $quoteItem->getParentItem();
190
+ if ($parentItem) {
191
+ $quoteItem = $parentItem;
192
+ }
193
+ $quoteHelper = Mage::helper('printscience_personalization/quote');
194
+
195
+
196
+ $quoteHelper->addItemData($quoteItem, $sessionData);
197
+ }
198
+
199
+ /**
200
+ * Add personalization options to order items
201
+ *
202
+ * @param Varien_Event_Observer $observer
203
+ */
204
+ public function addOptionsToOrderItems($observer)
205
+ {
206
+ $this->_observer = $observer;
207
+
208
+ $quoteHelper = Mage::helper('printscience_personalization/quote');
209
+ $orderHelper = Mage::helper('printscience_personalization/order');
210
+ $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
211
+
212
+ $order = $observer->getEvent()->getData('order');
213
+ $orderItems = $order->getItemsCollection();
214
+ foreach ($orderItems as $orderItem) {
215
+ $quoteItemOptions = Mage::getModel('sales/quote_item_option')
216
+ ->getCollection()
217
+ ->addItemFilter($orderItem->getQuoteItemId());
218
+ if (!count($quoteItemOptions)) {
219
+ return false;
220
+ }
221
+ $quoteItem = Mage::getModel('sales/quote_item')
222
+ ->load($orderItem->getQuoteItemId())
223
+ ->setOptions($quoteItemOptions);
224
+ if (!$quoteItem->getId()) {
225
+ continue;
226
+ }
227
+
228
+ if($personalizationInfo = $quoteItem->getData('personalization_info')){
229
+ $personalizationInfo = unserialize($personalizationInfo);
230
+ if(!empty($personalizationInfo)){
231
+ $orderHelper->addItemData($orderItem,$personalizationInfo);
232
+ }
233
+ continue;
234
+ }
235
+
236
+
237
+ $quoteItemData = $quoteHelper->getItemData($quoteItem);
238
+ if (!$quoteItemData) {
239
+ continue;
240
+ }
241
+
242
+ $apiResponse = $apiGateway->getPreview($quoteItemData['apiSessionKey']);
243
+ if ((!$apiResponse) || ($apiResponse->getFaultCode())) {
244
+ continue;
245
+ }
246
+
247
+ $orderHelper->addItemData($orderItem, array(
248
+ 'preview_pdf_url' => $apiResponse->getPdfUrl(),
249
+ 'product_images' =>$apiResponse->getPeviewUrls()
250
+ ));
251
+
252
+ $apiGateway->endPersonalization($quoteItemData['apiSessionKey']);
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Intialize personalization gallery on shopping cart
258
+ *
259
+ * @param Varien_Event_Observer $observer
260
+ * @return boolean
261
+ */
262
+ public function initGallery($observer)
263
+ {
264
+ $this->_observer = $observer;
265
+
266
+ $layout = Mage::app()->getLayout();
267
+ $quoteHelper = Mage::helper('printscience_personalization/quote');
268
+
269
+ $cartItems = Mage::getModel('checkout/cart')->getItems();
270
+ if (!$cartItems) {
271
+ return false;
272
+ }
273
+ $containsPersonalizedItems = false;
274
+ foreach ($cartItems as $item) {
275
+ if ($quoteHelper->getItemData($item)) {
276
+ $containsPersonalizedItems = true;
277
+ break;
278
+ }
279
+ }
280
+ //if ($containsPersonalizedItems) {
281
+ $layout->getBlock('head')
282
+ ->addJs('printscience_personalization/jquery/jquery-1.4.2.min.js')
283
+ ->addJs('printscience_personalization/jquery/jquery.cycle/jquery.cycle.lite.min.js')
284
+ ->addJs('printscience_personalization/jquery/fancybox/jquery.fancybox-1.3.4.pack.js')
285
+ ->addItem('js_css', 'printscience_personalization/jquery/fancybox/jquery.fancybox-1.3.4.css')
286
+ ->addJs('printscience_personalization/gallery.js')
287
+ ->addItem('js_css', 'printscience_personalization/gallery.css');
288
+ //}
289
+ }
290
+
291
+ /**
292
+ * Ensure that all personalized items in shopping cart have proper API session key
293
+ *
294
+ * @param Varien_Event_Observer $observer
295
+ */
296
+ public function checkCartItems($observer)
297
+ {
298
+ $this->_observer = $observer;
299
+
300
+ $quoteHelper = Mage::helper('printscience_personalization/quote');
301
+ $apiGateway = Mage::getModel('printscience_personalization/apiGateway');
302
+
303
+ $quote = $observer->getEvent()->getData('data_object');
304
+ $quoteItems = $quote->getItemsCollection();
305
+ foreach ($quoteItems as $item) {
306
+ $data = $quoteHelper->getItemData($item);
307
+ if (($data) && (isset($data['apiSessionKey']))) {
308
+ $apiResponse = $apiGateway->getPreview($data['apiSessionKey']);
309
+ if ((!$apiResponse) || ($apiResponse->getFaultCode())) {
310
+ // remove by hieptq
311
+ //$quote->removeItem($item->getItemId());
312
+ }
313
+ }
314
+ }
315
+ }
316
+ public function addToCartComplete(Varien_Event_Observer $observer) {
317
+ // Send the user to the Item added page
318
+ $response = $observer->getResponse();
319
+ $request = $observer->getRequest();
320
+ $datasHelper = Mage::helper('printscience_personalization/data');
321
+ $checkOutUrl = Mage::getUrl('checkout/cart');
322
+ $datasHelper->_redirectToUrl($checkOutUrl, "1");
323
+ exit;
324
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  }
app/code/local/PrintScience/Personalization/etc/config.xml CHANGED
@@ -1,195 +1,187 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <PrintScience_Personalization>
5
- <version>1.0.17</version>
6
- </PrintScience_Personalization>
7
- </modules>
8
- <frontend>
9
- <routers>
10
- <printscience_personalization>
11
- <use>standard</use>
12
- <args>
13
- <module>PrintScience_Personalization</module>
14
- <frontName>personalization</frontName>
15
- </args>
16
- </printscience_personalization>
17
- </routers>
18
- <layout>
19
- <updates>
20
- <printscience_personalization>
21
- <file>printscience_personalization.xml</file>
22
- </printscience_personalization>
23
- </updates>
24
- </layout>
25
- <translate>
26
- <modules>
27
- <PrintScience_Personalization>
28
- <files>
29
- <default>PrintScience_Personalization.csv</default>
30
- </files>
31
- </PrintScience_Personalization>
32
- </modules>
33
- </translate>
34
- <events>
35
- <checkout_cart_add_product_complete>
36
- <observers>
37
- <printscience_personalization_observer>
38
- <type>singleton</type>
39
- <class>printscience_personalization/observer</class>
40
- <method>addToCartComplete</method>
41
- </printscience_personalization_observer>
42
- </observers>
43
- </checkout_cart_add_product_complete>
44
- </events>
45
- </frontend>
46
- <adminhtml>
47
- <layout>
48
- <updates>
49
- <printscience_personalization>
50
- <file>printscience_personalization.xml</file>
51
- </printscience_personalization>
52
- <basket>
53
- <file>picker.xml</file>
54
- </basket>
55
- </updates>
56
- </layout>
57
- <translate>
58
- <modules>
59
- <PrintScience_Personalization>
60
- <files>
61
- <default>PrintScience_Personalization.csv</default>
62
- </files>
63
- </PrintScience_Personalization>
64
- </modules>
65
- </translate>
66
- </adminhtml>
67
- <global>
68
- <models>
69
- <printscience_personalization>
70
- <class>PrintScience_Personalization_Model</class>
71
- </printscience_personalization>
72
- <checkout>
73
- <rewrite>
74
- <cart>PrintScience_Personalization_Model_Override_Checkout_Cart</cart>
75
- </rewrite>
76
- </checkout>
77
- <sales>
78
- <rewrite>
79
- <quote>PrintScience_Personalization_Model_Override_Sales_Quote</quote>
80
- </rewrite>
81
- </sales>
82
- </models>
83
- <helpers>
84
- <printscience_personalization>
85
- <class>PrintScience_Personalization_Helper</class>
86
- </printscience_personalization>
87
- </helpers>
88
- <blocks>
89
- <printscience_personalization>
90
- <class>PrintScience_Personalization_Block</class>
91
- </printscience_personalization>
92
- </blocks>
93
- <events>
94
- <controller_action_predispatch>
95
- <observers>
96
- <printscience_personalization_model_observer>
97
- <type>singleton</type>
98
- <class>printscience_personalization/observer</class>
99
- <method>checkForCheckoutCartAddAction</method>
100
- </printscience_personalization_model_observer>
101
- </observers>
102
- </controller_action_predispatch>
103
- <checkout_cart_product_add_after>
104
- <observers>
105
- <printscience_personalization_model_observer>
106
- <type>singleton</type>
107
- <class>printscience_personalization/observer</class>
108
- <method>addOptionsToCartItem</method>
109
- </printscience_personalization_model_observer>
110
- </observers>
111
- </checkout_cart_product_add_after>
112
- <sales_order_place_before>
113
- <observers>
114
- <printscience_personalization_model_observer>
115
- <type>singleton</type>
116
- <class>printscience_personalization/observer</class>
117
- <method>addOptionsToOrderItems</method>
118
- </printscience_personalization_model_observer>
119
- </observers>
120
- </sales_order_place_before>
121
- <controller_action_layout_render_before_checkout_cart_index>
122
- <observers>
123
- <printscience_personalization_model_observer>
124
- <type>singleton</type>
125
- <class>printscience_personalization/observer</class>
126
- <method>initGallery</method>
127
- </printscience_personalization_model_observer>
128
- </observers>
129
- </controller_action_layout_render_before_checkout_cart_index>
130
- <controller_action_layout_render_before_checkout_cart_configure>
131
- <observers>
132
- <printscience_personalization_model_observer>
133
- <type>singleton</type>
134
- <class>printscience_personalization/observer</class>
135
- <method>initGallery</method>
136
- </printscience_personalization_model_observer>
137
- </observers>
138
- </controller_action_layout_render_before_checkout_cart_configure>
139
- <sales_quote_remove_item>
140
- <observers>
141
- <printscience_personalization_model_observer>
142
- <type>singleton</type>
143
- <class>printscience_personalization/observer</class>
144
- <method>endPersonalization</method>
145
- </printscience_personalization_model_observer>
146
- </observers>
147
- </sales_quote_remove_item>
148
- <sales_quote_load_after>
149
- <observers>
150
- <printscience_personalization_model_observer>
151
- <type>singleton</type>
152
- <class>printscience_personalization/observer</class>
153
- <method>checkCartItems</method>
154
- </printscience_personalization_model_observer>
155
- </observers>
156
- </sales_quote_load_after>
157
- <controller_action_layout_load_before>
158
- <observers>
159
- <attributesethandle>
160
- <class>printscience_personalization/observer</class>
161
- <method>addAttributeSetHandle</method>
162
- </attributesethandle>
163
- </observers>
164
- </controller_action_layout_load_before>
165
- </events>
166
- <resources>
167
- <printscience_personalization_setup>
168
- <setup>
169
- <module>PrintScience_Personalization</module>
170
- <class>PrintScience_Personalization_Model_Resource_Eav_Mysql4_Setup</class>
171
- </setup>
172
- <connection>
173
- <use>core_setup</use>
174
- </connection>
175
- </printscience_personalization_setup>
176
- <printscience_personalization_write>
177
- <connection>
178
- <use>core_write</use>
179
- </connection>
180
- </printscience_personalization_write>
181
- <printscience_personalization_read>
182
- <connection>
183
- <use>core_read</use>
184
- </connection>
185
- </printscience_personalization_read>
186
- </resources>
187
- </global>
188
- <default>
189
- <catalog>
190
- <personalization>
191
- <api_version>1.0.0</api_version>
192
- </personalization>
193
- </catalog>
194
- </default>
195
  </config>
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <PrintScience_Personalization>
5
+ <version>1.0.18</version>
6
+ </PrintScience_Personalization>
7
+ </modules>
8
+ <frontend>
9
+ <routers>
10
+ <printscience_personalization>
11
+ <use>standard</use>
12
+ <args>
13
+ <module>PrintScience_Personalization</module>
14
+ <frontName>personalization</frontName>
15
+ </args>
16
+ </printscience_personalization>
17
+ </routers>
18
+ <layout>
19
+ <updates>
20
+ <printscience_personalization>
21
+ <file>printscience_personalization.xml</file>
22
+ </printscience_personalization>
23
+ </updates>
24
+ </layout>
25
+ <translate>
26
+ <modules>
27
+ <PrintScience_Personalization>
28
+ <files>
29
+ <default>PrintScience_Personalization.csv</default>
30
+ </files>
31
+ </PrintScience_Personalization>
32
+ </modules>
33
+ </translate>
34
+ <events>
35
+ <checkout_cart_add_product_complete>
36
+ <observers>
37
+ <printscience_personalization_observer>
38
+ <type>singleton</type>
39
+ <class>printscience_personalization/observer</class>
40
+ <method>addToCartComplete</method>
41
+ </printscience_personalization_observer>
42
+ </observers>
43
+ </checkout_cart_add_product_complete>
44
+ </events>
45
+ </frontend>
46
+ <adminhtml>
47
+ <layout>
48
+ <updates>
49
+ <printscience_personalization>
50
+ <file>printscience_personalization.xml</file>
51
+ </printscience_personalization>
52
+ <basket>
53
+ <file>picker.xml</file>
54
+ </basket>
55
+ </updates>
56
+ </layout>
57
+ <translate>
58
+ <modules>
59
+ <PrintScience_Personalization>
60
+ <files>
61
+ <default>PrintScience_Personalization.csv</default>
62
+ </files>
63
+ </PrintScience_Personalization>
64
+ </modules>
65
+ </translate>
66
+ </adminhtml>
67
+ <global>
68
+ <models>
69
+ <printscience_personalization>
70
+ <class>PrintScience_Personalization_Model</class>
71
+ </printscience_personalization>
72
+ <checkout>
73
+ <rewrite>
74
+ <cart>PrintScience_Personalization_Model_Override_Checkout_Cart</cart>
75
+ </rewrite>
76
+ </checkout>
77
+ <sales>
78
+ <rewrite>
79
+ <quote>PrintScience_Personalization_Model_Override_Sales_Quote</quote>
80
+ </rewrite>
81
+ </sales>
82
+ </models>
83
+ <helpers>
84
+ <printscience_personalization>
85
+ <class>PrintScience_Personalization_Helper</class>
86
+ </printscience_personalization>
87
+ </helpers>
88
+ <blocks>
89
+ <printscience_personalization>
90
+ <class>PrintScience_Personalization_Block</class>
91
+ </printscience_personalization>
92
+ </blocks>
93
+ <events>
94
+ <controller_action_predispatch>
95
+ <observers>
96
+ <printscience_personalization_model_observer>
97
+ <type>singleton</type>
98
+ <class>printscience_personalization/observer</class>
99
+ <method>checkForCheckoutCartAddAction</method>
100
+ </printscience_personalization_model_observer>
101
+ </observers>
102
+ </controller_action_predispatch>
103
+ <checkout_cart_product_add_after>
104
+ <observers>
105
+ <printscience_personalization_model_observer>
106
+ <type>singleton</type>
107
+ <class>printscience_personalization/observer</class>
108
+ <method>addOptionsToCartItem</method>
109
+ </printscience_personalization_model_observer>
110
+ </observers>
111
+ </checkout_cart_product_add_after>
112
+ <sales_order_place_before>
113
+ <observers>
114
+ <printscience_personalization_model_observer>
115
+ <type>singleton</type>
116
+ <class>printscience_personalization/observer</class>
117
+ <method>addOptionsToOrderItems</method>
118
+ </printscience_personalization_model_observer>
119
+ </observers>
120
+ </sales_order_place_before>
121
+ <controller_action_layout_render_before_checkout_cart_index>
122
+ <observers>
123
+ <printscience_personalization_model_observer>
124
+ <type>singleton</type>
125
+ <class>printscience_personalization/observer</class>
126
+ <method>initGallery</method>
127
+ </printscience_personalization_model_observer>
128
+ </observers>
129
+ </controller_action_layout_render_before_checkout_cart_index>
130
+ <controller_action_layout_render_before_checkout_cart_configure>
131
+ <observers>
132
+ <printscience_personalization_model_observer>
133
+ <type>singleton</type>
134
+ <class>printscience_personalization/observer</class>
135
+ <method>initGallery</method>
136
+ </printscience_personalization_model_observer>
137
+ </observers>
138
+ </controller_action_layout_render_before_checkout_cart_configure>
139
+ <sales_quote_remove_item>
140
+ <observers>
141
+ <printscience_personalization_model_observer>
142
+ <type>singleton</type>
143
+ <class>printscience_personalization/observer</class>
144
+ <method>endPersonalization</method>
145
+ </printscience_personalization_model_observer>
146
+ </observers>
147
+ </sales_quote_remove_item>
148
+ <sales_quote_load_after>
149
+ <observers>
150
+ <printscience_personalization_model_observer>
151
+ <type>singleton</type>
152
+ <class>printscience_personalization/observer</class>
153
+ <method>checkCartItems</method>
154
+ </printscience_personalization_model_observer>
155
+ </observers>
156
+ </sales_quote_load_after>
157
+ </events>
158
+ <resources>
159
+ <printscience_personalization_setup>
160
+ <setup>
161
+ <module>PrintScience_Personalization</module>
162
+ <class>PrintScience_Personalization_Model_Resource_Eav_Mysql4_Setup</class>
163
+ </setup>
164
+ <connection>
165
+ <use>core_setup</use>
166
+ </connection>
167
+ </printscience_personalization_setup>
168
+ <printscience_personalization_write>
169
+ <connection>
170
+ <use>core_write</use>
171
+ </connection>
172
+ </printscience_personalization_write>
173
+ <printscience_personalization_read>
174
+ <connection>
175
+ <use>core_read</use>
176
+ </connection>
177
+ </printscience_personalization_read>
178
+ </resources>
179
+ </global>
180
+ <default>
181
+ <catalog>
182
+ <personalization>
183
+ <api_version>1.0.0</api_version>
184
+ </personalization>
185
+ </catalog>
186
+ </default>
 
 
 
 
 
 
 
 
187
  </config>
app/code/local/PrintScience/Personalization/sql/printscience_personalization_setup/{mysql4-install-1.0.17.php → mysql4-install-1.0.18.php} RENAMED
@@ -9,6 +9,6 @@ if (!$installer->getConnection()->fetchOne("SELECT * FROM information_schema.COL
9
  }
10
 
11
  $installer->startSetup();
12
- $installer->updateAttribute('catalog_product', 'personalization_template_id', 'apply_to', implode(',',array('simple','configurable')));
13
- $installer->updateAttribute('catalog_product', 'personalization_enabled', 'apply_to', implode(',',array('simple','configurable')));
14
  $installer->endSetup();
9
  }
10
 
11
  $installer->startSetup();
12
+ $installer->updateAttribute('catalog_product', 'personalization_template_id', 'apply_to', implode(',',array('simple','bundle','configurable')));
13
+ $installer->updateAttribute('catalog_product', 'personalization_enabled', 'apply_to', implode(',',array('simple','bundle','configurable')));
14
  $installer->endSetup();
app/code/local/PrintScience/Personalization/sql/printscience_personalization_setup/mysql4-upgrade-1.0.17-1.0.18.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $installer = $this;
3
+ $installer->installEntities();
4
+
5
+ if (!$installer->getConnection()->fetchOne("SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = '{$this->getTable('sales/quote_item')}' AND COLUMN_NAME = 'personalization_info'")) {
6
+ $installer->run("
7
+ ALTER TABLE {$this->getTable('sales/quote_item')} ADD `personalization_info` TEXT NULL
8
+ ");
9
+ }
10
+
11
+ $installer->startSetup();
12
+ $installer->updateAttribute('catalog_product', 'personalization_template_id', 'apply_to', implode(',',array('simple','bundle','configurable')));
13
+ $installer->updateAttribute('catalog_product', 'personalization_enabled', 'apply_to', implode(',',array('simple','bundle','configurable')));
14
+ $installer->endSetup();
app/design/frontend/base/default/layout/printscience_personalization.xml CHANGED
@@ -1,20 +1,16 @@
1
  <?xml version="1.0"?>
2
  <layout version="0.1.0">
3
- <catalog_product_view_personalization_handle>
4
- <reference name="product.info">
5
- <action method="setTemplate"><template>printscience_personalization/catalog/product/view.phtml</template></action>
6
- </reference>
7
- </catalog_product_view_personalization_handle>
8
- <catalog_product_addtocart_personalization_handle>
9
- <reference name="product.info.addtocart">
10
- <action method="setTemplate"><template>printscience_personalization/catalog/product/view/addtocart.phtml</template></action>
11
- </reference>
12
- </catalog_product_addtocart_personalization_handle>
13
- <catalog_product_view>
14
  <reference name="head">
15
  <action method="addItem"><type>skin_css</type><name>printscience_personalization/modalPopLite.css</name></action>
16
  <action method="addItem"><type>skin_js</type><name>printscience_personalization/jquery-1.7.2.min.js</name></action>
17
  <action method="addItem"><type>skin_js</type><name>printscience_personalization/modalPopLite.min.js</name></action>
 
 
 
 
 
 
18
  </reference>
19
  </catalog_product_view>
20
  <checkout_cart_index>
1
  <?xml version="1.0"?>
2
  <layout version="0.1.0">
3
+ <catalog_product_view>
 
 
 
 
 
 
 
 
 
 
4
  <reference name="head">
5
  <action method="addItem"><type>skin_css</type><name>printscience_personalization/modalPopLite.css</name></action>
6
  <action method="addItem"><type>skin_js</type><name>printscience_personalization/jquery-1.7.2.min.js</name></action>
7
  <action method="addItem"><type>skin_js</type><name>printscience_personalization/modalPopLite.min.js</name></action>
8
+ </reference>
9
+ <reference name="product.info">
10
+ <action method="setTemplate"><template>printscience_personalization/catalog/product/view.phtml</template></action>
11
+ </reference>
12
+ <reference name="product.info.addtocart">
13
+ <action method="setTemplate"><template>printscience_personalization/catalog/product/view/addtocart.phtml</template></action>
14
  </reference>
15
  </catalog_product_view>
16
  <checkout_cart_index>
app/design/frontend/base/default/template/printscience_personalization/checkout/cart.phtml CHANGED
@@ -1,235 +1,236 @@
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) 2012 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
- * Shopping cart template
30
- *
31
- * @see Mage_Checkout_Block_Cart
32
- */
33
- $_personalizationHelper = $this->helper('printscience_personalization/output');
34
- ?>
35
- <div class="cart">
36
- <div class="page-title title-buttons">
37
- <h1><?php echo $this->__('Shopping Cart') ?></h1>
38
- <?php if(!$this->hasError()): ?>
39
- <ul class="checkout-types">
40
- <?php foreach ($this->getMethods('top_methods') as $method): ?>
41
- <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
42
- <li><?php echo $methodHtml; ?></li>
43
- <?php endif; ?>
44
- <?php endforeach; ?>
45
- </ul>
46
- <?php endif; ?>
47
- </div>
48
- <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
49
- <?php echo $this->getChildHtml('form_before') ?>
50
- <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
51
- <fieldset>
52
- <table id="shopping-cart-table" class="data-table cart-table">
53
- <col width="1" />
54
- <col />
55
- <col width="1" />
56
- <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
57
- <col width="1" />
58
- <?php endif ?>
59
- <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
60
- <col width="1" />
61
- <?php endif; ?>
62
- <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
63
- <col width="1" />
64
- <?php endif; ?>
65
- <col width="1" />
66
- <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
67
- <col width="1" />
68
- <?php endif; ?>
69
- <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
70
- <col width="1" />
71
- <?php endif; ?>
72
- <col width="1" />
73
-
74
- <?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
75
- <thead>
76
- <tr>
77
- <th rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
78
- <th rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Product Name') ?></span></th>
79
- <th rowspan="<?php echo $mergedCells; ?>"></th>
80
- <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
81
- <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo $this->__('Move to Wishlist') ?></span></th>
82
- <?php endif ?>
83
- <th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Unit Price') ?></span></th>
84
- <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
85
- <th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo $this->__('Subtotal') ?></th>
86
- <th rowspan="<?php echo $mergedCells; ?>" class="a-center">&nbsp;</th>
87
- </tr>
88
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
89
- <tr>
90
- <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
91
- <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
92
- <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
93
- <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
94
- </tr>
95
- <?php endif; ?>
96
- </thead>
97
- <tfoot>
98
- <tr>
99
- <td colspan="50" class="a-right">
100
- <?php if($this->getContinueShoppingUrl()): ?>
101
- <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
102
- <?php endif; ?>
103
- <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo $this->__('Update Shopping Cart'); ?></span></span></button>
104
- <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Clear Shopping Cart'); ?></span></span></button>
105
- <!--[if lt IE 8]>
106
- <input type="hidden" id="update_cart_action_container" />
107
- <script type="text/javascript">
108
- //<![CDATA[
109
- Event.observe(window, 'load', function()
110
- {
111
- // Internet Explorer (lt 8) does not support value attribute in button elements
112
- $emptyCartButton = $('empty_cart_button');
113
- $cartActionContainer = $('update_cart_action_container');
114
- if ($emptyCartButton && $cartActionContainer) {
115
- Event.observe($emptyCartButton, 'click', function()
116
- {
117
- $emptyCartButton.setAttribute('name', 'update_cart_action_temp');
118
- $cartActionContainer.setAttribute('name', 'update_cart_action');
119
- $cartActionContainer.setValue('empty_cart');
120
- });
121
- }
122
-
123
- });
124
- //]]>
125
- </script>
126
- <![endif]-->
127
- </td>
128
- </tr>
129
- </tfoot>
130
- <tbody>
131
- <?php foreach($this->getItems() as $_item): ?>
132
- <?php echo $this->getItemHtml($_item) ?>
133
- <?php endforeach ?>
134
- </tbody>
135
- </table>
136
- <script type="text/javascript">decorateTable('shopping-cart-table')</script>
137
- </fieldset>
138
- </form>
139
- <div class="cart-collaterals">
140
- <div class="col2-set">
141
- <div class="col-1">
142
- <?php echo $this->getChildHtml('crosssell') ?>
143
- </div>
144
- <div class="col-2">
145
- <?php /* Extensions placeholder */ ?>
146
- <?php echo $this->getChildHtml('checkout.cart.extra') ?>
147
- <?php echo $this->getChildHtml('coupon') ?>
148
- <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
149
- </div>
150
- </div>
151
- <div class="totals">
152
- <?php echo $this->getChildHtml('totals'); ?>
153
- <?php if(!$this->hasError()): ?>
154
- <ul class="checkout-types">
155
- <?php foreach ($this->getMethods('methods') as $method): ?>
156
- <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
157
- <li><?php echo $methodHtml; ?></li>
158
- <?php endif; ?>
159
- <?php endforeach; ?>
160
- </ul>
161
- <?php endif; ?>
162
- </div>
163
- </div>
164
- </div>
165
- <?php
166
- $window_type = Mage::getStoreConfig('catalog/personalization/window_type');
167
- $background_color = Mage::getStoreConfig('catalog/personalization/background_color');
168
- $margin_width = Mage::getStoreConfig('catalog/personalization/margin_width');
169
- $window_opacity = Mage::getStoreConfig('catalog/personalization/window_opacity');
170
- if($window_type=='2'):
171
- ?>
172
- <a id="openpoup"></a>
173
- <a id="close-btn"></a>
174
- <style>
175
- .modalPopLite-mask {
176
- background-color:#<?php echo (isset($background_color)?$background_color:"#000000") ?> !important;
177
- }
178
- #popup-wrapper
179
- {
180
- width:1150px;
181
- height:600px;
182
- left:0!important;top:0!important;
183
- background-color: #<?php echo $background_color; ?> !important;
184
- }
185
- .modalPopLite-wrapper
186
- {
187
- border:none!important;
188
- }
189
- .modalPopLite-mask {
190
- opacity:<?php echo ($window_opacity!=''?$window_opacity:"0.6") ?> !important;
191
- }
192
- #popup_frame{
193
- border:0px;
194
- }
195
- </style>
196
- <script type="text/javascript">
197
- jQuery(function (){
198
- var maskWidth = document.body.clientWidth;
199
- var maskHeight = jQuery(window).height();
200
- var margin = '<?php if(isset($margin_width) && $margin_width > 0) { echo $margin_width; } else { echo "0"; } ?>';
201
- jQuery("#popup-wrapper").css("width",(maskWidth - (2*margin)));
202
- jQuery("#popup-wrapper").css("height",(maskHeight - 2*margin));
203
- jQuery("#popup_frame").css("width",(maskWidth - 2*margin));
204
- jQuery("#popup_frame").css("height",(maskHeight - 2*margin));
205
- jQuery("#header").css("z-index","10");
206
- jQuery(".personalize_btn_link").attr("target","popup_frame");
207
- jQuery('#popup-wrapper').modalPopLite({ openButton: '#openpoup', closeButton: '#close-btn', isModal: true });
208
- });
209
- function closethepopup(){
210
- jQuery('#popup_frame').attr("src", "");
211
- jQuery('#close-btn').trigger('click');
212
- }
213
- function setPersonalizeLocation(url, formObj) {
214
- jQuery("#header").css("z-index","1");
215
- if (jQuery(formObj).length > 0)
216
- {
217
- jQuery(formObj).attr("action",url);
218
- jQuery(formObj).attr("target","popup_frame");
219
- jQuery(formObj).submit();
220
- }
221
- jQuery('#openpoup').trigger('click');
222
- return false;
223
- }
224
- <?php
225
- $checkValid = $_personalizationHelper->getFrontendParams();
226
- if($checkValid=='1') : ?>
227
- jQuery('.error-msg').css('display',"none");
228
- <?php endif; ?>
229
- </script>
230
- <div id="popup-wrapper"><iframe name="popup_frame" id="popup_frame"></iframe>
231
- </div>
232
-
233
- <?php
234
- endif;
 
235
  ?>
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) 2012 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
+ * Shopping cart template
30
+ *
31
+ * @see Mage_Checkout_Block_Cart
32
+ */
33
+ $_personalizationHelper = $this->helper('printscience_personalization/output');
34
+ ?>
35
+ <div class="cart">
36
+ <div class="page-title title-buttons">
37
+ <h1><?php echo $this->__('Shopping Cart') ?></h1>
38
+ <?php if(!$this->hasError()): ?>
39
+ <ul class="checkout-types">
40
+ <?php foreach ($this->getMethods('top_methods') as $method): ?>
41
+ <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
42
+ <li><?php echo $methodHtml; ?></li>
43
+ <?php endif; ?>
44
+ <?php endforeach; ?>
45
+ </ul>
46
+ <?php endif; ?>
47
+ </div>
48
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
49
+ <?php echo $this->getChildHtml('form_before') ?>
50
+ <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
51
+ <?php echo $this->getBlockHtml('formkey'); ?>
52
+ <fieldset>
53
+ <table id="shopping-cart-table" class="data-table cart-table">
54
+ <col width="1" />
55
+ <col />
56
+ <col width="1" />
57
+ <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
58
+ <col width="1" />
59
+ <?php endif ?>
60
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
61
+ <col width="1" />
62
+ <?php endif; ?>
63
+ <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
64
+ <col width="1" />
65
+ <?php endif; ?>
66
+ <col width="1" />
67
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
68
+ <col width="1" />
69
+ <?php endif; ?>
70
+ <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
71
+ <col width="1" />
72
+ <?php endif; ?>
73
+ <col width="1" />
74
+
75
+ <?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
76
+ <thead>
77
+ <tr>
78
+ <th rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
79
+ <th rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Product Name') ?></span></th>
80
+ <th rowspan="<?php echo $mergedCells; ?>"></th>
81
+ <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
82
+ <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo $this->__('Move to Wishlist') ?></span></th>
83
+ <?php endif ?>
84
+ <th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Unit Price') ?></span></th>
85
+ <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
86
+ <th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo $this->__('Subtotal') ?></th>
87
+ <th rowspan="<?php echo $mergedCells; ?>" class="a-center">&nbsp;</th>
88
+ </tr>
89
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
90
+ <tr>
91
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
92
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
93
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
94
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
95
+ </tr>
96
+ <?php endif; ?>
97
+ </thead>
98
+ <tfoot>
99
+ <tr>
100
+ <td colspan="50" class="a-right">
101
+ <?php if($this->getContinueShoppingUrl()): ?>
102
+ <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
103
+ <?php endif; ?>
104
+ <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo $this->__('Update Shopping Cart'); ?></span></span></button>
105
+ <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Clear Shopping Cart'); ?></span></span></button>
106
+ <!--[if lt IE 8]>
107
+ <input type="hidden" id="update_cart_action_container" />
108
+ <script type="text/javascript">
109
+ //<![CDATA[
110
+ Event.observe(window, 'load', function()
111
+ {
112
+ // Internet Explorer (lt 8) does not support value attribute in button elements
113
+ $emptyCartButton = $('empty_cart_button');
114
+ $cartActionContainer = $('update_cart_action_container');
115
+ if ($emptyCartButton && $cartActionContainer) {
116
+ Event.observe($emptyCartButton, 'click', function()
117
+ {
118
+ $emptyCartButton.setAttribute('name', 'update_cart_action_temp');
119
+ $cartActionContainer.setAttribute('name', 'update_cart_action');
120
+ $cartActionContainer.setValue('empty_cart');
121
+ });
122
+ }
123
+
124
+ });
125
+ //]]>
126
+ </script>
127
+ <![endif]-->
128
+ </td>
129
+ </tr>
130
+ </tfoot>
131
+ <tbody>
132
+ <?php foreach($this->getItems() as $_item): ?>
133
+ <?php echo $this->getItemHtml($_item) ?>
134
+ <?php endforeach ?>
135
+ </tbody>
136
+ </table>
137
+ <script type="text/javascript">decorateTable('shopping-cart-table')</script>
138
+ </fieldset>
139
+ </form>
140
+ <div class="cart-collaterals">
141
+ <div class="col2-set">
142
+ <div class="col-1">
143
+ <?php echo $this->getChildHtml('crosssell') ?>
144
+ </div>
145
+ <div class="col-2">
146
+ <?php /* Extensions placeholder */ ?>
147
+ <?php echo $this->getChildHtml('checkout.cart.extra') ?>
148
+ <?php echo $this->getChildHtml('coupon') ?>
149
+ <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
150
+ </div>
151
+ </div>
152
+ <div class="totals">
153
+ <?php echo $this->getChildHtml('totals'); ?>
154
+ <?php if(!$this->hasError()): ?>
155
+ <ul class="checkout-types">
156
+ <?php foreach ($this->getMethods('methods') as $method): ?>
157
+ <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
158
+ <li><?php echo $methodHtml; ?></li>
159
+ <?php endif; ?>
160
+ <?php endforeach; ?>
161
+ </ul>
162
+ <?php endif; ?>
163
+ </div>
164
+ </div>
165
+ </div>
166
+ <?php
167
+ $window_type = Mage::getStoreConfig('catalog/personalization/window_type');
168
+ $background_color = Mage::getStoreConfig('catalog/personalization/background_color');
169
+ $margin_width = Mage::getStoreConfig('catalog/personalization/margin_width');
170
+ $window_opacity = Mage::getStoreConfig('catalog/personalization/window_opacity');
171
+ if($window_type=='2'):
172
+ ?>
173
+ <a id="openpoup"></a>
174
+ <a id="close-btn"></a>
175
+ <style>
176
+ .modalPopLite-mask {
177
+ background-color:#<?php echo (isset($background_color)?$background_color:"#000000") ?> !important;
178
+ }
179
+ #popup-wrapper
180
+ {
181
+ width:1150px;
182
+ height:600px;
183
+ left:0!important;top:0!important;
184
+ background-color: #<?php echo $background_color; ?> !important;
185
+ }
186
+ .modalPopLite-wrapper
187
+ {
188
+ border:none!important;
189
+ }
190
+ .modalPopLite-mask {
191
+ opacity:<?php echo ($window_opacity!=''?$window_opacity:"0.6") ?> !important;
192
+ }
193
+ #popup_frame{
194
+ border:0px;
195
+ }
196
+ </style>
197
+ <script type="text/javascript">
198
+ jQuery(function (){
199
+ var maskWidth = document.body.clientWidth;
200
+ var maskHeight = jQuery(window).height();
201
+ var margin = '<?php if(isset($margin_width) && $margin_width > 0) { echo $margin_width; } else { echo "0"; } ?>';
202
+ jQuery("#popup-wrapper").css("width",(maskWidth - (2*margin)));
203
+ jQuery("#popup-wrapper").css("height",(maskHeight - 2*margin));
204
+ jQuery("#popup_frame").css("width",(maskWidth - 2*margin));
205
+ jQuery("#popup_frame").css("height",(maskHeight - 2*margin));
206
+ jQuery("#header").css("z-index","10");
207
+ jQuery(".personalize_btn_link").attr("target","popup_frame");
208
+ jQuery('#popup-wrapper').modalPopLite({ openButton: '#openpoup', closeButton: '#close-btn', isModal: true });
209
+ });
210
+ function closethepopup(){
211
+ jQuery('#popup_frame').attr("src", "");
212
+ jQuery('#close-btn').trigger('click');
213
+ }
214
+ function setPersonalizeLocation(url, formObj) {
215
+ jQuery("#header").css("z-index","1");
216
+ if (jQuery(formObj).length > 0)
217
+ {
218
+ jQuery(formObj).attr("action",url);
219
+ jQuery(formObj).attr("target","popup_frame");
220
+ jQuery(formObj).submit();
221
+ }
222
+ jQuery('#openpoup').trigger('click');
223
+ return false;
224
+ }
225
+ <?php
226
+ $checkValid = $_personalizationHelper->getFrontendParams();
227
+ if($checkValid=='1') : ?>
228
+ jQuery('.error-msg').css('display',"none");
229
+ <?php endif; ?>
230
+ </script>
231
+ <div id="popup-wrapper"><iframe name="popup_frame" id="popup_frame"></iframe>
232
+ </div>
233
+
234
+ <?php
235
+ endif;
236
  ?>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Print_Science_Designer_Web_to_Print</name>
4
- <version>1.0.17</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Print_Science_Designer_Web_to_Print</description>
11
  <notes>Print_Science_Designer_Web_to_Print</notes>
12
  <authors><author><name>John Weissberg</name><user>johnwwweissberg</user><email>jw@print-science.com</email></author></authors>
13
- <date>2014-03-14</date>
14
- <time>13:45:40</time>
15
- <contents><target name="magelocal"><dir name="PrintScience"><dir name="Personalization"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Items"><file name="Renderer.php" hash="e9a0dcb549311ea6f4e3992bbc9a4b5c"/></dir></dir></dir></dir></dir><dir name="Checkout"><dir name="Cart"><dir name="Item"><file name="Renderer.php" hash="f656661efde7a2ee2c92ca8a9dc234a4"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="cd3c2c919469c3ad244bb412892a7462"/><file name="Order.php" hash="ba50cbfb5f647cbca2deae91153db9b7"/><file name="Output.php" hash="46e8310a1ea9bcbb46dda6bc973f6812"/><file name="Quote.php" hash="d14fbe62e2a96e4aede13082c16dda30"/><file name="Session.php" hash="0236f26208780df75ca780d40edbe351"/></dir><dir name="Model"><dir name="ApiGateway"><dir name="Response"><file name="Abstract.php" hash="66667fce4c92782faf1d1a92f4c3e339"/><file name="Begin.php" hash="451d64c86ef6aa542ae7cf5949b1b627"/><file name="GetPreview.php" hash="5801403f4c511aa0a97b8273a712e407"/></dir></dir><file name="ApiGateway.php" hash="c88d8c42d0e3745596ca2a39471c73d3"/><file name="Observer.php" hash="f4d99bfbae16b1060c5fdd06cdb18cae"/><dir name="Override"><dir name="Checkout"><file name="Cart.php" hash="ccece0a4e9fffd6d4b7f1b1a8a97dbd3"/></dir><dir name="Sales"><file name="Quote.php" hash="58083e79ec32db5ea22e0fa61f3a4bd7"/></dir></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="73bca1105b8c0fa4462823ac6aa2c59b"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="ApiUrl.php" hash="34eb488ef178104966397f425625534d"/></dir><dir name="Source"><file name="ApiVersion.php" hash="e0248a29ebc88171b7fb51bdbabaca8b"/><file name="WindowType.php" hash="1af16df72f4fcfe959f6f091cd2f6821"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="b13503dcc1e142b8e7b5feebcbc0b63a"/></dir><dir name="etc"><file name="config.xml" hash="e0daf6caa5ceea0fd30800a43d983fb8"/><file name="system.xml" hash="ea5d1935373ddfef8935d5cd26c53066"/></dir><dir name="sql"><dir name="printscience_personalization_setup"><file name="mysql4-install-1.0.17.php" hash="80213f97df369c7742021cd7f2d4e0fc"/><file name="mysql4-upgrade-1.0.15-1.0.16.php" hash="e8ebb964b71df807e93a076758211c07"/><file name="mysql4-upgrade-1.0.16-1.0.17.php" hash="e8ebb964b71df807e93a076758211c07"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="PrintScience_Personalization.xml" hash="5f5c39c5b01e828137125d057d04a655"/></dir></target><target name="magelocale"><dir name="en_US"><file name="PrintScience_Personalization.csv" hash="fc8365124f21bddca4dfac3d3dbf5b7f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="printscience_personalization"><dir name="catalog"><dir name="product"><file name="list.phtml" hash="5564f09c0ceaa71db7412be727684d21"/><dir name="view"><file name="addtocart.phtml" hash="ee0af223cca8c873492e2e9624953879"/><file name="media.phtml" hash="d0526045eca0891155f83aa067484178"/></dir><file name="view.phtml" hash="bc39bfa989142e868f2283476c767c2a"/></dir></dir><dir name="checkout"><dir name="cart"><dir name="item"><file name="default.phtml" hash="09e95e8e1b8b10d65a19bc873aa0d637"/></dir></dir><file name="cart.phtml" hash="e89ff28600d85d6ecaa4ef2254c6852b"/></dir></dir></dir><dir name="layout"><file name="printscience_personalization.xml" hash="3311402ff6a0b9f5615a6da5ee078be3"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="printscience_personalization.xml" hash="d0934cc5cfaca9e2d6c687f2fb866943"/></dir><dir name="template"><dir name="printscience_personalization"><dir name="sales"><dir name="order"><dir name="view"><dir name="items"><dir name="renderer"><file name="default.phtml" hash="5b6bcdd9bd94afda867429707dd786d3"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="xmlrpc"><file name="xmlrpc.inc" hash="55ecb2a9f7fc20d53a7b4da9d885e26b"/></dir></target><target name="mage"><dir name="js"><dir name="printscience_personalization"><file name="gallery.css" hash="eccacd49a35d68ef25bc1bf8e292fe98"/><file name="gallery.js" hash="d1ce93b3cf8ef950fef1097636f3205e"/><dir name="jquery"><dir name="fancybox"><file name="blank.gif" hash="325472601571f31e1bf00674c368d335"/><file name="fancy_close.png" hash="6e2879a324a76e9972ebc98201aae1d8"/><file name="fancy_loading.png" hash="b1d54c240cf06e7f41e372d56919b738"/><file name="fancy_nav_left.png" hash="3f3e406102152cd8236383568a40ba35"/><file name="fancy_nav_right.png" hash="216e4bde5bddeeaa60dc3d692890a68e"/><file name="fancy_shadow_e.png" hash="fd4f491080d29fade5080877f1ba4c8b"/><file name="fancy_shadow_n.png" hash="18cde16379b2ceadef714d9b346d09ec"/><file name="fancy_shadow_ne.png" hash="63adf788acf193d4e4f3642d7d793125"/><file name="fancy_shadow_nw.png" hash="c820c878aedb7a7f9ebd7135a58e7c65"/><file name="fancy_shadow_s.png" hash="9b9e5c888028aaef40fe5b6a363f1e29"/><file name="fancy_shadow_se.png" hash="a8afd5a008884380ee712d177105268f"/><file name="fancy_shadow_sw.png" hash="f81cc0fee5581d76ad3cebe47e7e791b"/><file name="fancy_shadow_w.png" hash="59b0e63eb059e58d932cfd53da4d87e6"/><file name="fancy_title_left.png" hash="1582ac2d3bef6a6445bf02ceca2741cd"/><file name="fancy_title_main.png" hash="38dad6c1ed4bdc81c0bec721b2deb8c2"/><file name="fancy_title_over.png" hash="b886fd165d4b7ac77d41fb52d87ffc60"/><file name="fancy_title_right.png" hash="6cbe0c935511e7f9a2555ccb6a7324c4"/><file name="fancybox-x.png" hash="168696d8a694214090ef90e029cdf393"/><file name="fancybox-y.png" hash="36a58859beb9a6b19322a37466b9f78e"/><file name="fancybox.png" hash="11e57e492ee0311540967cc7a1e6e3e2"/><file name="jquery.easing-1.3.pack.js" hash="def257dbb0ab805c4996fd8abb1a6b49"/><file name="jquery.fancybox-1.3.4.css" hash="4638ce99ef00cf62bfb22d230f9924b8"/><file name="jquery.fancybox-1.3.4.pack.js" hash="8bc36a08c46719377528d962966ce37c"/><file name="jquery.mousewheel-3.0.4.pack.js" hash="3b0a821567b463e70bcc1e90ed2bc9b6"/></dir><file name="jquery-1.4.2.min.js" hash="b80a2154ce061c8242031d9a4892c5a6"/><dir name="jquery.cycle"><file name="jquery.cycle.lite.min.js" hash="0c4a7571c05a6ada90b93e826e7f9f6e"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="printscience_personalization"><file name="jquery-1.7.2.min.js" hash="acc0adc6c188845a409bf158d2de4451"/><file name="modalPopLite.css" hash="32dc2c9142fff0c6221c62e3f95b8275"/><file name="modalPopLite.min.js" hash="255d501be44d6c7ac54aa4226d1ce314"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Print_Science_Designer_Web_to_Print</name>
4
+ <version>1.0.18</version>
5
  <stability>stable</stability>
6
  <license>OSL v3.0</license>
7
  <channel>community</channel>
10
  <description>Print_Science_Designer_Web_to_Print</description>
11
  <notes>Print_Science_Designer_Web_to_Print</notes>
12
  <authors><author><name>John Weissberg</name><user>johnwwweissberg</user><email>jw@print-science.com</email></author></authors>
13
+ <date>2014-04-15</date>
14
+ <time>05:07:18</time>
15
+ <contents><target name="magelocal"><dir name="PrintScience"><dir name="Personalization"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Items"><file name="Renderer.php" hash="e9a0dcb549311ea6f4e3992bbc9a4b5c"/></dir></dir></dir></dir></dir><dir name="Checkout"><dir name="Cart"><dir name="Item"><file name="Renderer.php" hash="f656661efde7a2ee2c92ca8a9dc234a4"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="cd3c2c919469c3ad244bb412892a7462"/><file name="Order.php" hash="ba50cbfb5f647cbca2deae91153db9b7"/><file name="Output.php" hash="46e8310a1ea9bcbb46dda6bc973f6812"/><file name="Quote.php" hash="d14fbe62e2a96e4aede13082c16dda30"/><file name="Session.php" hash="0236f26208780df75ca780d40edbe351"/></dir><dir name="Model"><dir name="ApiGateway"><dir name="Response"><file name="Abstract.php" hash="66667fce4c92782faf1d1a92f4c3e339"/><file name="Begin.php" hash="451d64c86ef6aa542ae7cf5949b1b627"/><file name="GetPreview.php" hash="5801403f4c511aa0a97b8273a712e407"/></dir></dir><file name="ApiGateway.php" hash="c88d8c42d0e3745596ca2a39471c73d3"/><file name="Observer.php" hash="3383f137cc7ef688b583cc26151cd21a"/><dir name="Override"><dir name="Checkout"><file name="Cart.php" hash="ccece0a4e9fffd6d4b7f1b1a8a97dbd3"/></dir><dir name="Sales"><file name="Quote.php" hash="58083e79ec32db5ea22e0fa61f3a4bd7"/></dir></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="73bca1105b8c0fa4462823ac6aa2c59b"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="ApiUrl.php" hash="34eb488ef178104966397f425625534d"/></dir><dir name="Source"><file name="ApiVersion.php" hash="e0248a29ebc88171b7fb51bdbabaca8b"/><file name="WindowType.php" hash="1af16df72f4fcfe959f6f091cd2f6821"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="b13503dcc1e142b8e7b5feebcbc0b63a"/></dir><dir name="etc"><file name="config.xml" hash="48ec9f6e5e5138b5643e47969338e245"/><file name="system.xml" hash="ea5d1935373ddfef8935d5cd26c53066"/></dir><dir name="sql"><dir name="printscience_personalization_setup"><file name="mysql4-install-1.0.18.php" hash="230e83f81659df712330db959ffbadca"/><file name="mysql4-upgrade-1.0.15-1.0.16.php" hash="e8ebb964b71df807e93a076758211c07"/><file name="mysql4-upgrade-1.0.16-1.0.17.php" hash="e8ebb964b71df807e93a076758211c07"/><file name="mysql4-upgrade-1.0.17-1.0.18.php" hash="230e83f81659df712330db959ffbadca"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="PrintScience_Personalization.xml" hash="5f5c39c5b01e828137125d057d04a655"/></dir></target><target name="magelocale"><dir name="en_US"><file name="PrintScience_Personalization.csv" hash="fc8365124f21bddca4dfac3d3dbf5b7f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="printscience_personalization"><dir name="catalog"><dir name="product"><file name="list.phtml" hash="5564f09c0ceaa71db7412be727684d21"/><dir name="view"><file name="addtocart.phtml" hash="ee0af223cca8c873492e2e9624953879"/><file name="media.phtml" hash="d0526045eca0891155f83aa067484178"/></dir><file name="view.phtml" hash="bc39bfa989142e868f2283476c767c2a"/></dir></dir><dir name="checkout"><dir name="cart"><dir name="item"><file name="default.phtml" hash="09e95e8e1b8b10d65a19bc873aa0d637"/></dir></dir><file name="cart.phtml" hash="6988d41b3ebcbc35b6f1f585636fae7b"/></dir></dir></dir><dir name="layout"><file name="printscience_personalization.xml" hash="04fb01b76f7af6e5fb0616bd1f7d7bd4"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="printscience_personalization.xml" hash="d0934cc5cfaca9e2d6c687f2fb866943"/></dir><dir name="template"><dir name="printscience_personalization"><dir name="sales"><dir name="order"><dir name="view"><dir name="items"><dir name="renderer"><file name="default.phtml" hash="5b6bcdd9bd94afda867429707dd786d3"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="xmlrpc"><file name="xmlrpc.inc" hash="55ecb2a9f7fc20d53a7b4da9d885e26b"/></dir></target><target name="mage"><dir name="js"><dir name="printscience_personalization"><file name="gallery.css" hash="eccacd49a35d68ef25bc1bf8e292fe98"/><file name="gallery.js" hash="d1ce93b3cf8ef950fef1097636f3205e"/><dir name="jquery"><dir name="fancybox"><file name="blank.gif" hash="325472601571f31e1bf00674c368d335"/><file name="fancy_close.png" hash="6e2879a324a76e9972ebc98201aae1d8"/><file name="fancy_loading.png" hash="b1d54c240cf06e7f41e372d56919b738"/><file name="fancy_nav_left.png" hash="3f3e406102152cd8236383568a40ba35"/><file name="fancy_nav_right.png" hash="216e4bde5bddeeaa60dc3d692890a68e"/><file name="fancy_shadow_e.png" hash="fd4f491080d29fade5080877f1ba4c8b"/><file name="fancy_shadow_n.png" hash="18cde16379b2ceadef714d9b346d09ec"/><file name="fancy_shadow_ne.png" hash="63adf788acf193d4e4f3642d7d793125"/><file name="fancy_shadow_nw.png" hash="c820c878aedb7a7f9ebd7135a58e7c65"/><file name="fancy_shadow_s.png" hash="9b9e5c888028aaef40fe5b6a363f1e29"/><file name="fancy_shadow_se.png" hash="a8afd5a008884380ee712d177105268f"/><file name="fancy_shadow_sw.png" hash="f81cc0fee5581d76ad3cebe47e7e791b"/><file name="fancy_shadow_w.png" hash="59b0e63eb059e58d932cfd53da4d87e6"/><file name="fancy_title_left.png" hash="1582ac2d3bef6a6445bf02ceca2741cd"/><file name="fancy_title_main.png" hash="38dad6c1ed4bdc81c0bec721b2deb8c2"/><file name="fancy_title_over.png" hash="b886fd165d4b7ac77d41fb52d87ffc60"/><file name="fancy_title_right.png" hash="6cbe0c935511e7f9a2555ccb6a7324c4"/><file name="fancybox-x.png" hash="168696d8a694214090ef90e029cdf393"/><file name="fancybox-y.png" hash="36a58859beb9a6b19322a37466b9f78e"/><file name="fancybox.png" hash="11e57e492ee0311540967cc7a1e6e3e2"/><file name="jquery.easing-1.3.pack.js" hash="def257dbb0ab805c4996fd8abb1a6b49"/><file name="jquery.fancybox-1.3.4.css" hash="4638ce99ef00cf62bfb22d230f9924b8"/><file name="jquery.fancybox-1.3.4.pack.js" hash="8bc36a08c46719377528d962966ce37c"/><file name="jquery.mousewheel-3.0.4.pack.js" hash="3b0a821567b463e70bcc1e90ed2bc9b6"/></dir><file name="jquery-1.4.2.min.js" hash="b80a2154ce061c8242031d9a4892c5a6"/><dir name="jquery.cycle"><file name="jquery.cycle.lite.min.js" hash="0c4a7571c05a6ada90b93e826e7f9f6e"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="printscience_personalization"><file name="jquery-1.7.2.min.js" hash="acc0adc6c188845a409bf158d2de4451"/><file name="modalPopLite.css" hash="32dc2c9142fff0c6221c62e3f95b8275"/><file name="modalPopLite.min.js" hash="255d501be44d6c7ac54aa4226d1ce314"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>