Youstice - Version 1.3.9

Version Notes

Retail version of the youstice resolution system package

Download this release

Release Info

Developer Youstice
Extension Youstice
Version 1.3.9
Comparing to
See all releases


Code changes from version 1.3.7 to 1.3.9

Files changed (23) hide show
  1. app/code/community/Youstice/YousticeResolutionSystem/SDK/Api.php +36 -3
  2. app/code/community/Youstice/YousticeResolutionSystem/SDK/Local.php +15 -7
  3. app/code/community/Youstice/YousticeResolutionSystem/SDK/Remote.php +1 -0
  4. app/code/community/Youstice/YousticeResolutionSystem/SDK/Request.php +17 -4
  5. app/code/community/Youstice/YousticeResolutionSystem/SDK/ShopOrder.php +47 -0
  6. app/code/community/Youstice/YousticeResolutionSystem/SDK/Widgets/OrderDetailButton.php +1 -0
  7. app/code/community/Youstice/YousticeResolutionSystem/SDK/Widgets/OrdersPage.php +72 -0
  8. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/cs.php +10 -0
  9. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/de.php +9 -0
  10. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/en.php +10 -0
  11. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/es.php +10 -0
  12. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/fr.php +10 -0
  13. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/pt.php +10 -0
  14. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/ru.php +10 -0
  15. app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/sk.php +11 -3
  16. app/code/community/Youstice/YousticeResolutionSystem/controllers/AdminController.php +15 -20
  17. app/code/community/Youstice/YousticeResolutionSystem/controllers/IndexController.php +51 -6
  18. app/design/adminhtml/default/default/template/youstice/adminForm.phtml +4 -2
  19. js/youstice/admin.js +9 -9
  20. js/youstice/orders.js +50 -15
  21. js/youstice/products.js +1 -1
  22. package.xml +4 -4
  23. skin/frontend/base/default/css/youstice.css +48 -8
app/code/community/Youstice/YousticeResolutionSystem/SDK/Api.php CHANGED
@@ -148,7 +148,7 @@ class Youstice_Api {
148
  * @return YousticeApi
149
  */
150
  public function runWithoutUpdates()
151
- {
152
  $this->checkShopSells();
153
 
154
  if ($this->session === null)
@@ -201,17 +201,40 @@ class Youstice_Api {
201
  return $widget->toString();
202
  }
203
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  /**
205
  * Returns html string of logo widget
206
  * @param string $claim_url url to report claims form
207
  * @return string html
208
  */
209
- public function getLogoWidgetHtml($claim_url = '')
210
  {
211
  if (!trim($this->api_key))
212
  return '';
213
 
214
- return $this->remote->getLogoWidgetData($this->local->getChangedReportStatusesCount(), $claim_url, $this->user_id !== null);
 
 
 
 
 
 
 
 
 
 
215
  }
216
 
217
  /**
@@ -629,6 +652,15 @@ class Youstice_Api {
629
  return $this;
630
  }
631
 
 
 
 
 
 
 
 
 
 
632
  /**
633
  * Set eshop language
634
  * @param string ISO 639-1 char code "en|sk|cz|es"
@@ -736,3 +768,4 @@ class Youstice_InvalidApiKeyException extends Exception {
736
  class Youstice_FailedRemoteConnectionException extends Exception {
737
 
738
  }
 
148
  * @return YousticeApi
149
  */
150
  public function runWithoutUpdates()
151
+ {
152
  $this->checkShopSells();
153
 
154
  if ($this->session === null)
201
  return $widget->toString();
202
  }
203
 
204
+ public function getOrdersPageWidgetHtml($webReportHref, $shopName, array $shopOrders)
205
+ {
206
+ if (!trim($this->api_key))
207
+ return '';
208
+
209
+ if(empty($shopOrders))
210
+ return '';
211
+
212
+ $widget = new Youstice_Widgets_OrdersPage($this->language, $webReportHref, $shopName, $shopOrders, $this);
213
+
214
+ return $widget->toString();
215
+ }
216
+
217
  /**
218
  * Returns html string of logo widget
219
  * @param string $claim_url url to report claims form
220
  * @return string html
221
  */
222
+ public function getLogoWidgetHtml($claim_url = '', $isOnOrderHistoryPage = false)
223
  {
224
  if (!trim($this->api_key))
225
  return '';
226
 
227
+ if($isOnOrderHistoryPage)
228
+ $claim_url .= (parse_url($claim_url, PHP_URL_QUERY) ? '&' : '?') . 'ordersPage';
229
+
230
+ try {
231
+ $html = $this->remote->getLogoWidgetData($this->local->getChangedReportStatusesCount(), $claim_url, $this->user_id !== null);
232
+ }
233
+ catch(Exception $e) {
234
+ return '';
235
+ }
236
+
237
+ return $html;
238
  }
239
 
240
  /**
652
  return $this;
653
  }
654
 
655
+ /**
656
+ *
657
+ * @return Youstice_LocalInterface $local
658
+ */
659
+ public function getLocal()
660
+ {
661
+ return $this->local;
662
+ }
663
+
664
  /**
665
  * Set eshop language
666
  * @param string ISO 639-1 char code "en|sk|cz|es"
768
  class Youstice_FailedRemoteConnectionException extends Exception {
769
 
770
  }
771
+
app/code/community/Youstice/YousticeResolutionSystem/SDK/Local.php CHANGED
@@ -13,11 +13,11 @@
13
  */
14
  class Youstice_Local implements Youstice_LocalInterface {
15
 
16
- private $connection = null;
17
- private $table_prefix;
18
- private $db_driver;
19
- private $session;
20
- private $cached = array();
21
 
22
  /**
23
  * Initialize connection
@@ -50,6 +50,13 @@ class Youstice_Local implements Youstice_LocalInterface {
50
 
51
  if ($db['driver'] == 'mysqli')
52
  $db['driver'] = 'mysql';
 
 
 
 
 
 
 
53
 
54
  $connection_string = $db['driver'].':dbname='.$db['name'];
55
 
@@ -73,7 +80,7 @@ class Youstice_Local implements Youstice_LocalInterface {
73
  * @param Youstice_Providers_SessionProviderInterface $session
74
  * @return Youstice_Api
75
  */
76
- public function setSession(Youstice_Providers_SessionProviderInterface &$session)
77
  {
78
  $this->session = $session;
79
 
@@ -164,7 +171,7 @@ class Youstice_Local implements Youstice_LocalInterface {
164
 
165
  $query_res = $this->executeQueryFetch($query_last, array($searchValue));
166
  }
167
-
168
  return $this->cached[$searchValue] = $query_res;
169
  }
170
 
@@ -313,3 +320,4 @@ class Youstice_Local implements Youstice_LocalInterface {
313
  }
314
 
315
  }
 
13
  */
14
  class Youstice_Local implements Youstice_LocalInterface {
15
 
16
+ protected $connection = null;
17
+ protected $table_prefix;
18
+ protected $db_driver;
19
+ protected $session;
20
+ protected $cached = array();
21
 
22
  /**
23
  * Initialize connection
50
 
51
  if ($db['driver'] == 'mysqli')
52
  $db['driver'] = 'mysql';
53
+
54
+ //host can be socket, check first param of mysql_connect
55
+ if(isset($db['host']) && $db['host'][0] == ':')
56
+ {
57
+ $db['socket'] = $db['host'];
58
+ $db['host'] = null;
59
+ }
60
 
61
  $connection_string = $db['driver'].':dbname='.$db['name'];
62
 
80
  * @param Youstice_Providers_SessionProviderInterface $session
81
  * @return Youstice_Api
82
  */
83
+ public function setSession(Youstice_Providers_SessionProviderInterface $session)
84
  {
85
  $this->session = $session;
86
 
171
 
172
  $query_res = $this->executeQueryFetch($query_last, array($searchValue));
173
  }
174
+
175
  return $this->cached[$searchValue] = $query_res;
176
  }
177
 
320
  }
321
 
322
  }
323
+
app/code/community/Youstice/YousticeResolutionSystem/SDK/Remote.php CHANGED
@@ -145,3 +145,4 @@ class Youstice_Remote extends Youstice_Request {
145
  }
146
 
147
  }
 
145
  }
146
 
147
  }
148
+
app/code/community/Youstice/YousticeResolutionSystem/SDK/Request.php CHANGED
@@ -55,8 +55,11 @@ class Youstice_Request {
55
  $url = $this->generateUrl($url);
56
  $this->postStream($url, $data);
57
 
58
- if ($this->response === false || $this->response === null)
 
 
59
  throw new Youstice_FailedRemoteConnectionException('Post Request failed: '.$url);
 
60
 
61
  if (strpos($this->response, 'Invalid api key') !== false)
62
  throw new Youstice_InvalidApiKeyException;
@@ -69,8 +72,12 @@ class Youstice_Request {
69
  $url = $this->generateUrl($url);
70
  $this->getStream($url);
71
 
72
- if ($this->response === false || $this->response === null)
 
 
 
73
  throw new Youstice_FailedRemoteConnectionException('get Request failed: '.$url);
 
74
 
75
  if (strpos($this->response, 'Invalid api key') !== false)
76
  throw new Youstice_InvalidApiKeyException;
@@ -83,7 +90,7 @@ class Youstice_Request {
83
  $request = stream_context_create(array(
84
  'http' => array(
85
  'method' => 'GET',
86
- 'ignore_errors' => false,
87
  'timeout' => 10.0,
88
  'header' => "Content-Type: application/json\r\n".'Accept-Language: '.$this->lang."\r\n",
89
  )
@@ -99,7 +106,7 @@ class Youstice_Request {
99
  $request = stream_context_create(array(
100
  'http' => array(
101
  'method' => 'POST',
102
- 'ignore_errors' => false,
103
  'timeout' => 10.0,
104
  'content' => Youstice_Tools::jsonEncode($data),
105
  'header' => "Content-Type: application/json\r\n".'Accept-Language: '.$this->lang."\r\n",
@@ -110,5 +117,11 @@ class Youstice_Request {
110
 
111
  $this->response = Youstice_Tools::file_get_contents($url, false, $request);
112
  }
 
 
 
 
 
113
 
114
  }
 
55
  $url = $this->generateUrl($url);
56
  $this->postStream($url, $data);
57
 
58
+ if ($this->response === false || $this->response === null || strpos($this->response, "HTTP Status 500") !== false) {
59
+ $this->logError($url, "POST", $data, $this->response);
60
+
61
  throw new Youstice_FailedRemoteConnectionException('Post Request failed: '.$url);
62
+ }
63
 
64
  if (strpos($this->response, 'Invalid api key') !== false)
65
  throw new Youstice_InvalidApiKeyException;
72
  $url = $this->generateUrl($url);
73
  $this->getStream($url);
74
 
75
+ if ($this->response === false || $this->response === null || strpos($this->response, "HTTP Status 500") !== false) {
76
+
77
+ $this->logError($url, "GET", array(), $this->response);
78
+
79
  throw new Youstice_FailedRemoteConnectionException('get Request failed: '.$url);
80
+ }
81
 
82
  if (strpos($this->response, 'Invalid api key') !== false)
83
  throw new Youstice_InvalidApiKeyException;
90
  $request = stream_context_create(array(
91
  'http' => array(
92
  'method' => 'GET',
93
+ 'ignore_errors' => true,
94
  'timeout' => 10.0,
95
  'header' => "Content-Type: application/json\r\n".'Accept-Language: '.$this->lang."\r\n",
96
  )
106
  $request = stream_context_create(array(
107
  'http' => array(
108
  'method' => 'POST',
109
+ 'ignore_errors' => true,
110
  'timeout' => 10.0,
111
  'content' => Youstice_Tools::jsonEncode($data),
112
  'header' => "Content-Type: application/json\r\n".'Accept-Language: '.$this->lang."\r\n",
117
 
118
  $this->response = Youstice_Tools::file_get_contents($url, false, $request);
119
  }
120
+
121
+ protected function logError($url, $type, $data, $response)
122
+ {
123
+ error_log("Youstice - remote request failed [url]: " . $type . " " . $url . " [request]: " . json_encode($data) . " [response]: " . $response);
124
+ }
125
 
126
  }
127
+
app/code/community/Youstice/YousticeResolutionSystem/SDK/ShopOrder.php CHANGED
@@ -8,6 +8,11 @@
8
  */
9
 
10
  class Youstice_ShopOrder extends Youstice_ShopItem {
 
 
 
 
 
11
 
12
  public static function create($description = array(), $name = '', $currency = 'EUR', $price = 0.0, $product_id = null,
13
  $delivery_date = null, $order_date = null, $image = null, $other_info = '', $products = array())
@@ -36,6 +41,18 @@ class Youstice_ShopOrder extends Youstice_ShopItem {
36
  return $this->data['id'];
37
  }
38
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  public function getImage()
40
  {
41
  if (trim($this->data['image']))
@@ -44,5 +61,35 @@ class Youstice_ShopOrder extends Youstice_ShopItem {
44
  elseif (count($this->data['products']))
45
  return $this->data['products'][0]->getImage();
46
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
  }
8
  */
9
 
10
  class Youstice_ShopOrder extends Youstice_ShopItem {
11
+
12
+ const NOT_DELIVERED = 1;
13
+ const DELIVERED = 2;
14
+ const NOT_PAYED = 1;
15
+ const PAYED = 2;
16
 
17
  public static function create($description = array(), $name = '', $currency = 'EUR', $price = 0.0, $product_id = null,
18
  $delivery_date = null, $order_date = null, $image = null, $other_info = '', $products = array())
41
  return $this->data['id'];
42
  }
43
 
44
+ public function getOrderDetailHref()
45
+ {
46
+ return isset($this->data['orderDetailHref']) ? $this->data['orderDetailHref'] : '';
47
+ }
48
+
49
+ public function setOrderDetailHref($href = '')
50
+ {
51
+ $this->data['orderDetailHref'] = $href;
52
+
53
+ return $this;
54
+ }
55
+
56
  public function getImage()
57
  {
58
  if (trim($this->data['image']))
61
  elseif (count($this->data['products']))
62
  return $this->data['products'][0]->getImage();
63
  }
64
+
65
+ public function setDeliveryState($deliveryState) {
66
+ if($deliveryState == self::DELIVERED || $deliveryState == self::NOT_DELIVERED)
67
+ $this->data['deliveryState'] = $deliveryState;
68
+
69
+ return $this;
70
+ }
71
+
72
+ public function getDeliveryState() {
73
+ return isset($this->data['deliveryState']) ? $this->data['deliveryState'] : self::NOT_DELIVERED;
74
+ }
75
+
76
+ public function isDelivered() {
77
+ return isset($this->data['deliveryState']) && $this->data['deliveryState'] == self::DELIVERED;
78
+ }
79
+
80
+ public function setPaymentState($paymentState) {
81
+ if($paymentState == self::PAYED || $paymentState == self::NOT_PAYED)
82
+ $this->data['paymentState'] = $paymentState;
83
+
84
+ return $this;
85
+ }
86
+
87
+ public function getPaymentState() {
88
+ return isset($this->data['paymentState']) ? $this->data['paymentState'] : self::NOT_PAYED;
89
+ }
90
+
91
+ public function isPaid() {
92
+ return isset($this->data['paymentState']) && $this->data['paymentState'] == self::PAYED;
93
+ }
94
 
95
  }
app/code/community/Youstice/YousticeResolutionSystem/SDK/Widgets/OrderDetailButton.php CHANGED
@@ -127,3 +127,4 @@ class Youstice_Widgets_OrderDetailButton {
127
  }
128
 
129
  }
 
127
  }
128
 
129
  }
130
+
app/code/community/Youstice/YousticeResolutionSystem/SDK/Widgets/OrdersPage.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Renders order detail (usually in popup form)
4
+ *
5
+ * @author Youstice
6
+ * @copyright (c) 2014, Youstice
7
+ * @license http://www.apache.org/licenses/LICENSE-2.0.html Apache License, Version 2.0
8
+ */
9
+
10
+ class Youstice_Widgets_OrdersPage {
11
+
12
+ protected $api;
13
+ protected $lang;
14
+ protected $webReportHref;
15
+ protected $shopName;
16
+ protected $orders;
17
+
18
+ public function __construct($lang, $webReportHref, $shopName, array $orders, $api)
19
+ {
20
+ $this->translator = new Youstice_Translator($lang);
21
+ $this->webReportHref = $webReportHref;
22
+ $this->shopName = $shopName;
23
+ $this->orders = $orders;
24
+ $this->api = $api;
25
+ }
26
+
27
+ public function toString()
28
+ {
29
+ $output = '<div class="orderDetailWrap ordersPageWrap"><h1>'.$this->translator->t('Report claims on').' '.Youstice_Helpers_HelperFunctions::sh($this->shopName).'</h1>';
30
+ $output .= '<div class="topRightWrap">';
31
+ $output .= $this->api->getWebReportButtonHtml($this->webReportHref);
32
+ $output .= '<span class="space"></span>
33
+ <a class="yrsButton yrsButton-close">x</a>
34
+ </div>
35
+ <h2>'.$this->translator->t('Your orders (%d)', count($this->orders)).'</h2>';
36
+
37
+ if (count($this->orders))
38
+ {
39
+ $output .=
40
+ '<table class="orderDetail">';
41
+
42
+ $i = 0;
43
+ foreach ($this->orders as $order)
44
+ {
45
+ $paymentText = $this->api->t($order->isPaid() ? 'paid' : 'unpaid');
46
+ $deliveryText = $this->api->t($order->isDelivered() ? 'delivered' : 'undelivered');
47
+ $orderDateLabel = $this->translator->t('Order date');
48
+ $orderDate = strtotime($order->getOrderDate());
49
+ $orderDateFormat = $this->translator->t('_orderDateFormat');
50
+ $orderDateFormated = Youstice_Helpers_HelperFunctions::sh(date($orderDateFormat, $orderDate));
51
+
52
+ $totalLabel = $this->translator->t('Total');
53
+ $totalText = Youstice_Helpers_HelperFunctions::sh($order->getPrice()).' '.Youstice_Helpers_HelperFunctions::sh($order->getCurrency());
54
+
55
+ $output .= '<tr><td>'
56
+ . '<b>'.Youstice_Helpers_HelperFunctions::sh($order->getName()).'</b>'
57
+ . ' (' . $paymentText . ', ' . $deliveryText . ')<br>'
58
+ . $orderDateLabel.': '.$orderDateFormated.'<br>'
59
+ . $totalLabel.': '.$totalText.'</td>'
60
+ . '<td>'.$this->api->getOrderDetailButtonHtml($order->getOrderDetailHref(), $order).'</td></tr>';
61
+
62
+ $i++;
63
+ }
64
+
65
+ $output .= '</table></div>';
66
+ }
67
+
68
+ return $output;
69
+ }
70
+
71
+ }
72
+
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/cs.php CHANGED
@@ -90,4 +90,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'It is also possible to report a problem with a specific item within an order.',
91
  'Screenshots' => 'Screenshots',
92
  "SAVE" => "ULOŽIT",
 
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'It is also possible to report a problem with a specific item within an order.',
91
  'Screenshots' => 'Screenshots',
92
  "SAVE" => "ULOŽIT",
93
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
94
+
95
+ //orders page
96
+ "Order date" => "Order date",
97
+ "Total" => "Total",
98
+ "_orderDateFormat" => "j.n.Y G:i:s",
99
+ "paid" => "paid",
100
+ "unpaid" => "unpaid",
101
+ "delivered" => "delivered",
102
+ "undelivered" => "undelivered",
103
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/de.php CHANGED
@@ -90,4 +90,13 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'Es ist ebenso möglich, ein spezielles Problem innerhalb einer Bestellung zu melden.',
91
  'Screenshots' => 'Screenshots',
92
  "SAVE" => "SPEICHERN",
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'Es ist ebenso möglich, ein spezielles Problem innerhalb einer Bestellung zu melden.',
91
  'Screenshots' => 'Screenshots',
92
  "SAVE" => "SPEICHERN",
93
+
94
+ //orders page
95
+ "Order date" => "Order date",
96
+ "Total" => "Total",
97
+ "_orderDateFormat" => "j.n.Y G:i:s",
98
+ "paid" => "paid",
99
+ "unpaid" => "unpaid",
100
+ "delivered" => "delivered",
101
+ "undelivered" => "undelivered",
102
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/en.php CHANGED
@@ -90,4 +90,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'It is also possible to report a problem with a specific item within an order.',
91
  'Screenshots' => 'Screenshots',
92
  "SAVE" => "SAVE",
 
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'It is also possible to report a problem with a specific item within an order.',
91
  'Screenshots' => 'Screenshots',
92
  "SAVE" => "SAVE",
93
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
94
+
95
+ //orders page
96
+ "Order date" => "Order date",
97
+ "Total" => "Total",
98
+ "_orderDateFormat" => "j.n.Y G:i:s",
99
+ "paid" => "paid",
100
+ "unpaid" => "unpaid",
101
+ "delivered" => "delivered",
102
+ "undelivered" => "undelivered",
103
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/es.php CHANGED
@@ -90,4 +90,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'Es posible también notificar un problema sobre un artículo concreto de un pedido.',
91
  'Screenshots' => 'CAPTURAS DE PANTALLA',
92
  "SAVE" => "GUARDAR",
 
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'Es posible también notificar un problema sobre un artículo concreto de un pedido.',
91
  'Screenshots' => 'CAPTURAS DE PANTALLA',
92
  "SAVE" => "GUARDAR",
93
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
94
+
95
+ //orders page
96
+ "Order date" => "Order date",
97
+ "Total" => "Total",
98
+ "_orderDateFormat" => "j.n.Y G:i:s",
99
+ "paid" => "paid",
100
+ "unpaid" => "unpaid",
101
+ "delivered" => "delivered",
102
+ "undelivered" => "undelivered",
103
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/fr.php CHANGED
@@ -90,4 +90,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'Il peut aussi signaler un problème relatif à un article d’une commande.',
91
  'Screenshots' => 'COPIES D’ÉCRAN',
92
  "SAVE" => "ENREGISTER",
 
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'Il peut aussi signaler un problème relatif à un article d’une commande.',
91
  'Screenshots' => 'COPIES D’ÉCRAN',
92
  "SAVE" => "ENREGISTER",
93
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
94
+
95
+ //orders page
96
+ "Order date" => "Order date",
97
+ "Total" => "Total",
98
+ "_orderDateFormat" => "j.n.Y G:i:s",
99
+ "paid" => "paid",
100
+ "unpaid" => "unpaid",
101
+ "delivered" => "delivered",
102
+ "undelivered" => "undelivered",
103
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/pt.php CHANGED
@@ -90,4 +90,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'Também é possível relatar problema em um item específico da encomenda.',
91
  'Screenshots' => 'IMAGENS',
92
  "SAVE" => "SALVAR",
 
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'Também é possível relatar problema em um item específico da encomenda.',
91
  'Screenshots' => 'IMAGENS',
92
  "SAVE" => "SALVAR",
93
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
94
+
95
+ //orders page
96
+ "Order date" => "Order date",
97
+ "Total" => "Total",
98
+ "_orderDateFormat" => "j.n.Y G:i:s",
99
+ "paid" => "paid",
100
+ "unpaid" => "unpaid",
101
+ "delivered" => "delivered",
102
+ "undelivered" => "undelivered",
103
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/ru.php CHANGED
@@ -90,4 +90,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'Также возможно сообщить о проблеме, связанной с определённым товаром в рамках отдельных заказов.',
91
  'Screenshots' => 'СКРИНШОТЫ (Снимки экрана)',
92
  "SAVE" => "СОХРАНИТЬ",
 
 
 
 
 
 
 
 
 
 
93
  );
90
  'It is also possible to report a problem with a specific item within an order.' => 'Также возможно сообщить о проблеме, связанной с определённым товаром в рамках отдельных заказов.',
91
  'Screenshots' => 'СКРИНШОТЫ (Снимки экрана)',
92
  "SAVE" => "СОХРАНИТЬ",
93
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
94
+
95
+ //orders page
96
+ "Order date" => "Order date",
97
+ "Total" => "Total",
98
+ "_orderDateFormat" => "j.n.Y G:i:s",
99
+ "paid" => "paid",
100
+ "unpaid" => "unpaid",
101
+ "delivered" => "delivered",
102
+ "undelivered" => "undelivered",
103
  );
app/code/community/Youstice/YousticeResolutionSystem/SDK/languageStrings/sk.php CHANGED
@@ -33,9 +33,7 @@ return array(
33
  //admin
34
  "Youstice" => "Youstice",
35
  "Your online justice" => "Vaša online justícia",
36
- "We help customers and retailers resolve shopping issues quickly and effectively." => "Pomáhame spotrebiteľom a predajcom rýchlo a efektívne riešiť problémy spojené s nakupovaním.",
37
- "Youstice is a global online application for customers and retailers" => "Youstice je globálna online aplikácia pre spotrebiteľov a predajcov",
38
- "It allows quick and efficient communication between shops and customers" => "Umožňuje rýchlu a efektívnu komunikáciu medzi obchodmi a kupujúcimi.",
39
  "Complaints are resolved in just a few clicks." => "Sťažnosti je možné vyriešiť niekoľkými kliknutiami myšou.",
40
  "Yes" => "Áno",
41
  "No" => "Nie",
@@ -90,4 +88,14 @@ return array(
90
  'It is also possible to report a problem with a specific item within an order.' => 'Je tiež možné nahlásiť problém ohľadom konkrétnej položky, ktorá je súčasťou objednávky.',
91
  'Screenshots' => 'Screenshoty',
92
  "SAVE" => "ULOŽIŤ",
 
 
 
 
 
 
 
 
 
 
93
  );
33
  //admin
34
  "Youstice" => "Youstice",
35
  "Your online justice" => "Vaša online justícia",
36
+ "We help customers and retailers resolve shopping issues quickly and effectively." => "Pomáhame spotrebiteľom a predajcom rýchlo a efektívne riešiť problémy spojené s nakupovaním.", "Youstice is a global online application for customers and retailers" => "Youstice je globálna online aplikácia pre spotrebiteľov a predajcov", "It allows quick and efficient communication between shops and customers" => "Umožňuje rýchlu a efektívnu komunikáciu medzi obchodmi a kupujúcimi.",
 
 
37
  "Complaints are resolved in just a few clicks." => "Sťažnosti je možné vyriešiť niekoľkými kliknutiami myšou.",
38
  "Yes" => "Áno",
39
  "No" => "Nie",
88
  'It is also possible to report a problem with a specific item within an order.' => 'Je tiež možné nahlásiť problém ohľadom konkrétnej položky, ktorá je súčasťou objednávky.',
89
  'Screenshots' => 'Screenshoty',
90
  "SAVE" => "ULOŽIŤ",
91
+ "Remote service unavailable, please try again later" => "Remote service unavailable, please try again later",
92
+
93
+ //orders page
94
+ "Order date" => "Order date",
95
+ "Total" => "Total",
96
+ "_orderDateFormat" => "j.n.Y G:i:s",
97
+ "paid" => "paid",
98
+ "unpaid" => "unpaid",
99
+ "delivered" => "delivered",
100
+ "undelivered" => "undelivered",
101
  );
app/code/community/Youstice/YousticeResolutionSystem/controllers/AdminController.php CHANGED
@@ -14,16 +14,21 @@ class Youstice_YousticeResolutionSystem_AdminController extends Mage_Adminhtml_C
14
  $this->renderLayout();
15
  }
16
 
17
- public function saveAction() {
18
- $params = $this->getRequest()->getPost();
19
- $api = Mage::getSingleton('Youstice_YousticeResolutionSystem_Helper_ApiSingleton')->get();
20
 
21
- $validApiKey = $this->checkApiKey($params['api_key'], $params['use_sandbox']);
22
 
23
- if(!$validApiKey) {
24
- Mage::getSingleton('core/session')->addError($api->t('Invalid API KEY'));
25
- $this->_redirect('youstice/admin');
26
- }
 
 
 
 
 
27
 
28
  Mage::getModel('core/config')->saveConfig('youstice/api_key', $params['api_key']);
29
  Mage::getModel('core/config')->saveConfig('youstice/use_sandbox', $params['use_sandbox']);
@@ -32,22 +37,12 @@ class Youstice_YousticeResolutionSystem_AdminController extends Mage_Adminhtml_C
32
 
33
  Mage::getConfig()->reinit();
34
  Mage::app()->reinitStores();
35
-
36
 
37
  Mage::getSingleton('core/session')->addSuccess($api->t('Settings were saved successfully.'));
38
  $this->_redirect('youstice/admin');
39
  }
40
 
41
- //ajax
42
- public function checkApiKeyAction() {
43
- $params = $this->getRequest()->getPost();
44
-
45
- $result = $this->checkApiKey($params['api_key'], $params['use_sandbox']);
46
-
47
- exit(json_encode(array('result' => $result)));
48
- }
49
-
50
- private function checkApiKey($apiKey, $useSandbox) {
51
  if (!trim($apiKey))
52
  return false;
53
 
@@ -62,7 +57,7 @@ class Youstice_YousticeResolutionSystem_AdminController extends Mage_Adminhtml_C
62
  $result = $api->checkApiKey();
63
  }
64
  catch(Exception $e) {
65
- $result = false;
66
  }
67
 
68
  return $result;
14
  $this->renderLayout();
15
  }
16
 
17
+ //ajax
18
+ public function checkApiKeyAction() {
19
+ $params = $this->getRequest()->getPost();
20
 
21
+ $result = $this->checkApiKey($params['api_key'], $params['use_sandbox']);
22
 
23
+ if($result == true)
24
+ $this->saveForm();
25
+
26
+ exit(json_encode(array('result' => $result)));
27
+ }
28
+
29
+ protected function saveForm() {
30
+ $params = $this->getRequest()->getPost();
31
+ $api = Mage::getSingleton('Youstice_YousticeResolutionSystem_Helper_ApiSingleton')->get();
32
 
33
  Mage::getModel('core/config')->saveConfig('youstice/api_key', $params['api_key']);
34
  Mage::getModel('core/config')->saveConfig('youstice/use_sandbox', $params['use_sandbox']);
37
 
38
  Mage::getConfig()->reinit();
39
  Mage::app()->reinitStores();
 
40
 
41
  Mage::getSingleton('core/session')->addSuccess($api->t('Settings were saved successfully.'));
42
  $this->_redirect('youstice/admin');
43
  }
44
 
45
+ protected function checkApiKey($apiKey, $useSandbox) {
 
 
 
 
 
 
 
 
 
46
  if (!trim($apiKey))
47
  return false;
48
 
57
  $result = $api->checkApiKey();
58
  }
59
  catch(Exception $e) {
60
+ $result = 'fail';
61
  }
62
 
63
  return $result;
app/code/community/Youstice/YousticeResolutionSystem/controllers/IndexController.php CHANGED
@@ -19,8 +19,14 @@ class Youstice_YousticeResolutionSystem_IndexController extends Mage_Core_Contro
19
  }
20
 
21
  public function getReportClaimsPageAction() {
22
- if ($this->api->getCustomerId() !== null)
23
- $this->_redirectUrl(Mage::getUrl('sales/order/history'));
 
 
 
 
 
 
24
 
25
  $this->loadLayout();
26
 
@@ -88,13 +94,21 @@ class Youstice_YousticeResolutionSystem_IndexController extends Mage_Core_Contro
88
  }
89
 
90
  public function getLogoWidgetAction() {
91
- echo $this->api->get()->getLogoWidgetHtml(Mage::getUrl('youstice/index/getReportClaimsPage'));
92
  }
93
 
94
  public function getWebReportButtonAction() {
95
  echo $this->api->get()->getWebReportButtonHtml(Mage::getUrl('youstice/index/createWebReport/'));
96
  }
97
 
 
 
 
 
 
 
 
 
98
  public function getOrdersButtonsAction() {
99
 
100
  $params = $this->getRequest()->getParams();
@@ -106,7 +120,7 @@ class Youstice_YousticeResolutionSystem_IndexController extends Mage_Core_Contro
106
 
107
  $shopOrder = $this->createShopOrder($orderId);
108
 
109
- $orderDetailUrl = Mage::getUrl('youstice/index/getOrderDetail', array('_query' => 'order_id=' . $orderId));
110
 
111
  $response[$orderId] = $this->api->get()->getOrderDetailButtonHtml($orderDetailUrl, $shopOrder);
112
  }
@@ -225,6 +239,25 @@ class Youstice_YousticeResolutionSystem_IndexController extends Mage_Core_Contro
225
  echo('Product not found');
226
  }
227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  protected function createShopOrder($order) {
229
  if (!$order instanceof Mage_Sales_Model_Order)
230
  $order = Mage::getModel('sales/order')->load($order);
@@ -243,10 +276,18 @@ class Youstice_YousticeResolutionSystem_IndexController extends Mage_Core_Contro
243
  ->setCurrency($order['order_currency_code'])
244
  ->setPrice((float) $order['grand_total'])
245
  ->setId($order->getId())
246
- ->setDeliveryDate($deliveryDate)
247
  ->setOrderDate($order['created_at'])
 
248
  ->setOtherInfo(json_encode($order->getData()))
249
- ->setHref($this->createOrderReportHref($order->getId()));
 
 
 
 
 
 
 
 
250
 
251
  foreach ($products as $product) {
252
  $shopProduct = $this->createShopProduct($product, $order->getId());
@@ -307,4 +348,8 @@ class Youstice_YousticeResolutionSystem_IndexController extends Mage_Core_Contro
307
  return $href;
308
  }
309
 
 
 
 
 
310
  }
19
  }
20
 
21
  public function getReportClaimsPageAction() {
22
+ if ($this->api->getCustomerId() !== null) {
23
+ if ($this->getRequest()->has('ordersPage'))
24
+ $redirectUrl = Mage::getUrl('sales/order/history?ordersPage');
25
+ else
26
+ $redirectUrl = Mage::getUrl('sales/order/history');
27
+
28
+ $this->_redirectUrl($redirectUrl);
29
+ }
30
 
31
  $this->loadLayout();
32
 
94
  }
95
 
96
  public function getLogoWidgetAction() {
97
+ echo $this->api->get()->getLogoWidgetHtml(Mage::getUrl('youstice/index/getReportClaimsPage'), true);
98
  }
99
 
100
  public function getWebReportButtonAction() {
101
  echo $this->api->get()->getWebReportButtonHtml(Mage::getUrl('youstice/index/createWebReport/'));
102
  }
103
 
104
+ public function getOrdersPageAction() {
105
+ $shopOrders = $this->createShopOrders();
106
+
107
+ $html = $this->api->get()->getOrdersPageWidgetHtml(Mage::getUrl('youstice/index/createWebReport/'), Mage::app()->getStore()->getName(), $shopOrders);
108
+
109
+ echo json_encode(array('ordersPage' => $html));
110
+ }
111
+
112
  public function getOrdersButtonsAction() {
113
 
114
  $params = $this->getRequest()->getParams();
120
 
121
  $shopOrder = $this->createShopOrder($orderId);
122
 
123
+ $orderDetailUrl = $this->createOrderDetailHref($orderId);
124
 
125
  $response[$orderId] = $this->api->get()->getOrderDetailButtonHtml($orderDetailUrl, $shopOrder);
126
  }
239
  echo('Product not found');
240
  }
241
 
242
+ protected function createShopOrders()
243
+ {
244
+ $orders = Mage::getModel('sales/order')
245
+ ->loadByAttribute('customer_id', $this->customer_id)
246
+ ->getCollection()
247
+ ->setOrder('created_at', 'DESC');
248
+
249
+ if (empty($orders))
250
+ return array();
251
+
252
+ $shopOrders = array();
253
+
254
+ foreach ($orders as $order) {
255
+ $shopOrders[] = $this->createShopOrder($order);
256
+ }
257
+
258
+ return $shopOrders;
259
+ }
260
+
261
  protected function createShopOrder($order) {
262
  if (!$order instanceof Mage_Sales_Model_Order)
263
  $order = Mage::getModel('sales/order')->load($order);
276
  ->setCurrency($order['order_currency_code'])
277
  ->setPrice((float) $order['grand_total'])
278
  ->setId($order->getId())
 
279
  ->setOrderDate($order['created_at'])
280
+ ->setDeliveryDate($deliveryDate)
281
  ->setOtherInfo(json_encode($order->getData()))
282
+ ->setHref($this->createOrderReportHref($order->getId()))
283
+ ->setOrderDetailHref($this->createOrderDetailHref($order->getId()));
284
+
285
+ //how much left to pay
286
+ if($order->getBaseTotalDue() == 0)
287
+ $shopOrder->setPaymentState(Youstice_ShopOrder::PAYED);
288
+
289
+ if($order->hasShipments())
290
+ $shopOrder->setDeliveryState(Youstice_ShopOrder::DELIVERED);
291
 
292
  foreach ($products as $product) {
293
  $shopProduct = $this->createShopProduct($product, $order->getId());
348
  return $href;
349
  }
350
 
351
+ protected function createOrderDetailHref($orderId) {
352
+ return Mage::getUrl('youstice/index/getOrderDetail', array('_query' => 'order_id=' . $orderId));
353
+ }
354
+
355
  }
app/design/adminhtml/default/default/template/youstice/adminForm.phtml CHANGED
@@ -170,8 +170,10 @@ $reportClaimsLink = $this->getUrl('', array('_absolute' => true, '_secure' => tr
170
  var sandUrl = 'https://app-sand.youstice.com/blox-odr13/generix/odr/<?= $defaultLanguage ? : 'en' ?>/app2/_shopConfiguration_?utm_source=eshop&utm_medium=cpc&utm_content=magento_signup&utm_campaign=plugins';
171
  var liveUrl = 'https://app.youstice.com/blox-odr/generix/odr/<?= $defaultLanguage ? : 'en' ?>/app2/_shopConfiguration_?utm_source=eshop&utm_medium=cpc&utm_content=magento_signup&utm_campaign=plugins';
172
  var checkApiKeyUrl = '<?php echo Mage::getModel('adminhtml/url')->getUrl('youstice/admin/checkApiKey') ?>?isAjax=true';
173
- var languageSelectedDefault = '<?= $defaultLanguage ?>'
174
- var errorHtml = '<ul class="messages"><li class="error-msg"><?= $api->t('Invalid API KEY') ?></li></ul>';
 
 
175
 
176
  <?php if (strlen(trim($apiKey))): ?>
177
  jQuery(document).ready(function($) {
170
  var sandUrl = 'https://app-sand.youstice.com/blox-odr13/generix/odr/<?= $defaultLanguage ? : 'en' ?>/app2/_shopConfiguration_?utm_source=eshop&utm_medium=cpc&utm_content=magento_signup&utm_campaign=plugins';
171
  var liveUrl = 'https://app.youstice.com/blox-odr/generix/odr/<?= $defaultLanguage ? : 'en' ?>/app2/_shopConfiguration_?utm_source=eshop&utm_medium=cpc&utm_content=magento_signup&utm_campaign=plugins';
172
  var checkApiKeyUrl = '<?php echo Mage::getModel('adminhtml/url')->getUrl('youstice/admin/checkApiKey') ?>?isAjax=true';
173
+ var languageSelectedDefault = '<?= $defaultLanguage ?>';
174
+ var errorMessagesSelector = '.messages';
175
+ var invalidApiKeyHtml = '<ul class="messages"><li class="error-msg"><?= $api->t('Invalid API KEY') ?></li></ul>';
176
+ var requestFailedHtml = '<ul class="messages"><li class="error-msg"><?= $api->t('Remote service unavailable, please try again later') ?></li></ul>';
177
 
178
  <?php if (strlen(trim($apiKey))): ?>
179
  jQuery(document).ready(function($) {
js/youstice/admin.js CHANGED
@@ -43,17 +43,17 @@ jQuery(document).ready(function($) {
43
  });
44
 
45
  function saveSettings() {
46
- jQuery('.messages').remove();
47
- jQuery.post(checkApiKeyUrl, {form_key: window.FORM_KEY, api_key: jQuery('#apiKey').val(), use_sandbox: jQuery('#useSandbox').val()},
48
  function(response) {
49
- if (response.result !== true) {
50
- showError();
51
- jQuery('html, body').animate({
52
- scrollTop: jQuery(".yConfiguration").first().offset().top
53
- }, 2000);
54
  }
55
  else {
56
- jQuery('.yContainer').submit();
57
  }
58
  }, 'json');
59
  }
@@ -68,7 +68,7 @@ function changeBlocksVisibility(haveAccount) {
68
  }
69
  }
70
 
71
- function showError() {
72
  jQuery('.roundedAnchor.save').after(errorHtml);
73
  jQuery('html, body').animate({
74
  scrollTop: jQuery(".yConfiguration").first().offset().top
43
  });
44
 
45
  function saveSettings() {
46
+ jQuery(errorMessagesSelector).remove();
47
+ jQuery.post(checkApiKeyUrl, {form_key: window.FORM_KEY, api_key: jQuery('#apiKey').val(), use_sandbox: jQuery('#useSandbox').val(), default_language: jQuery('#defaultLanguage').val()},
48
  function(response) {
49
+ if(response.result == 'fail') {
50
+ showError(requestFailedHtml);
51
+ }
52
+ else if(response.result == false) {
53
+ showError(invalidApiKeyHtml);
54
  }
55
  else {
56
+ window.location.reload();
57
  }
58
  }, 'json');
59
  }
68
  }
69
  }
70
 
71
+ function showError(errorHtml) {
72
  jQuery('.roundedAnchor.save').after(errorHtml);
73
  jQuery('html, body').animate({
74
  scrollTop: jQuery(".yConfiguration").first().offset().top
js/youstice/orders.js CHANGED
@@ -9,22 +9,30 @@ function removeAjaxSpinner(where) {
9
 
10
  jQuery(document).ready(function($) {
11
 
12
- //button to start showing buttons
13
- $('h1').after('<div id="y-main" \>');
14
- showAjaxSpinner('#y-main');
15
- $.get(BASE_URL + 'index/getShowButtonsHtml', function(data) {
16
- removeAjaxSpinner('#y-main');
17
- $('#y-main').append(data);
18
-
19
- if ($(data).data('has-reports'))
20
- showButtons();
21
- });
22
 
23
- //start showing buttons
24
- $(document).on('click', 'a.yrsShowButtons', function(e) {
25
- e.preventDefault();
26
- showButtons();
27
- });
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  function showButtons() {
30
  $('a.yrsShowButtons').remove();
@@ -73,6 +81,33 @@ jQuery(document).ready(function($) {
73
  });
74
  }, 'json');
75
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  //reload orderDetail
78
  $(document).on('click', '.yrsButton:not(.yrsButton-order-detail):not(.yrsOrderDetailButton)'
9
 
10
  jQuery(document).ready(function($) {
11
 
12
+ if($('#my-orders-table tr:gt(0)').length) {
13
+ //button to start showing buttons
14
+ $('h1').after('<div id="y-main" \>');
15
+ showAjaxSpinner('#y-main');
16
+ $.get(BASE_URL + 'index/getShowButtonsHtml', function(data) {
17
+ removeAjaxSpinner('#y-main');
18
+ $('#y-main').append(data);
 
 
 
19
 
20
+ if ($(data).data('has-reports'))
21
+ showButtons();
22
+ });
23
+
24
+ //start showing buttons
25
+ $(document).on('click', 'a.yrsShowButtons', function(e) {
26
+ e.preventDefault();
27
+ showButtons();
28
+ });
29
+ }
30
+ //can't show buttons
31
+ else {
32
+ if(document.URL.indexOf('ordersPage') !== -1) {
33
+ showOrdersPage();
34
+ }
35
+ }
36
 
37
  function showButtons() {
38
  $('a.yrsShowButtons').remove();
81
  });
82
  }, 'json');
83
  }
84
+
85
+ function showOrdersPage() {
86
+ $.get(BASE_URL + 'index/getOrdersPage', function(data) {
87
+ $.fancybox({
88
+ autoDimensions: false,
89
+ width: '70%',
90
+ height: '90%',
91
+ content: data.ordersPage,
92
+ closeBtn: false,
93
+ showCloseButton: false
94
+ });
95
+ }, 'json');
96
+
97
+ }
98
+
99
+ //load orderDetail
100
+ $(document).on('click', '.yrsButton-plus, .yrsOrderDetailButton, .yrsButton-order-detail', function(e) {
101
+ $this = $(this);
102
+ $.fancybox({
103
+ autoDimension: true,
104
+ href: $this.attr('href'),
105
+ type: 'ajax',
106
+ closeBtn: false,
107
+ showCloseButton: false
108
+ });
109
+ return false;
110
+ });
111
 
112
  //reload orderDetail
113
  $(document).on('click', '.yrsButton:not(.yrsButton-order-detail):not(.yrsOrderDetailButton)'
js/youstice/products.js CHANGED
@@ -21,6 +21,6 @@ jQuery(document).ready(function($) {
21
 
22
  });
23
 
24
- function showAjaxSpinner(where) {console.log(where);
25
  jQuery(where).append('<div class="y-ajax-spinner"></div>');
26
  }
21
 
22
  });
23
 
24
+ function showAjaxSpinner(where) {
25
  jQuery(where).append('<div class="y-ajax-spinner"></div>');
26
  }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Youstice</name>
4
- <version>1.3.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Your online youstice</description>
11
  <notes>Retail version of the youstice resolution system package</notes>
12
  <authors><author><name>Youstice</name><user>Youstice</user><email>info@youstice.com</email></author></authors>
13
- <date>2014-12-01</date>
14
- <time>19:44:19</time>
15
- <contents><target name="magecommunity"><dir name="Youstice"><dir name="YousticeResolutionSystem"><dir name="Helper"><file name="ApiSingleton.php" hash="37f05528eca3a4ae9dd156831e3a09a5"/></dir><dir name="SDK"><file name="Api.php" hash="e6520900b63f09a0b108a8e305473748"/><dir name="Helpers"><file name="HelperFunctions.php" hash="6b617b0dd77c96cb7c6ed52fd15b01a6"/><file name="LanguageCodes.php" hash="488fc1c06161aab5cbcb580377eea934"/></dir><file name="Local.php" hash="390bbe4fc9b244d4b6042041f361bfa5"/><file name="LocalInterface.php" hash="fcfc41d1ea328c20f54fc1baa94b673e"/><dir name="Providers"><file name="SessionProvider.php" hash="90d811d9d73a0651af38c2df00b91467"/><file name="SessionProviderInterface.php" hash="3ade50afbcedc08f75880735d8d2d5ab"/></dir><file name="Remote.php" hash="0f855abefc77db5b39473fc02bb573cd"/><dir name="Reports"><file name="BaseReport.php" hash="e78e9b72a9ee74ec85cb0b999770a660"/><file name="OrderReport.php" hash="668d077abe681e561b241af863eb593e"/><file name="ProductReport.php" hash="d80b87d96e692be612797f5093daaff0"/><file name="WebReport.php" hash="a4059750c3b4bdb3678048a11fe35ec2"/></dir><file name="Request.php" hash="a98a6da248643ff7566a437c554852fb"/><file name="ShopItem.php" hash="6ca5e4db6310e70ff7af47e4b68db893"/><file name="ShopOrder.php" hash="93022b12b71a6d569f28c46bfdf149d0"/><file name="ShopProduct.php" hash="c3d4fac07e260945e8add8907d1acf33"/><file name="SimpleApi.php" hash="8cd5fd640fc4638f94728e2df17bc96d"/><file name="Tools.php" hash="cd5150d93f83d31effa08449499c9b71"/><file name="Translator.php" hash="72dec403567aecb42b754f228cc98cd9"/><dir name="Widgets"><file name="OrderDetail.php" hash="7dcee72310b3d78af5db714307a33c47"/><file name="OrderDetailButton.php" hash="4f5cb8942b95a7c907dcfc3cd2bd6301"/><file name="OrderReportButton.php" hash="b0a3f58aa55023d9a42bdfbc8dcd1f9a"/><file name="ProductReportButton.php" hash="cb97d9630a9ba947f5fb560d42797628"/><file name="ReportClaimsForm.php" hash="fb95a3dce472b26442cfe8a2e32afe61"/><file name="ShowButtons.php" hash="8c5104a61e0d4911838f289b13d965ef"/><file name="WebReportButton.php" hash="109aee1464d97f4591adac8201b30691"/></dir><dir name="languageStrings"><file name="cs.php" hash="137d169ec9d269424dfcd44f2bc769db"/><file name="de.php" hash="1b66bca822920d65cd4e12134563d224"/><file name="en.php" hash="dfc069713347240cfba4e816bfe650eb"/><file name="es.php" hash="cf09b06a66b4de31dfd29864c7e6228c"/><file name="fr.php" hash="8f86d317f50747741f7cfe5df77e2916"/><file name="pt.php" hash="410fb0ae6a938454c1ba097ba176c4a1"/><file name="ru.php" hash="0c0f9910d427fb69c3b9feb7cdab1625"/><file name="sk.php" hash="0984ad5170a1ec501003ab5ffac7c270"/></dir></dir><dir name="controllers"><file name="AdminController.php" hash="d4e954f584344af090a8ff76dc2b2fcf"/><file name="IndexController.php" hash="ffb2085247624302999c90bf754d869d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="cedaa07c7d693302a23daaad79fcca3d"/><file name="config.xml" hash="4bec55f4cbb26f9d8cc22c98164ab5bd"/></dir><dir name="sql"><dir name="youstice_setup"><file name="mysql4-install-0.9.8.php" hash="819cb1bb6743e9765910c1123ab3d4e2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="youstice_layout_update.xml" hash="1cb43a482e15bea8cd356999d8b66f3e"/></dir><dir name="template"><dir name="youstice"><file name="baseUrl.phtml" hash="3d4dacc70fad8853838edb17774750a3"/><file name="reportClaims.phtml" hash="91251ca1bb8a9e6f6453ca7e979f53fb"/><file name="reportClaimsOgTags.phtml" hash="c149c54db5885d8045eff405dac24c2e"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="youstice_layout_update.xml" hash="f5a64acda38bcb12c039fe13f340f9de"/></dir><dir name="template"><dir name="youstice"><file name="adminForm.phtml" hash="addd6f35040d09fceef377790bd0ba08"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Youstice_YousticeResolutionSystem.xml" hash="96f910a20f7fa55ccd25f82da9974341"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="youstice.css" hash="f3097f288d6a174cac14afc90a692bb9"/><file name="youstice_magento.css" hash="9a88cdb943794db3fa4d2f171ce83d63"/><dir name="fancybox"><file name="blank.gif" hash="325472601571f31e1bf00674c368d335"/><file name="fancybox_loading.gif" hash="328cc0f6c78211485058d460e80f4fa8"/><file name="fancybox_loading@2x.gif" hash="f92938639fa894a0e8ded1c3368abe98"/><file name="fancybox_overlay.png" hash="77aeaa52715b898b73c74d68c630330e"/><file name="fancybox_sprite.png" hash="783d4031fe50c3d83c960911e1fbc705"/><file name="fancybox_sprite@2x.png" hash="ed9970ce22242421e66ff150aa97fe5f"/><file name="jquery.fancybox.css" hash="6c55951ce1e3115711f63f99b7501f3a"/></dir></dir><dir name="images"><dir name="youstice"><file name="logo.png" hash="64c2b8699997d46dce66e75da28c247b"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><file name="yousticeAdmin.css" hash="e2cd7aaae3dbac09a16d32221a187e14"/><dir name="images"><dir name="youstice"><file name="screenshot_1.png" hash="fd032fb3ccdc167ed588e6a962acc973"/><file name="screenshot_2.png" hash="b9c9308c0ea193cbf84d70b4635d1f22"/><file name="screenshot_3.png" hash="defd41dc513159eb5a58c26d95030fc4"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="youstice"><file name="admin.js" hash="a0d2339fd61c538eae13e731a961f795"/><file name="jquery.fancybox.js" hash="921e9cb04ad6e2559869ec845c5be39b"/><file name="jquery.min.js" hash="96ef50d4f9b32f3413c46f83c12b279e"/><file name="logoWidget.js" hash="92e0f982382f4dd47b3db05304139b5e"/><file name="orders.js" hash="60a014f7326bde99c9f587d73a8f41ba"/><file name="products.js" hash="506e5927f922cbeb2f006f575bdad9ad"/><file name="reportClaims.js" hash="2f3fce230dfc8a1c359f43df04fd83dc"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>10.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Youstice</name>
4
+ <version>1.3.9</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</license>
7
  <channel>community</channel>
10
  <description>Your online youstice</description>
11
  <notes>Retail version of the youstice resolution system package</notes>
12
  <authors><author><name>Youstice</name><user>Youstice</user><email>info@youstice.com</email></author></authors>
13
+ <date>2014-12-14</date>
14
+ <time>17:24:52</time>
15
+ <contents><target name="magecommunity"><dir name="Youstice"><dir name="YousticeResolutionSystem"><dir name="Helper"><file name="ApiSingleton.php" hash="37f05528eca3a4ae9dd156831e3a09a5"/></dir><dir name="SDK"><file name="Api.php" hash="e06a2101e1a7cc6700d5875a28df08d9"/><dir name="Helpers"><file name="HelperFunctions.php" hash="6b617b0dd77c96cb7c6ed52fd15b01a6"/><file name="LanguageCodes.php" hash="488fc1c06161aab5cbcb580377eea934"/></dir><file name="Local.php" hash="9993f464c62fc7c3421436342392875c"/><file name="LocalInterface.php" hash="fcfc41d1ea328c20f54fc1baa94b673e"/><dir name="Providers"><file name="SessionProvider.php" hash="90d811d9d73a0651af38c2df00b91467"/><file name="SessionProviderInterface.php" hash="3ade50afbcedc08f75880735d8d2d5ab"/></dir><file name="Remote.php" hash="78317afb3158c65ae2d76910953ce0a9"/><dir name="Reports"><file name="BaseReport.php" hash="e78e9b72a9ee74ec85cb0b999770a660"/><file name="OrderReport.php" hash="668d077abe681e561b241af863eb593e"/><file name="ProductReport.php" hash="d80b87d96e692be612797f5093daaff0"/><file name="WebReport.php" hash="a4059750c3b4bdb3678048a11fe35ec2"/></dir><file name="Request.php" hash="27a0322619a27fa627e6f9884db879e2"/><file name="ShopItem.php" hash="6ca5e4db6310e70ff7af47e4b68db893"/><file name="ShopOrder.php" hash="8807822040c6e2314c34598d691010ec"/><file name="ShopProduct.php" hash="c3d4fac07e260945e8add8907d1acf33"/><file name="SimpleApi.php" hash="8cd5fd640fc4638f94728e2df17bc96d"/><file name="Tools.php" hash="cd5150d93f83d31effa08449499c9b71"/><file name="Translator.php" hash="72dec403567aecb42b754f228cc98cd9"/><dir name="Widgets"><file name="OrderDetail.php" hash="7dcee72310b3d78af5db714307a33c47"/><file name="OrderDetailButton.php" hash="8d4e9a37bf356eb0142fa3c3e27eee2b"/><file name="OrderReportButton.php" hash="b0a3f58aa55023d9a42bdfbc8dcd1f9a"/><file name="OrdersPage.php" hash="e564e2465e79c0e667a532efc5e15cf3"/><file name="ProductReportButton.php" hash="cb97d9630a9ba947f5fb560d42797628"/><file name="ReportClaimsForm.php" hash="fb95a3dce472b26442cfe8a2e32afe61"/><file name="ShowButtons.php" hash="8c5104a61e0d4911838f289b13d965ef"/><file name="WebReportButton.php" hash="109aee1464d97f4591adac8201b30691"/></dir><dir name="languageStrings"><file name="cs.php" hash="fef62157dc122372dd3ca7ba8acbcae5"/><file name="de.php" hash="00061fadd6cb73e43c549a97037e8ea4"/><file name="en.php" hash="83fabc3bb64bb46ef601ae9154ba5563"/><file name="es.php" hash="b94065c6007765ee7770b8b42d2bd46f"/><file name="fr.php" hash="75261d3f02b816f348fc83b347dbdcfa"/><file name="pt.php" hash="9b0923c7e573a55792b58de8f40a0845"/><file name="ru.php" hash="75f4d72d5decd27b9b352dfb9b0670ee"/><file name="sk.php" hash="4d2716d9d760469b3e656b594bbc2e2c"/></dir></dir><dir name="controllers"><file name="AdminController.php" hash="de146da6598df8ccfd9697c516b1044c"/><file name="IndexController.php" hash="69c88031ed132699d551f2e28f9f7fdc"/></dir><dir name="etc"><file name="adminhtml.xml" hash="cedaa07c7d693302a23daaad79fcca3d"/><file name="config.xml" hash="4bec55f4cbb26f9d8cc22c98164ab5bd"/></dir><dir name="sql"><dir name="youstice_setup"><file name="mysql4-install-0.9.8.php" hash="819cb1bb6743e9765910c1123ab3d4e2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="youstice_layout_update.xml" hash="1cb43a482e15bea8cd356999d8b66f3e"/></dir><dir name="template"><dir name="youstice"><file name="baseUrl.phtml" hash="3d4dacc70fad8853838edb17774750a3"/><file name="reportClaims.phtml" hash="91251ca1bb8a9e6f6453ca7e979f53fb"/><file name="reportClaimsOgTags.phtml" hash="c149c54db5885d8045eff405dac24c2e"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="youstice_layout_update.xml" hash="f5a64acda38bcb12c039fe13f340f9de"/></dir><dir name="template"><dir name="youstice"><file name="adminForm.phtml" hash="cd78e7206792a9791a154cfaf721e7ac"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Youstice_YousticeResolutionSystem.xml" hash="96f910a20f7fa55ccd25f82da9974341"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="youstice.css" hash="9473797b2476eef00cb57e5780b10243"/><file name="youstice_magento.css" hash="9a88cdb943794db3fa4d2f171ce83d63"/><dir name="fancybox"><file name="blank.gif" hash="325472601571f31e1bf00674c368d335"/><file name="fancybox_loading.gif" hash="328cc0f6c78211485058d460e80f4fa8"/><file name="fancybox_loading@2x.gif" hash="f92938639fa894a0e8ded1c3368abe98"/><file name="fancybox_overlay.png" hash="77aeaa52715b898b73c74d68c630330e"/><file name="fancybox_sprite.png" hash="783d4031fe50c3d83c960911e1fbc705"/><file name="fancybox_sprite@2x.png" hash="ed9970ce22242421e66ff150aa97fe5f"/><file name="jquery.fancybox.css" hash="6c55951ce1e3115711f63f99b7501f3a"/></dir></dir><dir name="images"><dir name="youstice"><file name="logo.png" hash="64c2b8699997d46dce66e75da28c247b"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><file name="yousticeAdmin.css" hash="e2cd7aaae3dbac09a16d32221a187e14"/><dir name="images"><dir name="youstice"><file name="screenshot_1.png" hash="fd032fb3ccdc167ed588e6a962acc973"/><file name="screenshot_2.png" hash="b9c9308c0ea193cbf84d70b4635d1f22"/><file name="screenshot_3.png" hash="defd41dc513159eb5a58c26d95030fc4"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="youstice"><file name="admin.js" hash="94c0295707277b801da120abaf47b1be"/><file name="jquery.fancybox.js" hash="921e9cb04ad6e2559869ec845c5be39b"/><file name="jquery.min.js" hash="96ef50d4f9b32f3413c46f83c12b279e"/><file name="logoWidget.js" hash="92e0f982382f4dd47b3db05304139b5e"/><file name="orders.js" hash="33c3436a301b8a7646084795a4a37a9a"/><file name="products.js" hash="8dcdd7a917ec0a095bfc1447cbed0c01"/><file name="reportClaims.js" hash="2f3fce230dfc8a1c359f43df04fd83dc"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>10.0.0</max></php></required></dependencies>
18
  </package>
skin/frontend/base/default/css/youstice.css CHANGED
@@ -142,6 +142,7 @@ form#yReportClaims p {
142
  vertical-align: middle;
143
  text-align: left;
144
  border: 0;
 
145
  }
146
 
147
  .orderDetailWrap table tr td:last-child {
@@ -167,7 +168,7 @@ form#yReportClaims p {
167
  display: inline-block;
168
  background: #92278f 12px 9px no-repeat;
169
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MkM5Q0U2RjNBQkFFMzExODRGM0MxMjYyNzhBOThDRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMEI5QUJDN0NGQjIxMUUzOTI5Q0VGNEJENDkwMkE1NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMEI5QUJDNkNGQjIxMUUzOTI5Q0VGNEJENDkwMkE1NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDM0RBNTM1OUZDQkUzMTE4RDFDOTBDRDQyMEFCQjlEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYyQzlDRTZGM0FCQUUzMTE4NEYzQzEyNjI3OEE5OENEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PIkovQAAAwpJREFUeNqcVF1IFFEUvndnZsednXVHwiIrRWtNpCgokB6ChQjssQezoJIkUBB1/enF1x5LV1dTaB+ip8iHSujPoqcgqIcgSAp3W38yKdnZ2Z3dWWdm56dzJxVR14cuXObeO+d83z3nfOfiyNEwKjYs00LdsV6/ls43RM9E39iWjRDe2daFdhmheB8lJVLPWYGbbvvUEeya7cHFbHcFgmHTDP1Oy6iI8dGxcPVd+3+BaGQjhuYYsqZ2MywKRPIxWj+iG4YxQDEUkhbSAz1z/WxRRuIACSVs1vDhQRsGoCAETl4lqQS5PRxKxUVEe5i2e8ci7R1fu1wQooUxdq4BecTOhcDRk0qkXmWX5P7xE2NkXw6zmkwxJi6Is0nbVPUGwiDNpcbgcwBmJUxh/Pgoyiymb4P/I7RuRIYqq7aW1Ww9r9uWZTln8lKmExhLxVhynuxNw7S1nObYqRl13dVGkbow0uVCUFlRmtKLaecwPS9F4BOAWQ/hIAiZ3JQH6DpLt0+L8eQMsRPj4kdFzDcqmfw5FKl1BEniZOEfC8wJwqj8yV2GM2YkMOSQQV7Q8JFBJCWkZyBUIEvfWSsWKSnGm5Vt6ibCLoxa3rZOCtVCU24l1+Tb55sCkAIkn4FcPBaqhItaKt/sKeefAkmB2G8rP+WmUOhHXwnDMVNkz+/lPxOQUKKvBrYcRbtmCvkCip6NTkK4GyDFdFTQFf1mKiaugg7469M3JDj7AbeZcPP0B7fXjVrft18CQldRQRJNQagmSCTIV/g8EPoXhO1k9pfcw5ayVxiOfUmyWZBXr63lZgcgMCDC7PweqvNXCsiAEKD0Aw/PPwiUHvRHQZje7HJuyjZtZJpm40jtkGYZ1nYgQzUQSKc+u5z9Bh2f5cq9Jf5DwiDJG1RNgZzky2rKmlcz6gUgoq++aEl3x3vZdbANoN75Wy5NUqt8FT6EafwEWoCCMHWnFaBlSL9BlbT7p8Zfyz/l3/x+3g9uXrT2HuCtDxuEVjNxcixBqrO5KlseOzcsfZFAWMTUP5u/AgwAXbTAlNaE4y8AAAAASUVORK5CYII=);
170
- color: #fff;
171
  text-decoration: none;
172
  font-family: Arial, Helvetica, sans-serif;
173
  font-size: 16px;
@@ -182,9 +183,9 @@ form#yReportClaims p {
182
  white-space:nowrap;
183
  }
184
 
185
- .yrsButton:hover { text-decoration: none; color: #fff; }
186
 
187
- .yrsButton:active, .yrsButton:visited { color: #fff; }
188
 
189
  .yrsButton-with-time {
190
  padding: 5px 21px 5px 42px;
@@ -208,10 +209,12 @@ form#yReportClaims p {
208
  color: #92278f;
209
  }
210
 
211
- .yrsButton-order-detail:active, .yrsButton-order-detail:visited {color: #92278f;}
212
-
213
- .yrsButton-order-detail:hover {
214
- color: #92278f;
 
 
215
  }
216
 
217
  .yrsButton-plus, .yrsButton-close {
@@ -257,4 +260,41 @@ form#yReportClaims p {
257
  background-image: url(data:image/gif;base64,R0lGODlhEAAQAPIAAP///4wjiePK4qlbp4wjibd3tsaTxM2gzCH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==);
258
  background-position: center;
259
  background-repeat: no-repeat;
260
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  vertical-align: middle;
143
  text-align: left;
144
  border: 0;
145
+ color: #000;
146
  }
147
 
148
  .orderDetailWrap table tr td:last-child {
168
  display: inline-block;
169
  background: #92278f 12px 9px no-repeat;
170
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MkM5Q0U2RjNBQkFFMzExODRGM0MxMjYyNzhBOThDRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMEI5QUJDN0NGQjIxMUUzOTI5Q0VGNEJENDkwMkE1NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMEI5QUJDNkNGQjIxMUUzOTI5Q0VGNEJENDkwMkE1NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNDM0RBNTM1OUZDQkUzMTE4RDFDOTBDRDQyMEFCQjlEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYyQzlDRTZGM0FCQUUzMTE4NEYzQzEyNjI3OEE5OENEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PIkovQAAAwpJREFUeNqcVF1IFFEUvndnZsednXVHwiIrRWtNpCgokB6ChQjssQezoJIkUBB1/enF1x5LV1dTaB+ip8iHSujPoqcgqIcgSAp3W38yKdnZ2Z3dWWdm56dzJxVR14cuXObeO+d83z3nfOfiyNEwKjYs00LdsV6/ls43RM9E39iWjRDe2daFdhmheB8lJVLPWYGbbvvUEeya7cHFbHcFgmHTDP1Oy6iI8dGxcPVd+3+BaGQjhuYYsqZ2MywKRPIxWj+iG4YxQDEUkhbSAz1z/WxRRuIACSVs1vDhQRsGoCAETl4lqQS5PRxKxUVEe5i2e8ci7R1fu1wQooUxdq4BecTOhcDRk0qkXmWX5P7xE2NkXw6zmkwxJi6Is0nbVPUGwiDNpcbgcwBmJUxh/Pgoyiymb4P/I7RuRIYqq7aW1Ww9r9uWZTln8lKmExhLxVhynuxNw7S1nObYqRl13dVGkbow0uVCUFlRmtKLaecwPS9F4BOAWQ/hIAiZ3JQH6DpLt0+L8eQMsRPj4kdFzDcqmfw5FKl1BEniZOEfC8wJwqj8yV2GM2YkMOSQQV7Q8JFBJCWkZyBUIEvfWSsWKSnGm5Vt6ibCLoxa3rZOCtVCU24l1+Tb55sCkAIkn4FcPBaqhItaKt/sKeefAkmB2G8rP+WmUOhHXwnDMVNkz+/lPxOQUKKvBrYcRbtmCvkCip6NTkK4GyDFdFTQFf1mKiaugg7469M3JDj7AbeZcPP0B7fXjVrft18CQldRQRJNQagmSCTIV/g8EPoXhO1k9pfcw5ayVxiOfUmyWZBXr63lZgcgMCDC7PweqvNXCsiAEKD0Aw/PPwiUHvRHQZje7HJuyjZtZJpm40jtkGYZ1nYgQzUQSKc+u5z9Bh2f5cq9Jf5DwiDJG1RNgZzky2rKmlcz6gUgoq++aEl3x3vZdbANoN75Wy5NUqt8FT6EafwEWoCCMHWnFaBlSL9BlbT7p8Zfyz/l3/x+3g9uXrT2HuCtDxuEVjNxcixBqrO5KlseOzcsfZFAWMTUP5u/AgwAXbTAlNaE4y8AAAAASUVORK5CYII=);
171
+ color: #fff !important;
172
  text-decoration: none;
173
  font-family: Arial, Helvetica, sans-serif;
174
  font-size: 16px;
183
  white-space:nowrap;
184
  }
185
 
186
+ .yrsButton:hover { text-decoration: none; color: #fff !important; }
187
 
188
+ .yrsButton:active, .yrsButton:link, .yrsButton:visited { color: #fff !important; }
189
 
190
  .yrsButton-with-time {
191
  padding: 5px 21px 5px 42px;
209
  color: #92278f;
210
  }
211
 
212
+ .yrsButton-order-detail:active,
213
+ .yrsButton-order-detail:link,
214
+ .yrsButton-order-detail:visited,
215
+ .yrsButton-order-detail:hover
216
+ {
217
+ color: #92278f !important;
218
  }
219
 
220
  .yrsButton-plus, .yrsButton-close {
260
  background-image: url(data:image/gif;base64,R0lGODlhEAAQAPIAAP///4wjiePK4qlbp4wjibd3tsaTxM2gzCH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==);
261
  background-position: center;
262
  background-repeat: no-repeat;
263
+ }
264
+
265
+
266
+ /* TODO partial fix */
267
+ #fancybox-inner {
268
+ overflow-x: hidden !important;
269
+ }
270
+
271
+
272
+ .ordersPageWrap {
273
+ min-width: 890px;
274
+ }
275
+
276
+ .ordersPageWrap h1 {
277
+ margin-bottom: 40px;
278
+ }
279
+
280
+ .ordersPageWrap .topRightWrap .yrsButton {
281
+ position: relative;
282
+ top: 68px;
283
+ }
284
+
285
+ .ordersPageWrap .topRightWrap .space {
286
+ display: none;
287
+ }
288
+
289
+ .ordersPageWrap .topRightWrap .yrsButton-close {
290
+ float: right;
291
+ position: static;
292
+ }
293
+
294
+ .ordersPageWrap .orderDetailButtonWrap {
295
+ position: relative;
296
+ }
297
+
298
+ .ordersPageWrap table tr td:last-child a {
299
+ float: none;
300
+ }