Orbitvu_Sun - Version 1.0.6

Version Notes

-intrastic gallery added
-license update
-thumbnails scroll fix
-added thumbnail padding option
-enable/disable scroll
-added disable/enable all orbitvu thumbnails option

Download this release

Release Info

Developer Développeurs EnvoiMoinsCher.com
Extension Orbitvu_Sun
Version 1.0.6
Comparing to
See all releases


Code changes from version 1.0.5 to 1.0.6

ORBITVU-SUN-PRODUCT-TELEPORTING-EN.pdf ADDED
Binary file
app/code/community/Orbitvu/Sun/Block/Scroll.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category Orbitvu
4
+ * @package Orbitvu_SelfHosted
5
+ * @copyright Copyright (C) 2014 Orbitvu (http://www.orbitvu.com)
6
+ * @license http://www.orbitvu.com/plugins/license
7
+ * @version 1.0.0
8
+ */
9
+
10
+ class Orbitvu_Sun_Block_Scroll
11
+ {
12
+
13
+ /*
14
+ * Options list
15
+ */
16
+ public function OrbitvuScrollOptions() {
17
+ return array(
18
+ 'yes' => Mage::helper('adminhtml')->__('Enable thumbnails scroll'),
19
+ 'no' => Mage::helper('adminhtml')->__('Display thumbnails inline (without scroll)')
20
+ );
21
+ }
22
+
23
+ /**
24
+ * Options getter
25
+ *
26
+ * @return array
27
+ */
28
+ public function toOptionArray() {
29
+ $array = $this->OrbitvuScrollOptions();
30
+
31
+ $ret = array();
32
+ foreach ($array as $key => $value) {
33
+ $ret[] = array(
34
+ 'value' => $key,
35
+ 'label' => $value
36
+ );
37
+ }
38
+
39
+ return $ret;
40
+ }
41
+
42
+ /**
43
+ * Get options in "key-value" format
44
+ *
45
+ * @return array
46
+ */
47
+ public function toArray() {
48
+ return $this->OrbitvuScrollOptions();
49
+ }
50
+ }
51
+ ?>
app/code/community/Orbitvu/Sun/controllers/OrbitvuDatabaseDriver.php CHANGED
@@ -124,10 +124,12 @@ class OrbitvuDatabaseDriver {
124
  'img_width' => Mage::getStoreConfig('orbitvu/layout/img_width'),
125
  'img_height' => Mage::getStoreConfig('orbitvu/layout/img_height'),
126
  'img_width_zoom' => Mage::getStoreConfig('orbitvu/layout/img_width_zoom'),
127
- 'img_height_zoom' => Mage::getStoreConfig('orbitvu/layout/img_height_zoom'),
 
128
  'img_width_tn' => Mage::getStoreConfig('orbitvu/layout/img_width_tn'),
129
  'img_height_tn' => Mage::getStoreConfig('orbitvu/layout/img_height_tn'),
130
- 'img_tn_margin' => Mage::getStoreConfig('orbitvu/layout/img_tn_margin'),
 
131
  'button_width' => Mage::getStoreConfig('orbitvu/layout/button_width'),
132
  'button_height' => Mage::getStoreConfig('orbitvu/layout/button_height'),
133
  'button_opacity' => Mage::getStoreConfig('orbitvu/layout/button_opacity'),
@@ -219,7 +221,9 @@ class OrbitvuDatabaseDriver {
219
  ('default', 0, 'orbitvu/layout/button_opacity', '1'),
220
  ('default', 0, 'orbitvu/layout/button_height', '53px'),
221
  ('default', 0, 'orbitvu/layout/button_width', '30px'),
 
222
  ('default', 0, 'orbitvu/layout/img_tn_margin', '3px'),
 
223
  ('default', 0, 'orbitvu/layout/img_height_tn', '50px'),
224
  ('default', 0, 'orbitvu/layout/img_width_tn', '75px'),
225
  ('default', 0, 'orbitvu/layout/img_height_zoom', '768px'),
@@ -270,9 +274,11 @@ class OrbitvuDatabaseDriver {
270
  ('img_height', '300px', 'layout', ''),
271
  ('img_width_zoom', '1024px', 'layout', ''),
272
  ('img_height_zoom', '768px', 'layout', ''),
 
273
  ('img_width_tn', '75px', 'layout', ''),
274
  ('img_height_tn', '50px', 'layout', ''),
275
  ('img_tn_margin', '3px', 'layout', ''),
 
276
  ('button_width', '30px', 'layout', ''),
277
  ('button_height', '53px', 'layout', ''),
278
  ('button_opacity', '1', 'layout', ''),
124
  'img_width' => Mage::getStoreConfig('orbitvu/layout/img_width'),
125
  'img_height' => Mage::getStoreConfig('orbitvu/layout/img_height'),
126
  'img_width_zoom' => Mage::getStoreConfig('orbitvu/layout/img_width_zoom'),
127
+ 'img_height_zoom' => Mage::getStoreConfig('orbitvu/layout/img_height_zoom'),
128
+ 'scroll' => Mage::getStoreConfig('orbitvu/layout/scroll'),
129
  'img_width_tn' => Mage::getStoreConfig('orbitvu/layout/img_width_tn'),
130
  'img_height_tn' => Mage::getStoreConfig('orbitvu/layout/img_height_tn'),
131
+ 'img_tn_margin' => Mage::getStoreConfig('orbitvu/layout/img_tn_margin'),
132
+ 'img_tn_padding' => Mage::getStoreConfig('orbitvu/layout/img_tn_padding'),
133
  'button_width' => Mage::getStoreConfig('orbitvu/layout/button_width'),
134
  'button_height' => Mage::getStoreConfig('orbitvu/layout/button_height'),
135
  'button_opacity' => Mage::getStoreConfig('orbitvu/layout/button_opacity'),
221
  ('default', 0, 'orbitvu/layout/button_opacity', '1'),
222
  ('default', 0, 'orbitvu/layout/button_height', '53px'),
223
  ('default', 0, 'orbitvu/layout/button_width', '30px'),
224
+ ('default', 0, 'orbitvu/layout/scroll', 'yes'),
225
  ('default', 0, 'orbitvu/layout/img_tn_margin', '3px'),
226
+ ('default', 0, 'orbitvu/layout/img_tn_padding', '2px'),
227
  ('default', 0, 'orbitvu/layout/img_height_tn', '50px'),
228
  ('default', 0, 'orbitvu/layout/img_width_tn', '75px'),
229
  ('default', 0, 'orbitvu/layout/img_height_zoom', '768px'),
274
  ('img_height', '300px', 'layout', ''),
275
  ('img_width_zoom', '1024px', 'layout', ''),
276
  ('img_height_zoom', '768px', 'layout', ''),
277
+ ('scroll', 'yes', 'layout', ''),
278
  ('img_width_tn', '75px', 'layout', ''),
279
  ('img_height_tn', '50px', 'layout', ''),
280
  ('img_tn_margin', '3px', 'layout', ''),
281
+ ('img_tn_padding', '2px', 'layout', ''),
282
  ('button_width', '30px', 'layout', ''),
283
  ('button_height', '53px', 'layout', ''),
284
  ('button_opacity', '1', 'layout', ''),
app/code/community/Orbitvu/Sun/etc/config.xml CHANGED
@@ -9,7 +9,7 @@
9
  <config>
10
  <modules>
11
  <Orbitvu_Sun>
12
- <version>1.0.5</version>
13
  </Orbitvu_Sun>
14
  </modules>
15
  <global>
9
  <config>
10
  <modules>
11
  <Orbitvu_Sun>
12
+ <version>1.0.6</version>
13
  </Orbitvu_Sun>
14
  </modules>
15
  <global>
app/code/community/Orbitvu/Sun/etc/system.xml CHANGED
@@ -234,6 +234,17 @@
234
  <show_in_store>0</show_in_store>
235
  </img_height_zoom>
236
 
 
 
 
 
 
 
 
 
 
 
 
237
  <img_width_tn translate="label comment">
238
  <label>Thumbnail width</label>
239
  <comment><![CDATA[Recommended: <strong>75px</strong>]]></comment>
@@ -262,6 +273,16 @@
262
  <show_in_store>0</show_in_store>
263
  </img_tn_margin>
264
 
 
 
 
 
 
 
 
 
 
 
265
  <button_width translate="label comment">
266
  <label>Button prev/next width</label>
267
  <comment><![CDATA[Recommended: <strong>30px</strong>]]></comment>
234
  <show_in_store>0</show_in_store>
235
  </img_height_zoom>
236
 
237
+ <scroll translate="label comment">
238
+ <label>Thumbnails scroll type</label>
239
+ <comment><![CDATA[Enable or disable thumbnails scroll]]></comment>
240
+ <frontend_type>select</frontend_type>
241
+ <source_model>Orbitvu_Sun_Block_Scroll</source_model>
242
+ <sort_order>78</sort_order>
243
+ <show_in_default>1</show_in_default>
244
+ <show_in_website>0</show_in_website>
245
+ <show_in_store>0</show_in_store>
246
+ </scroll>
247
+
248
  <img_width_tn translate="label comment">
249
  <label>Thumbnail width</label>
250
  <comment><![CDATA[Recommended: <strong>75px</strong>]]></comment>
273
  <show_in_store>0</show_in_store>
274
  </img_tn_margin>
275
 
276
+ <img_tn_padding translate="label comment">
277
+ <label>Thumbnail padding</label>
278
+ <comment><![CDATA[Recommended: <strong>0px</strong>]]></comment>
279
+ <frontend_type>text</frontend_type>
280
+ <sort_order>100</sort_order>
281
+ <show_in_default>1</show_in_default>
282
+ <show_in_website>0</show_in_website>
283
+ <show_in_store>0</show_in_store>
284
+ </img_tn_padding>
285
+
286
  <button_width translate="label comment">
287
  <label>Button prev/next width</label>
288
  <comment><![CDATA[Recommended: <strong>30px</strong>]]></comment>
app/code/community/Orbitvu/Sun/sql/sun_setup/{mysql4-upgrade-1.0.0-1.0.5.php → mysql4-install-1.0.6.php} RENAMED
@@ -12,6 +12,12 @@
12
 
13
  $installer = $this;
14
  $installer->startSetup();
 
 
 
 
 
 
15
 
16
  $installer->endSetup();
17
  ?>
12
 
13
  $installer = $this;
14
  $installer->startSetup();
15
+
16
+ $inc = Mage::getBaseDir('app').'/code/community/Orbitvu/Sun/controllers/OrbitvuAdmin.php';
17
+ include_once($inc);
18
+
19
+ $_Orbitvu = new OrbitvuAdmin(false);
20
+ $_Orbitvu->Install();
21
 
22
  $installer->endSetup();
23
  ?>
app/code/community/Orbitvu/Sun/sql/sun_setup/mysql4-upgrade-1.0.1-1.0.3.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
- /**
3
- * Orbitvu PHP eCommerce Orbitvu DB drivers
4
- * @Copyright: Orbitvu Sp. z o.o. is the owner of full rights to this code
5
- *
6
- * @For: Magento
7
- */
8
-
9
- /*
10
- * Start installation
11
- */
12
-
13
- $installer = $this;
14
- $installer->startSetup();
15
-
16
- $installer->endSetup();
17
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Orbitvu/Sun/sql/sun_setup/mysql4-upgrade-1.0.1-1.0.4.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
- /**
3
- * Orbitvu PHP eCommerce Orbitvu DB drivers
4
- * @Copyright: Orbitvu Sp. z o.o. is the owner of full rights to this code
5
- *
6
- * @For: Magento
7
- */
8
-
9
- /*
10
- * Start installation
11
- */
12
-
13
- $installer = $this;
14
- $installer->startSetup();
15
-
16
- $installer->endSetup();
17
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Orbitvu/Sun/sql/sun_setup/mysql4-upgrade-1.0.1-1.0.5.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
- /**
3
- * Orbitvu PHP eCommerce Orbitvu DB drivers
4
- * @Copyright: Orbitvu Sp. z o.o. is the owner of full rights to this code
5
- *
6
- * @For: Magento
7
- */
8
-
9
- /*
10
- * Start installation
11
- */
12
-
13
- $installer = $this;
14
- $installer->startSetup();
15
-
16
- $installer->endSetup();
17
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Orbitvu/Sun/sql/sun_setup/{mysql4-upgrade-1.0.0-1.0.2.php → mysql4-upgrade-1.0.2-1.0.3.php} RENAMED
File without changes
app/code/community/Orbitvu/Sun/sql/sun_setup/{mysql4-upgrade-1.0.0-1.0.3.php → mysql4-upgrade-1.0.3-1.0.4.php} RENAMED
File without changes
app/code/community/Orbitvu/Sun/sql/sun_setup/{mysql4-upgrade-1.0.0-1.0.4.php → mysql4-upgrade-1.0.4-1.0.5.php} RENAMED
File without changes
app/code/community/Orbitvu/Sun/sql/sun_setup/mysql4-upgrade-1.0.5-1.0.6.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Orbitvu PHP eCommerce Orbitvu DB drivers
4
+ * @Copyright: Orbitvu Sp. z o.o. is the owner of full rights to this code
5
+ *
6
+ * @For: Magento
7
+ */
8
+
9
+ /*
10
+ * Start installation
11
+ */
12
+
13
+ $installer = $this;
14
+ $installer->startSetup();
15
+
16
+ $installer->run("INSERT IGNORE INTO {$this->getTable('core_config_data')} (`path`, `value`) VALUES ('orbitvu/layout/scroll', 'yes')");
17
+ $installer->run("INSERT IGNORE INTO {$this->getTable('core_config_data')} (`path`, `value`) VALUES ('orbitvu/layout/img_tn_padding', '2px')");
18
+ $installer->run("INSERT IGNORE INTO {$this->getTable('orbitvu_configuration')} (`var`, `value`, `type`, `info`) VALUES ('scroll', 'yes', 'layout', '')");
19
+ $installer->run("INSERT IGNORE INTO {$this->getTable('orbitvu_configuration')} (`var`, `value`, `type`, `info`) VALUES ('img_tn_padding', '2px', 'layout', '')");
20
+
21
+ $installer->endSetup();
22
+ ?>
app/design/adminhtml/default/default/template/sun/orbitvu.phtml CHANGED
@@ -12,9 +12,9 @@
12
 
13
  $__templates = array(
14
  //-------------------------------------------------------------------------------------------------------
15
- 'presentation_item' =>
16
  //-------------------------------------------------------------------------------------------------------
17
- '
18
  <div class="orbitvu_sun_presentation"{parameters}>
19
  <img src="{image_path}?width=100&amp;height=80&amp;action=crop" alt="">
20
  <div class="presentation_data">
@@ -27,9 +27,9 @@ $__templates = array(
27
  </div>
28
  ',
29
  //-------------------------------------------------------------------------------------------------------
30
- 'magento_section_start' =>
31
  //-------------------------------------------------------------------------------------------------------
32
- '
33
  <div class="entry-edit">
34
  <div class="entry-edit-head">
35
  <h4 class="icon-head head-edit-form fieldset-legend">{name}</h4>
@@ -39,14 +39,14 @@ $__templates = array(
39
  <div class="hor-scroll">
40
  ',
41
  //-------------------------------------------------------------------------------------------------------
42
- 'magento_section_end' =>
43
  //-------------------------------------------------------------------------------------------------------
44
- '
45
  </div>
46
  </fieldset>
47
  </div>
48
  '
49
-
50
  );
51
 
52
  /*
@@ -143,7 +143,7 @@ if ($_action == 'set_presentation' && $request->getParam('presentation_id') > 0)
143
  $_Orbitvu->SynchronizeProductPresentation($product_id, intval($request->getParam('presentation_id')), $cur_pres->results[0]->name);
144
  $_Orbitvu->SetSunPresentationSku(intval($request->getParam('presentation_id')), $product_sku, $cur_pres->results[0]->sku);
145
  //$observer->UpdateThumbnails($product_id);
146
-
147
  $observer->RedirectAlias('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/');
148
  }
149
  else if ($_action == 'unlink') {
@@ -153,7 +153,7 @@ else if ($_action == 'unlink') {
153
  }
154
  else if ($_action == 'update_priority' && $request->getParam('sun_item_id') > 0 && $request->getParam('sun_priority')) {
155
  $_Orbitvu->UpdatePresentationItemPriority(
156
- intval($request->getParam('sun_item_id')),
157
  intval($request->getParam('sun_priority'))
158
  );
159
  //$observer->UpdateThumbnails($product_id);
@@ -174,7 +174,7 @@ else if ($_action == 'set_sku' && $request->getParam('presentation_id') > 0 && $
174
  else if ($_action == 'update_status' && $request->getParam('sun_item_id') > 0) {
175
  if ($request->getParam('sun_status') == 'active') $sun_status = 'active';
176
  else $sun_status = 'inactive';
177
-
178
  $_Orbitvu->UpdatePresentationItemStatus(intval($request->getParam('sun_item_id')), $sun_status);
179
  //$observer->UpdateThumbnails($product_id);
180
  echo '200 OK';
@@ -184,13 +184,27 @@ else if ($_action == 'update_status' && $request->getParam('sun_item_id') > 0) {
184
  else if ($_action == 'update_order' && $request->getParam('sun_item_id') > 0 && $request->getParam('sun_before_item_id') > 0) {
185
  $_Orbitvu->SwitchPresentationItemPriority(
186
  $product_id,
187
- intval($request->getParam('sun_item_id')),
188
  intval($request->getParam('sun_before_item_id'))
189
  );
190
  //$observer->UpdateThumbnails($product_id);
191
  echo '200 OK';
192
  exit();
193
  //$observer->RedirectAlias('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  }
195
  //-------------------------------------------------------------------------------------------------------
196
 
@@ -229,7 +243,7 @@ if ($up = $_Orbitvu->CheckForUpdates()) {
229
  $_messages[] = array('notice', $this->__('Version').' '.$up->new_version.' '.$this->__('of Orbitvu extension is out!').' <button type="button" class="orbitvu-button scalable"><a href="http://www.magentocommerce.com/magento-connect/orbitvu-sun-product-teleporting-image-gallery.html" target="_blank" style="color: white; text-decoration: none;"><span style="float: left; width: 16px !important; height: 16px !important; margin: 0 5px 0 0; padding: 0; background-image: url('.Mage::getBaseUrl('media').'orbitvu/white.png'.'); background-repeat: no-repeat; background-position: -64px -108px;"></span><span>'.$this->__('Upgrade now from').' '.$up->version.' '.$this->__('to').' '.$up->new_version.'</span></span></span></a></button>');
230
  }
231
  //-------------------------------------------------
232
-
233
  /*
234
  * Check if product has a presentation set
235
  */
@@ -244,7 +258,7 @@ $found_match = false;
244
  * No? Find one!
245
  */
246
  //-------------------------------------------------------------------------------------------------------
247
- if ($items_count == 0) {
248
  //-------------------------------------------------------------------------------------------------------
249
  $auto_sync = $_Orbitvu->GetConfiguration('auto_sync');
250
  $unlinked_before = false;
@@ -259,7 +273,7 @@ if ($items_count == 0) {
259
  'product_name' => $product_name,
260
  'product_sku' => $product_sku
261
  ));
262
-
263
  /*
264
  * Do not link again, if auto_sync
265
  */
@@ -278,7 +292,7 @@ if ($items_count == 0) {
278
  //-------------------------------------------------------------------------------------------------------
279
  }
280
  //-------------------------------------------------------------------------------------------------------
281
-
282
  /*
283
  * Not found? Show all
284
  */
@@ -295,19 +309,19 @@ if ($items_count == 0) {
295
  if ($request->getParam('message') == 'unlinked') {
296
  $_messages[] = array('success', $this->__('Your presentation has been unlinked. You can select a new one below.'));
297
  }
298
-
299
  $sun_params = array(
300
- 'page_size' => $OrbitvuPagerPageSize,
301
  'page' => $OrbitvuCurrentPage + 1,
302
  'ordering' => $OrbitvuOrdering
303
  );
304
-
305
  if (!empty($OrbitvuKeyword)) {
306
  $sun_params['search'] = $OrbitvuKeyword;
307
  $sun_params['page'] = 1;
308
  }
309
 
310
- $presentations_choose = $_Orbitvu->GetPresentationsList($sun_params);
311
  }
312
  //-------------------------------------------------------------------------------------------------------
313
  /*
@@ -320,38 +334,38 @@ if ($items_count == 0) {
320
  $presentation_unlinked = false;
321
  //-------------------------------------------------------------------------------------------------------
322
  $presentation_id = intval($presentations_choose->results[0]->id);
323
-
324
  /*if ($_Orbitvu->IsPresentationUnlinked($product_id, $presentation_id)) {
325
  $_messages[] = array('error', $this->__('We matched the presentation, but it was unlinked before and we don\'t set it automatically. You have to select a presentation on your own.'));
326
  }*/
327
  //-------------------------------------------------------------------------------------------------------
328
-
329
  if ($auto_sync == 'true') {
330
  //-------------------------------------------------------------------------------------------------------
331
  if (!$_Orbitvu->IsPresentationUnlinked($product_id, $presentation_id)) {
332
- $_Orbitvu->SynchronizeProductPresentation($product_id, $presentation_id, $presentations_choose->results[0]->name);
333
  $_Orbitvu->SetSunPresentationSku($presentation_id, $product_sku, $presentations_choose->results[0]->sku);
334
  //$observer->UpdateThumbnails($product_id);
335
-
336
  $observer->RedirectAlias('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_group_tab/');
337
  }
338
  //-------------------------------------------------------------------------------------------------------
339
  }
340
- else {
341
  //-------------------------------------------------------------------------------------------------------
342
  $types = $_Orbitvu->GetPresentationTypes($presentations_choose->results[0]);
343
  $new_types = array();
344
  foreach ($types as $type) {
345
  switch ($type) {
346
- case '0':
347
  $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-0" title="'.$this->__('Orbittour').'"></span>';
348
- break;
349
  case '1':
350
  $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-1" title="'.$this->__('360&deg;').'"></span>';
351
- break;
352
  default:
353
  $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-3" title="'.$this->__('2D').'"></span>';
354
- break;
355
  }
356
  }
357
  $types = $new_types;
@@ -376,13 +390,13 @@ if ($items_count == 0) {
376
  </div>
377
  <div class="orbitvu_clearfix">
378
  '.$observer->UseTemplate(array(
379
- 'parameters' => 'onclick="OrbitvuSetAction(\'sun/set_presentation/presentation_id/'.$presentations_choose->results[0]->id.'/\');"',
380
- 'image_path' => $presentations_choose->results[0]->thumbnail_url,
381
- 'name' => $str,
382
- 'sku' => $sku,
383
- 'types' => implode('', $types)
384
-
385
- ), $__templates['presentation_item']).'
386
 
387
  <div style="float: left; margin: 35px 0 0 10px;">
388
  <button type="button" class="orbitvu-button orbitvu-button-link scalable" onclick="OrbitvuSetAction(\'sun/set_presentation/presentation_id/'.$presentations_choose->results[0]->id.'/\');" style=""><span><span></span>'.$this->__('Link this presentation').'</span></button>
@@ -399,416 +413,430 @@ if ($items_count == 0) {
399
  }
400
  //--------------------------------------------------------------------------------------------------------------------------------------
401
  ?>
402
- <style type="text/css">
403
- .orbitvu_sun_presentation, .orbitvu_sun_presentation_full { float: left; width: 250px; background: white; border: 1px solid #dedede; border-radius: 5px; margin: 10px 10px 0 0; padding: 10px; cursor: pointer; }
404
- .orbitvu_sun_presentation_full { float: none; width: 100%; clear: both; overflow: hidden; zoom: 1.0; cursor: default; box-sizing: border-box; }
405
- .orbitvu_sun_presentation { border: 2px solid #1CA0B3; }
406
-
407
- .orbitvu_sun_presentation_full table { width: 100%; margin: 0; padding: 0; border: 0; }
408
- .orbitvu_sun_presentation_full table td { padding: 0; vertical-align: top; border: 0; background: white; }
409
- .orbitvu_sun_presentation:hover { box-shadow: 0 0 15px black; }
410
- .orbitvu_sun_presentation.orbitvu_nohover, .orbitvu_nohover { margin: 0 0 20px 0; border-color: #dedede; box-shadow: none; cursor: default; }
411
- .orbitvu_sun_presentation img { float: left; width: 100px; height: 80px; margin: 0 10px 0 0; border-radius: 5px; }
412
- .orbitvu_sun_presentation .presentation_data { float: left; min-height: 80px; color: black; font-weight: normal; position: relative; }
413
- .orbitvu_clearfix { clear: both; overflow: hidden; zoom: 1.0; }
414
-
415
- .orbitvu-button, .orbitvu-button-disabled { border-color: #1191A6; background: #8dd5e0; background: -moz-linear-gradient(top, #8dd5e0 0%, #009cb5 45%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8dd5e0), color-stop(45%,#009cb5)); background: -webkit-linear-gradient(top, #8dd5e0 0%,#009cb5 45%); background: -o-linear-gradient(top, #8dd5e0 0%,#009cb5 45%); background: -ms-linear-gradient(top, #8dd5e0 0%,#009cb5 45%); background: linear-gradient(to bottom, #8dd5e0 0%,#009cb5 45%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8dd5e0', endColorstr='#009cb5',GradientType=0 ); }
416
- .orbitvu-button:hover { background: #ddfaff; background: -moz-linear-gradient(top, #ddfaff 0%, #15adc6 59%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ddfaff), color-stop(59%,#15adc6)); background: -webkit-linear-gradient(top, #ddfaff 0%,#15adc6 59%); background: -o-linear-gradient(top, #ddfaff 0%,#15adc6 59%);background: -ms-linear-gradient(top, #ddfaff 0%,#15adc6 59%); background: linear-gradient(to bottom, #ddfaff 0%,#15adc6 59%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddfaff', endColorstr='#15adc6',GradientType=0 ); }
417
- .orbitvu-icon { background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/blue.png); background-repeat: no-repeat; }
418
- .orbitvu-icon-visibility { background-position: 0 -54px; }
419
- .orbitvu-icon-visibility.disabled { background-position: -22px -54px; }
420
- .orbitvu-icon-type-0 { background-position: 0 -92px; }
421
- .orbitvu-icon-type-1 { background-position: -80px -108px; }
422
- .orbitvu-icon-type-3 { background-position: -16px -92px; }
423
- .orbitvu-drag-container { clear: both; overflow: hidden; zoom: 1.0; padding: 10px; }
424
- .orbitvu-drag-box { float: left; margin: 0 10px 10px 0; width: 100px; height: 100px; position: relative; border: 2px solid #1CA0B3; font-size: 10px; cursor: default; font-family: verdana, tahoma, arial; background-color: #eee; border-radius: 5px; }
425
- #orbitvu-drag-container .orbitvu-drag-box { cursor: pointer; }
426
- .orbitvu-drag-box.hidden { border-color: #F1D6DA; opacity: 0.7; }
427
- .orbitvu-drag-box.drag { opacity: 0.2; }
428
- #orbitvu-drag-container .orbitvu-drag-box:hover { border-style: dashed; }
429
- .orbitvu-drag-box span.orbitvu-text { padding: 2px 0 2px 0; position: absolute; bottom: 0; left: 0; width: 100%; text-align: center; color: white; background: #1CA0B3; font-size: 10px; }
430
-
431
- .orbitvu-drag-box span.orbitvu-drag-text { display: none; }
432
- #orbitvu-drag-container .orbitvu-drag-box:hover span.orbitvu-drag-text { display: block; }
433
- .orbitvu-drag-box span.orbitvu-hide-text { display: none; }
434
- .orbitvu-drag-box span.orbitvu-hide-text.active { display: block; }
435
- .orbitvu-drag-box span.orbitvu-show-text { display: none; }
436
- .orbitvu-drag-box span.orbitvu-show-text.active { display: block; }
437
- .orbitvu-drag-box span.orbitvu-visibility { display: block; width: 22px; height: 22px; position: absolute; top: -7px; right: -7px; background-color: white; border-radius: 8px; cursor: pointer; }
438
- .orbitvu-drag-box span.orbitvu-visibility:hover { box-shadow: 0 0 5px black; }
439
-
440
- .orbitvu-drag-box span.orbitvu-type { display: block; width: 16px; height: 16px; position: absolute; bottom: 2px; right: 2px; }
441
-
442
- .orbitvu-button-sku { border-color: #CA6875; background: #e0b3b8; background: -moz-linear-gradient(top, #e0b3b8 0%, #ca4759 45%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e0b3b8), color-stop(45%,#ca4759)); background: -webkit-linear-gradient(top, #e0b3b8 0%,#ca4759 45%); background: -o-linear-gradient(top, #e0b3b8 0%,#ca4759 45%); background: -ms-linear-gradient(top, #e0b3b8 0%,#ca4759 45%); background: linear-gradient(to bottom, #e0b3b8 0%,#ca4759 45%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0b3b8', endColorstr='#ca4759',GradientType=0 ); }
443
- .orbitvu-button-sku:hover { background: #ffced3;background: -moz-linear-gradient(top, #ffced3 0%, #e8475d 45%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffced3), color-stop(45%,#e8475d)); background: -webkit-linear-gradient(top, #ffced3 0%,#e8475d 45%); background: -o-linear-gradient(top, #ffced3 0%,#e8475d 45%); background: -ms-linear-gradient(top, #ffced3 0%,#e8475d 45%); background: linear-gradient(to bottom, #ffced3 0%,#e8475d 45%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffced3', endColorstr='#e8475d',GradientType=0 ); }
444
- button.orbitvu-button-sku span span,
445
- button.orbitvu-button-edit span span,
446
- button.orbitvu-button-sync span span,
447
- button.orbitvu-button-unlink span span,
448
- button.orbitvu-button-link span span,
449
- button.orbitvu-button-ok span span,
450
- button.orbitvu-button-cancel span span { float: left; width: 16px; height: 16px; margin: 0 4px 0 0 !important; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/white.png) !important; background-repeat: no-repeat; }
451
-
452
- button.orbitvu-button-sku span span { background-position: -32px -108px !important; }
453
- button.orbitvu-button-edit span span { background-position: -48px -108px !important; }
454
- button.orbitvu-button-sync span span { background-position: -64px -108px !important; }
455
- button.orbitvu-button-unlink span span { background-position: -16px -108px !important; }
456
- button.orbitvu-button-link span span { background-position: 0 -108px !important; }
457
- button.orbitvu-button-ok span span { background-position: -32px -76px !important; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/black.png) !important; }
458
- button.orbitvu-button-cancel span span { background-position: -48px -76px !important; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/black.png) !important; }
459
- button.orbitvu-button-disabled { opacity: 0.5; cursor: default; }
460
- button.orbitvu-button-disabled:hover, button.orbitvu-button-disabled.active { background: url(<?=$this->getSkinUrl('images/btn_bg-disabled.gif')?>) 0px 0px repeat-x #919191 !important; opacity: 0.5 !important; }
461
- .dragstate span.orbitvu-visibility { display: none !important; }
462
-
463
- .presentation_types { width: 80px; position: absolute; bottom: 5px; left: 0; }
464
- .orbitvu-type { float: left; width: 16px; height: 16px; margin: 0 5px 0 0; }
465
-
466
- .orbitvu-icon-bg { background-color: white; border: 2px solid white; border-radius: 5px; }
467
- #orbitvu_postloader { display: none; }
468
- #orbitvu_postloader_bg { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 999998; background: white; opacity: 0.8; }
469
- #orbitvu_postloader_fg { position: fixed; width: 100%; top: 0; left: 0; z-index: 999999; text-align: center; }
470
- </style>
471
- <div id="orbitvu_postloader">
472
- <div id="orbitvu_postloader_bg"></div>
473
- <div id="orbitvu_postloader_fg"><img src="<?=Mage::getBaseUrl('media')?>orbitvu/loader.gif" style="margin-top: 150px;" alt="" /></div>
474
- </div>
475
- <script>
476
- window.onbeforeunload = function() {
477
- document.getElementById('orbitvu_postloader').style.display = 'block';
478
- }
479
- </script>
480
- <div class="entry-edit orbitvu_clearfix">
481
-
482
- <?php if ($_action != 'set_show_all' && $found_match) {
483
- echo $observer->UseTemplate(array(
484
- 'name' => $this->__('Confirm linking matched presentation')
485
-
486
- ), $__templates['magento_section_start']);
487
-
488
- ?>
489
-
490
- <?php } ?>
491
- <input type="hidden" name="synchronize_sun" value="false" id="synchronize_sun" />
492
- <div id="orbitvu_sun_content">
493
- <ul class="messages">
494
- <?php for ($i = 0, $n = count($_messages); $i < $n; $i++) { ?>
495
- <li class="<?=$_messages[$i][0]?>-msg">
496
- <ul>
497
- <li>
498
- <?=$_messages[$i][1]?>
499
- </li>
500
- </ul>
501
- </li>
502
- <?php } ?>
503
- </ul>
504
- </div>
505
-
506
- </div>
507
- <?php
 
 
 
 
508
  //--------------------------------------------------------------------------------------------------------------------------------------
509
  /*
510
  * Show tabs if match not found
511
  */
512
  //-------------------------------------------------------------------------------------------------------------------------------------
513
  if (!$found_match) {
514
- ?>
515
  <div class="grid" id="local_magento">
516
- <?php
517
- }
518
- else {
519
- ?>
520
- <div style="display: none;">
521
- <?php
522
- }
523
- //--------------------------------------------------------------------------------------------------------------------------------------
524
- /*
525
- * First time presentation setting
526
- */
527
- //--------------------------------------------------------------------------------------------------------------------------------------
528
- if ($items_count == 0 && !$found_match) {
529
- //--------------------------------------------------------------------------------------------------------------------------------------
530
-
531
- if ($orbitvu_connected) {
532
- $results = $presentations_choose->results;
533
-
534
- $OrbitvuPager = array(
535
- 'start' => $OrbitvuCurrentPage,
536
- 'size' => $OrbitvuPagerPageSize,
537
- 'all' => intval(round($presentations_choose->count / $OrbitvuPagerPageSize))
538
- );
539
-
540
- $OrbitvuPager['url_next'] = $this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/pager_start/'.($OrbitvuPager['start'] + 1));
541
- $OrbitvuPager['url_prev'] = $this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/pager_start/'.($OrbitvuPager['start'] - 1));
542
-
543
- //--------------------------------------------------------------------------------------------------------------------------------------
544
- echo $observer->UseTemplate(array(
545
- 'name' => $this->__('Select presentation from your Orbitvu SUN account to link with product').' '.$product_name
546
- ), $__templates['magento_section_start']);
547
- //--------------------------------------------------------------------------------------------------------------------------------------
548
  ?>
549
- <table cellspacing="0" class="actions" style="width: 98%; margin: 0 0 0 10px;">
550
- <tbody>
551
- <tr>
552
- <td class="pager" style="width: 350px;">
553
- <?=$this->__('Page:')?>
554
-
555
- <?php if ($OrbitvuPager['all'] > 1 && $OrbitvuPager['start']-1 >= 0) { ?>
556
- <a href="<?=$OrbitvuPager['url_prev']?>"><img src="<?=$this->getSkinUrl('images/pager_arrow_left.gif')?>" alt="" class="arrow"></a>
557
- <?php } else { ?>
558
- <img src="<?=$this->getSkinUrl('images/pager_arrow_left_off.gif')?>" alt="" class="arrow">
559
- <?php } ?>
560
 
561
- <strong><?=($OrbitvuPager['start']+1)?></strong>
 
562
 
563
- <?php if ($OrbitvuPager['all'] > 1 && $OrbitvuPager['start']+1 < $OrbitvuPager['all']) { ?>
564
- <a href="<?=$OrbitvuPager['url_next']?>"><img src="<?=$this->getSkinUrl('images/pager_arrow_right.gif')?>" alt="" class="arrow"></a>
565
- <?php } else { ?>
566
- <img src="<?=$this->getSkinUrl('images/pager_arrow_right_off.gif')?>" alt="" class="arrow">
567
- <?php } ?>
568
-
569
- <?=$this->__('of')?> <?=$OrbitvuPager['all']?>
570
- <span class="separator">|</span>
571
- <?=$this->__('Per page:')?>
572
- <select name="pager_size" onchange="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>page_size/' + this.value + '/';">
573
- <option value="20"<?=($OrbitvuPager['size'] == '20' ? ' selected="selected"' : '')?>>20</option>
574
- <option value="30"<?=($OrbitvuPager['size'] == '30' ? ' selected="selected"' : '')?>>30</option>
575
- <option value="50"<?=($OrbitvuPager['size'] == '50' ? ' selected="selected"' : '')?>>50</option>
576
- <option value="100"<?=($OrbitvuPager['size'] == '100' ? ' selected="selected"' : '')?>>100</option>
577
- <option value="200"<?=($OrbitvuPager['size'] == '200' ? ' selected="selected"' : '')?>>200</option>
578
- </select>
579
- <span class="separator">|</span>
580
- <?=$this->__('Total:')?> <?=intval($presentations_choose->count)?>
581
- </td>
582
- <td class="filter-actions">
583
- <div class="orbitvu_filters">
584
- <select name="sun_ordering" style="width: 70px;" onchange="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>sun_ordering/' + this.value + '/';">
585
- <option value="create_date"<?=($OrbitvuOrdering == 'create_date' ? ' selected="selected"' : '')?>><?=$this->__('Date')?> &uArr;</option>
586
- <option value="-create_date"<?=($OrbitvuOrdering == '-create_date' ? ' selected="selected"' : '')?>><?=$this->__('Date')?> &dArr;</option>
587
- <option value="sku"<?=($OrbitvuOrdering == 'sku' ? ' selected="selected"' : '')?>><?=$this->__('SKU')?> &uArr;</option>
588
- <option value="-sku"<?=($OrbitvuOrdering == '-sku' ? ' selected="selected"' : '')?>><?=$this->__('SKU')?> &dArr;</option>
589
- <option value="name"<?=($OrbitvuOrdering == 'name' ? ' selected="selected"' : '')?>><?=$this->__('Name')?> &uArr;</option>
590
- <option value="-name"<?=($OrbitvuOrdering == '-name' ? ' selected="selected"' : '')?>><?=$this->__('Name')?> &dArr;</option>
591
- </select>
592
- <input type="text" name="sun_search" id="orbitvu_sun_search" placeholder="<?=$this->__('Enter presentation name or SKU...')?>"<?php
593
- if (!empty($OrbitvuKeyword)) { echo ' value="'.$OrbitvuKeyword.'"'; }
594
- ?> size="30" />
595
- <button type="button" class="orbitvu-button scalable task" onclick="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>sun_keyword/' + document.getElementById('orbitvu_sun_search').value + '/';"><span><span><span><?=$this->__('Search')?></span></span></span></button>
596
- <?php if (!empty($OrbitvuKeyword)) { ?>
597
- <button type="button" class="orbitvu-button scalable task" onclick="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>sun_keyword_reset/true/';"><span><span><span><?=$this->__('Reset')?></span></span></span></button>
598
- <?php } ?>
599
- </div>
600
- </td>
601
- </tr>
602
- </tbody>
603
- </table>
604
 
 
 
605
 
606
- <div class="orbitvu_clearfix" style="padding: 10px;">
607
- <?php
608
- /*
609
- * Presentations final display
610
- */
611
- for ($i = 0, $n = count($results); $i < $n; $i++) {
612
- $cur = $results[$i];
613
-
614
- $types = $_Orbitvu->GetPresentationTypes($cur);
615
- $new_types = array();
616
- foreach ($types as $type) {
617
- switch ($type) {
618
- case '0':
619
- $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-0" title="'.$this->__('Orbittour').'"></span>';
620
- break;
621
- case '1':
622
- $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-1" title="'.$this->__('360&deg;').'"></span>';
623
- break;
624
- default:
625
- $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-3" title="'.$this->__('2D').'"></span>';
626
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
627
  }
628
  }
629
- $types = $new_types;
 
 
 
 
 
 
630
 
631
- $sku = $cur->sku;
632
  //-------------------------------------------------------------------------------------------------------
633
  if (!empty($sku)) {
634
- if (strlen($sku) > 10) {
635
- $sku = '<span title="'.$sku.'">'.mb_substr($sku, 0, 10, 'utf-8').'...</span>';
636
- }
637
  }
638
  else {
639
  $sku = '-';
640
  }
641
- //-------------------------------------------------------------------------------------------------------
642
- $str = $cur->name;
643
- if (strlen($str) > 15 ) $str = mb_substr($str, 0, 15, 'utf-8').'...';
644
- //-------------------------------------------------------------------------------------------------------
645
  echo $observer->UseTemplate(array(
646
- 'parameters' => 'onclick="if (confirm(\''.$this->__('Do you really want to link this presentation with current product?').'\')) { OrbitvuSetAction(\'sun/set_presentation/presentation_id/'.$cur->id.'/\'); }"',
647
- 'image_path' => $cur->thumbnail_url,
648
- 'name' => $str,
649
- 'sku' => $sku,
650
- 'types' => implode('', $types)
651
- ), $__templates['presentation_item']);
652
- }
653
- ?>
654
- </div>
655
- <?php
656
- }
657
- else {
658
- //--------------------------------------------------------------------------------------------------------------------------------------
659
- echo $observer->UseTemplate(array(
660
- 'name' => $product_name
661
  ), $__templates['magento_section_start']);
662
- //--------------------------------------------------------------------------------------------------------------------------------------
663
- }
664
- }
665
- else {
666
- /*************************************************************************************************************************************************
667
- * Item edit
668
- ************************************************************************************************************************************************/
669
-
670
- $presentation_sun = $_Orbitvu->GetPresentationsList(array('id' => $presentations['orbitvu_id']));
671
- $presentation_sun = $presentation_sun->results[0];
672
 
673
- $sku = $presentation_sun->sku;
674
- //-------------------------------------------------------------------------------------------------------
675
- if (!empty($sku)) {
676
- $sku = '<span title="'.$sku.'">'.$sku.'</span>';
677
- }
678
- else {
679
- $sku = '-';
680
- }
681
- //--------------------------------------------------------------------------------------------------------------------------------------
682
- echo $observer->UseTemplate(array(
683
- 'name' => $this->__('Orbitvu SUN presentation linked to current product')
684
- ), $__templates['magento_section_start']);
685
- //--------------------------------------------------------------------------------------------------------------------------------------
686
- $add_buttons = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
687
 
688
- $thumbnail = $presentations['items'][0]['thumbnail'];
689
- foreach ($presentations['items'] as $item) {
690
- if ($item['status'] == 'active') {
691
- $thumbnail = $item['thumbnail'];
692
- break;
693
- }
694
- }
695
- ?>
696
- <div class="orbitvu_sun_presentation_full">
697
- <table><td><td style="width: 1%;">
698
- <div style="position: relative;">
699
- <img src="<?=$thumbnail?>?height=200" style="margin: 0; padding: 0; border: 1px solid #dedede; border-radius: 5px;" alt="">
700
- <div style="position: absolute; bottom: 10px; right: 5px;">
 
 
 
 
 
 
 
 
 
 
 
701
  <?php
702
-
703
- $types = $presentations['types'];
704
- $new_types = array();
705
- foreach ($types as $type) {
706
- switch ($type) {
707
- case '0':
708
- $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-0 orbitvu-icon-bg" title="'.$this->__('Orbittour').'"></span>';
709
- break;
710
- case '1':
711
- $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-1 orbitvu-icon-bg" title="'.$this->__('360&deg;').'"></span>';
712
- break;
713
- default:
714
- $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-3 orbitvu-icon-bg" title="'.$this->__('2D').'"></span>';
715
- break;
716
- }
717
- }
718
- $types = $new_types;
719
-
720
- print implode('', $types);
721
- ?>
722
- </div>
723
- </div>
724
- </td><td style="padding-left: 20px;">
725
 
726
- <div class="presentation_data">
727
- <strong style="font-size: 1.5em;"><?=$presentations['name']?></strong><br>
728
-
729
- <?php if ($presentation_sun->sku != $product_sku) {
730
- $update_sku = $_Orbitvu->SetSunPresentationSku($presentations['orbitvu_id'], $product_sku, $presentation_sun->sku);
731
-
732
- if (!$update_sku && $orbitvu_connected) {
733
-
734
- if (!$orbitvu_demo) {
735
- $add_buttons .= '<button type="button" class="orbitvu-button-sku scalable" onclick="if (confirm(\''.$this->__('Do you really want to update this presentation SKU on your Orbitvu SUN account?').'\')) { OrbitvuSetAction(\'sun/set_sku/presentation_id/'.$presentations['orbitvu_id'].'/sun_new_sku/'.$product_sku.'\'); }"><span><span></span>'.$this->__('Update SKU on SUN').'</span></button> ';
736
- }
737
- else {
738
- $add_buttons .= '<button type="button" class="orbitvu-button-sku scalable disabled orbitvu-button-disabled"><span><span></span>'.$this->__('Update SKU on SUN').'</span></button> ';
739
- }
740
- ?>
741
- <strong><?=$this->__('SKU')?>:</strong> <?=$sku?><br>
742
- <ul class="messages" style="float: left; max-width: 680px;">
743
- <li class="error-msg">
744
- <ul>
745
- <li>
746
-
747
- <?=$this->__('Product\'s SKU:')?> "<?=$product_sku?>" <?=$this->__('. Presentation\'s SKU from Orbitvu SUN:')?> <?=($sku == '-' ? '""' : '"'.$sku.'"')?>. <br /> <?=$this->__('Click "Update SKU on SUN" button below to update your presentation\'s SKU from Orbitvu SUN with:')?> "<?=$product_sku?>".
748
- </li>
749
- </ul>
750
- </li>
751
- </ul>
752
- <?php } else if ($update_sku->error == '400') {
753
- ?>
754
- <strong><?=$this->__('SKU')?>:</strong> <?=$sku?><br>
755
- <ul class="messages">
756
-
757
- <li class="error-msg">
758
- <ul>
759
- <li>
760
- <?=$this->__('We can\'t change your SUN Presentation SKU. One of your presentations already has this product SKU assigned. SKU need to be unique. Modify SKU on your SUN Server.')?>
761
- </li>
762
- </ul>
763
- </li>
764
-
765
- </ul>
766
-
767
-
768
- <?php
769
-
770
- }
771
-
772
- else { ?>
773
- <strong><?=$this->__('SKU')?>:</strong> <?=$product_sku?><br>
774
- <?php
775
- }
776
- }
777
- else { ?>
778
- <strong><?=$this->__('SKU')?>:</strong> <?=$sku?><br>
779
- <?php } ?>
780
- <div class="orbitvu_clearfix" style="padding-top: 10px;">
781
- <?=$add_buttons?>
782
- <button type="button" class="orbitvu-button orbitvu-button-unlink scalable" onclick="if (confirm('<?=$this->__('Do you really want to unlink this presentation?')?>')) { OrbitvuSetAction('sun/unlink/'); }"><span><span></span><?=$this->__('Unlink this presentation')?></span></button>
783
-
784
- <button type="button" class="orbitvu-button orbitvu-button-sync scalable" onclick="SynchronizeSunItems();"><span><span></span><?=$this->__('Synchronize with SUN')?></span></button>
785
-
786
- <?php
787
- $presentation_sun = $_Orbitvu->GetPresentationsList(array('id' => $presentations['orbitvu_id']));
788
- $presentation_sun = $presentation_sun->results[0];
789
- ?>
790
-
791
- <?php if ($orbitvu_connected && !$orbitvu_demo && isset($presentation_sun->edit_url)) { ?><button type="button" class="orbitvu-button orbitvu-button-edit scalable"><span><span></span><a href="<?=$presentation_sun->edit_url?>" target="_blank" style="color: white; text-decoration: none;"><?=$this->__('Edit on SUN')?></a></span></button> <?php } else { ?><button type="button" class="orbitvu-button-edit scalable disabled orbitvu-button-disabled" disabled="disabled"><span style="padding-left: 0; background: none;"><span></span><?=$this->__('Edit on SUN')?></span></button>
792
- <?php } ?> </div>
793
- </div>
794
-
795
- </td></tr></table>
796
-
797
- <div id="<?=($items_count > 1 ? 'orbitvu-drag-container' : '')?>" class="orbitvu-drag-container" history="History1" style="border-top: 1px solid #dedede;">
798
- <?php
799
- for ($i = 0; $i < $items_count; $i++) {
800
- $items = $presentations['items'][$i];
801
-
802
- $display_id = $items['id'];
803
- ?>
804
- <div class="orbitvu-drag-box<?=($items['status'] == 'inactive' ? ' hidden' : '')?>" id="orbitvu-gallery-item-<?=$display_id?>" style="background: white url(<?=$items['thumbnail']?>?width=100) center center no-repeat;">
805
 
806
  <span class="orbitvu-icon orbitvu-type orbitvu-icon-type-<?=$items['type']?>" title="<?php
807
- switch ($items['type']) {
808
- case '0': echo $this->__('Orbittour'); break;
809
- case '1': echo $this->__('360&deg;'); break;
810
- default: echo $this->__('2D'); break;
811
- }
812
  ?>"></span>
813
 
814
  <span class="orbitvu-text orbitvu-drag-text">
@@ -822,547 +850,609 @@ for ($i = 0; $i < $items_count; $i++) {
822
  <span class="orbitvu-text orbitvu-show-text" id="orbitvu-text-show-<?=$display_id?>">
823
  <?=$this->__('Show item')?>
824
  </span>
825
-
826
-
827
-
828
- <span class="orbitvu-visibility orbitvu-icon orbitvu-icon-visibility<?=($items['status'] == 'inactive' ? ' disabled' : '')?>" id="orbitvu-visibility-trigger-<?=$display_id?>"></span>
829
- </div>
830
- <?php } ?>
831
- </div>
832
-
833
- </div>
834
- <script>
835
- function orbitvu_ajax(file, func) {
836
- var obj = null;
837
- if (window.XMLHttpRequest) obj = new XMLHttpRequest();
838
- else if (window.ActiveXObject) obj = new ActiveXObject('Microsoft.XMLHTTP');
839
- else return false;
840
-
841
- obj.onreadystatechange = function() {
842
- if (this.readyState == 4) func(this.responseText);
843
- };
844
- obj.open('GET', file, true);
845
- obj.send(null);
846
- }
847
 
848
- function orbitvu_drag_start() {
849
- if (document.getElementsByClassName('orbitvu-drag-box')) {
850
- var elems = document.getElementsByClassName('orbitvu-drag-box');
851
 
852
- for (var i = 0, n = elems.length; i < n; i++) {
853
- if (elems[i]) {
854
- elems[i].className += ' drag';
855
- }
856
- }
857
- }
858
- //orbitvu_log('Drag start!');
859
- }
860
 
861
- function orbitvu_drag_end() {
862
- if (document.getElementsByClassName('orbitvu-drag-box')) {
863
- var elems = document.getElementsByClassName('orbitvu-drag-box');
 
864
 
865
- //orbitvu_log('Drag end!');
 
 
 
 
 
 
 
 
 
 
 
 
 
866
 
867
- for (var i = 0, n = elems.length; i < n; i++) {
868
- if (elems[i]) {
869
- elems[i].className = elems[i].className.replace(' drag', '');
870
- }
871
- }
872
- }
873
- }
874
 
875
- var elems = document.getElementsByClassName('orbitvu-visibility');
 
 
 
 
 
 
 
876
 
877
- for (var i = 0, n = elems.length; i < n; i++) {
878
- elems[i].onmouseover = function() {
879
- var this_id = parseInt(this.id.replace('orbitvu-visibility-trigger-', ''));
880
 
881
- if (this.className.replace(' disabled', '') != this.className) {
882
- document.getElementById('orbitvu-text-show-' + this_id).className += ' active';
883
- document.getElementById('orbitvu-text-hide-' + this_id).className = document.getElementById('orbitvu-text-hide-' + this_id).className.replace(' active', '');
884
- }
885
- else {
886
- document.getElementById('orbitvu-text-hide-' + this_id).className += ' active';
887
- document.getElementById('orbitvu-text-show-' + this_id).className = document.getElementById('orbitvu-text-show-' + this_id).className.replace(' active', '');
888
- }
889
- }
890
-
891
- elems[i].onmouseout = function() {
892
- var this_id = parseInt(this.id.replace('orbitvu-visibility-trigger-', ''));
893
-
894
- document.getElementById('orbitvu-text-hide-' + this_id).className = document.getElementById('orbitvu-text-hide-' + this_id).className.replace(' active', '');
895
- document.getElementById('orbitvu-text-show-' + this_id).className = document.getElementById('orbitvu-text-show-' + this_id).className.replace(' active', '');
896
- }
897
-
898
- elems[i].onclick = function() {
899
- var this_id = parseInt(this.id.replace('orbitvu-visibility-trigger-', ''));
900
-
901
- if (this.className.replace(' disabled', '') != this.className) {
902
- this.className = this.className.replace(' disabled', '');
903
- document.getElementById('orbitvu-gallery-item-' + this_id).className = document.getElementById('orbitvu-gallery-item-' + this_id).className.replace(' hidden', '');
904
-
905
- orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_status/sun_item_id/' + this_id + '/sun_status/active', function(odp){});
906
- }
907
- else {
908
- this.className += ' disabled';
909
- document.getElementById('orbitvu-gallery-item-' + this_id).className += ' hidden';
910
-
911
- orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_status/sun_item_id/' + this_id, function(odp){});
912
- }
913
- }
914
- }
915
- var orbitvu_mouse_offset = null;
916
- var orbitvu_i_mouse_down = false;
917
- var orbitvu_l_mouse_state = false;
918
- var orbitvu_drag_object = null;
919
- var orbitvu_drag_drops = [];
920
- var OrbitvuCurrentTarget = null;
921
- var OrbitvuLastTarget = null;
922
- var OrbitvuDragTemp = null;
923
- var OrbitvuTempDiv = null;
924
- var OrbitvuRootParent = null;
925
- var OrbitvuRootSibling = null;
926
- var orbitvu_final_node, orbitvu_final_item_id;
927
- var OrbitvuD1Target = null;
928
-
929
- Number.prototype.NaN0 = function() {
930
- return isNaN(this) ? 0 : this;
931
- }
932
 
933
- function orbitvu_create_drag_container() {
 
 
 
 
 
 
934
 
935
- var cDrag = orbitvu_drag_drops.length;
936
- orbitvu_drag_drops[cDrag] = [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
937
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
938
 
939
- for (var i = 0; i < arguments.length; i++) {
940
- var cObj = arguments[i];
941
- orbitvu_drag_drops[cDrag].push(cObj);
942
- cObj.setAttribute('DropObj', cDrag);
943
 
 
 
 
944
 
945
- for (var j = 0; j < cObj.childNodes.length; j++) {
 
 
 
 
 
 
 
 
946
 
 
 
947
 
948
- if (cObj.childNodes[j].nodeName == '#text')
949
- continue;
 
950
 
951
- cObj.childNodes[j].setAttribute('DragObj', cDrag);
952
- }
953
- }
954
- }
955
 
956
- function orbitvu_get_position(e) {
957
- var left = 0;
958
- var top = 0;
959
- while (e.offsetParent) {
960
- left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0);
961
- top += e.offsetTop + (e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0);
962
- e = e.offsetParent;
963
- }
964
 
 
 
 
 
 
965
 
966
- left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0);
967
- top += e.offsetTop + (e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
968
 
969
- return {x: left, y: top};
970
 
971
- }
 
972
 
973
- function orbitvu_mouse_coords(ev) {
974
- if (ev.pageX || ev.pageY) {
975
- return {x: ev.pageX, y: ev.pageY};
976
- }
977
- return {
978
- x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
979
- y: ev.clientY + document.body.scrollTop - document.body.clientTop
980
- };
981
- }
982
 
983
- function orbitvu_log(object, message) {
984
- if (!object || !object.parentNode || !object.parentNode.getAttribute)
985
- return;
986
- //console.log(object.id + ': ' + message);
987
- }
988
 
989
- function orbitvu_get_mouse_offset(target, ev) {
990
- ev = ev || window.event;
991
 
992
- var docPos = orbitvu_get_position(target);
993
- var mousePos = orbitvu_mouse_coords(ev);
994
- return {x: mousePos.x - docPos.x, y: mousePos.y - docPos.y};
995
- }
996
 
997
- function orbitvu_mouse_move(ev) {
998
- ev = ev || window.event;
999
 
 
 
1000
 
1001
- var target = ev.target || ev.srcElement;
1002
- var mousePos = orbitvu_mouse_coords(ev);
 
 
1003
 
 
 
 
 
 
 
 
 
1004
 
1005
 
1006
- if (OrbitvuLastTarget && (target !== OrbitvuLastTarget)) {
1007
- //orbitvu_log(OrbitvuLastTarget, 'Mouse Out Fired');
1008
 
 
1009
 
1010
- var origClass = OrbitvuLastTarget.getAttribute('origClass');
1011
- if (origClass)
1012
- OrbitvuLastTarget.className = origClass;
1013
- }
 
 
 
 
 
 
 
1014
 
 
 
 
 
 
1015
 
1016
- var dragObj = target.getAttribute('DragObj');
 
1017
 
 
 
 
 
1018
 
1019
- if (dragObj != null) {
 
1020
 
1021
 
1022
- if (target != OrbitvuLastTarget) {
1023
- //orbitvu_log(target, 'Mouse Over Fired');
1024
 
1025
- var oClass = target.getAttribute('overClass');
1026
- if (oClass) {
1027
- target.setAttribute('origClass', target.className);
1028
- target.className = oClass;
1029
- }
1030
- }
1031
 
1032
 
1033
- if (orbitvu_i_mouse_down && !orbitvu_l_mouse_state) {
1034
- orbitvu_log(target, 'Start Dragging');
1035
 
1036
 
1037
- OrbitvuCurrentTarget = target;
 
 
 
1038
 
1039
 
1040
- OrbitvuRootParent = OrbitvuCurrentTarget.parentNode;
1041
- OrbitvuRootSibling = OrbitvuCurrentTarget.nextSibling;
1042
 
1043
- orbitvu_mouse_offset = orbitvu_get_mouse_offset(target, ev);
1044
 
 
1045
 
1046
- for (var i = 0; i < OrbitvuDragTemp.childNodes.length; i++)
1047
- OrbitvuDragTemp.removeChild(OrbitvuDragTemp.childNodes[i]);
1048
 
 
 
1049
 
1050
- OrbitvuDragTemp.appendChild(OrbitvuCurrentTarget.cloneNode(true));
1051
- //OrbitvuDragTemp.style.display = 'block';
 
 
 
 
1052
 
1053
 
1054
- var dragClass = OrbitvuCurrentTarget.getAttribute('dragClass');
1055
- if (dragClass) {
1056
- OrbitvuDragTemp.firstChild.className = dragClass;
1057
- }
1058
 
1059
 
1060
- OrbitvuDragTemp.firstChild.removeAttribute('DragObj');
1061
 
1062
 
1063
- var dragConts = orbitvu_drag_drops[dragObj];
 
1064
 
 
1065
 
1066
- OrbitvuCurrentTarget.setAttribute('startWidth', parseInt(OrbitvuCurrentTarget.offsetWidth));
1067
- OrbitvuCurrentTarget.setAttribute('startHeight', parseInt(OrbitvuCurrentTarget.offsetHeight));
1068
- OrbitvuCurrentTarget.style.display = 'none';
1069
 
1070
- for (var i = 0; i < dragConts.length; i++) {
1071
- with (dragConts[i]) {
1072
- var pos = orbitvu_get_position(dragConts[i]);
1073
 
1074
 
1075
- setAttribute('startWidth', parseInt(offsetWidth));
1076
- setAttribute('startHeight', parseInt(offsetHeight));
1077
- setAttribute('startLeft', pos.x);
1078
- setAttribute('startTop', pos.y);
1079
- }
 
 
 
 
1080
 
 
1081
 
1082
- for (var j = 0; j < dragConts[i].childNodes.length; j++) {
1083
- with (dragConts[i].childNodes[j]) {
1084
- if ((nodeName == '#text') || (dragConts[i].childNodes[j] == OrbitvuCurrentTarget))
1085
- continue;
1086
 
1087
- var pos = orbitvu_get_position(dragConts[i].childNodes[j]);
1088
 
1089
 
1090
- setAttribute('startWidth', parseInt(offsetWidth));
1091
- setAttribute('startHeight', parseInt(offsetHeight));
1092
- setAttribute('startLeft', pos.x);
1093
- setAttribute('startTop', pos.y);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1094
  }
1095
- }
1096
- }
1097
- }
1098
- }
1099
 
1100
 
1101
- if (OrbitvuCurrentTarget) {
1102
 
1103
- OrbitvuDragTemp.style.top = mousePos.y - orbitvu_mouse_offset.y;
1104
- OrbitvuDragTemp.style.left = mousePos.x - orbitvu_mouse_offset.x;
1105
 
1106
- var dragConts = orbitvu_drag_drops[OrbitvuCurrentTarget.getAttribute('DragObj')];
1107
- var activeCont = null;
1108
 
1109
- var xPos = mousePos.x - orbitvu_mouse_offset.x + (parseInt(OrbitvuCurrentTarget.getAttribute('startWidth')) / 2);
1110
- var yPos = mousePos.y - orbitvu_mouse_offset.y + (parseInt(OrbitvuCurrentTarget.getAttribute('startHeight')) / 2);
1111
 
1112
 
1113
- for (var i = 0; i < dragConts.length; i++) {
1114
- with (dragConts[i]) {
1115
- if ((parseInt(getAttribute('startLeft')) < xPos) &&
1116
- (parseInt(getAttribute('startTop')) < yPos) &&
1117
- ((parseInt(getAttribute('startLeft')) + parseInt(getAttribute('startWidth'))) > xPos) &&
1118
- ((parseInt(getAttribute('startTop')) + parseInt(getAttribute('startHeight'))) > yPos)) {
1119
 
1120
 
1121
- activeCont = dragConts[i];
1122
 
1123
 
1124
- break;
1125
- }
1126
- }
1127
- }
1128
 
1129
 
1130
- if (activeCont) {
1131
- if (activeCont != OrbitvuCurrentTarget.parentNode) {
1132
- orbitvu_log(OrbitvuCurrentTarget, 'Moved into ' + activeCont.id);
1133
- }
 
 
 
1134
 
1135
 
1136
- var beforeNode = null;
 
 
 
1137
 
1138
 
1139
- for (var i = activeCont.childNodes.length - 1; i >= 0; i--) {
1140
- with (activeCont.childNodes[i]) {
1141
- if (nodeName == '#text')
1142
- continue;
 
 
 
1143
 
1144
 
1145
- if (OrbitvuCurrentTarget != activeCont.childNodes[i] &&
1146
- ((parseInt(getAttribute('startLeft')) + parseInt(getAttribute('startWidth'))) > xPos) &&
1147
- ((parseInt(getAttribute('startTop')) + parseInt(getAttribute('startHeight'))) > yPos)) {
1148
- beforeNode = activeCont.childNodes[i];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1149
  }
1150
- }
1151
- }
1152
 
1153
 
1154
- if (beforeNode) {
1155
- if (beforeNode != OrbitvuCurrentTarget.nextSibling) {
1156
- //`orbitvu_log(OrbitvuCurrentTarget, 'Ajax action -> Insert before ' + beforeNode.id);
1157
- orbitvu_final_item_id = OrbitvuCurrentTarget.id;
1158
- orbitvu_final_node = beforeNode.id;
1159
- activeCont.insertBefore(OrbitvuCurrentTarget, beforeNode);
1160
- }
1161
 
1162
 
1163
- } else {
1164
- if ((OrbitvuCurrentTarget.nextSibling) || (OrbitvuCurrentTarget.parentNode != activeCont)) {
1165
- orbitvu_log(OrbitvuCurrentTarget, 'Inserted at end of ' + activeCont.id);
1166
 
1167
- activeCont.appendChild(OrbitvuCurrentTarget);
1168
- }
1169
- }
1170
 
 
 
 
 
 
1171
 
1172
- setTimeout(function() {
1173
- var contPos = orbitvu_get_position(activeCont);
1174
- activeCont.setAttribute('startWidth', parseInt(activeCont.offsetWidth));
1175
- activeCont.setAttribute('startHeight', parseInt(activeCont.offsetHeight));
1176
- activeCont.setAttribute('startLeft', contPos.x);
1177
- activeCont.setAttribute('startTop', contPos.y);
1178
- }, 5);
1179
-
1180
-
1181
- if (OrbitvuCurrentTarget.style.display != '') {
1182
- orbitvu_log(OrbitvuCurrentTarget, 'Made Visible');
1183
- orbitvu_drag_start();
1184
- OrbitvuCurrentTarget.style.display = '';
1185
- OrbitvuCurrentTarget.className += ' dragstate';
1186
- OrbitvuCurrentTarget.style.opacity = '1';
1187
- OrbitvuCurrentTarget.style.cursor = 'move';
1188
- OrbitvuCurrentTarget.style.borderStyle = 'dashed';
1189
- OrbitvuCurrentTarget.style.boxShadow = '0 0 15px black';
1190
- }
1191
- } else {
1192
 
 
1193
 
1194
- if (OrbitvuCurrentTarget.style.display != 'none') {
1195
- orbitvu_log(OrbitvuCurrentTarget, 'Hidden');
1196
- OrbitvuCurrentTarget.style.display = 'none';
1197
- }
1198
- }
1199
- }
1200
 
 
 
 
1201
 
1202
- orbitvu_l_mouse_state = orbitvu_i_mouse_down;
1203
 
1204
 
1205
- OrbitvuLastTarget = target;
 
 
 
1206
 
 
1207
 
1208
- if (orbitvu_drag_object) {
1209
- orbitvu_drag_object.style.position = 'absolute';
1210
- orbitvu_drag_object.style.top = mousePos.y - orbitvu_mouse_offset.y;
1211
- orbitvu_drag_object.style.left = mousePos.x - orbitvu_mouse_offset.x;
1212
- }
1213
 
 
 
 
 
1214
 
1215
- orbitvu_l_mouse_state = orbitvu_i_mouse_down;
 
 
 
1216
 
 
 
 
 
 
 
 
 
1217
 
1218
- if (OrbitvuCurrentTarget || orbitvu_drag_object)
1219
- return false;
1220
- }
 
 
 
 
1221
 
1222
- function orbitvu_mouse_up(ev) {
1223
 
 
1224
 
1225
- if (OrbitvuCurrentTarget) {
1226
- orbitvu_log(OrbitvuCurrentTarget, 'Mouse Up Fired');
1227
- orbitvu_drag_end();
1228
- orbitvu_log(OrbitvuCurrentTarget, 'orbitvu_final_item_id: ' + orbitvu_final_item_id + ' / orbitvu_final_node: ' + orbitvu_final_node + ' / final_target: ' + OrbitvuLastTarget.id);
1229
-
1230
- orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_order/sun_item_id/' + parseInt(orbitvu_final_item_id.replace('orbitvu-gallery-item-', '')) + '/sun_before_item_id/' + parseInt(orbitvu_final_node.replace('orbitvu-gallery-item-', '')), function(odp){});
1231
-
1232
- if (document.getElementById('media_gallery_content_grid')) {
1233
- var torem = document.getElementById('media_gallery_content_grid');
1234
- torem.parentNode.removeChild(torem);
1235
- }
1236
-
1237
- if (document.getElementById('media_gallery_content_save')) {
1238
- var torem2 = document.getElementById('media_gallery_content_save');
1239
- torem2.parentNode.removeChild(torem2);
1240
- }
1241
-
1242
- if (document.getElementById('media_gallery_content_save_image')) {
1243
- var torem3 = document.getElementById('media_gallery_content_save_image');
1244
- torem3.parentNode.removeChild(torem3);
1245
- }
1246
 
1247
- OrbitvuDragTemp.style.display = 'none';
1248
- if (OrbitvuCurrentTarget.style.display == 'block') {
1249
- if (OrbitvuRootSibling) {
1250
- OrbitvuRootParent.insertBefore(OrbitvuCurrentTarget, OrbitvuRootSibling);
1251
- } else {
1252
- OrbitvuRootParent.appendChild(OrbitvuCurrentTarget);
1253
- }
1254
- }
1255
-
1256
- OrbitvuCurrentTarget.style.display = '';
1257
- OrbitvuCurrentTarget.style.opacity = '';
1258
- OrbitvuCurrentTarget.style.cursor = '';
1259
- OrbitvuCurrentTarget.style.borderStyle = '';
1260
- OrbitvuCurrentTarget.style.boxShadow = '';
1261
- OrbitvuCurrentTarget.className = OrbitvuCurrentTarget.className.replace(' dragstate','');
1262
- }
1263
-
1264
- orbitvu_drag_end();
1265
-
1266
- OrbitvuCurrentTarget = null;
1267
 
 
 
1268
 
1269
- orbitvu_drag_object = null;
 
 
1270
 
1271
- orbitvu_i_mouse_down = false;
1272
- }
1273
 
1274
- function orbitvu_mouse_down(ev) {
1275
- ev = ev || window.event;
1276
- var target = ev.target || ev.srcElement;
1277
 
1278
- orbitvu_i_mouse_down = true;
 
 
 
1279
 
1280
- if (OrbitvuLastTarget) {
1281
- orbitvu_log(OrbitvuLastTarget, 'Mouse Down Fired');
1282
- }
 
 
 
 
 
 
1283
 
1284
- if (target.onmousedown || target.getAttribute('DragObj')) {
1285
- return false;
1286
- }
1287
- }
 
 
 
1288
 
1289
- function orbitvu_make_draggable(item) {
1290
- if (!item)
1291
- return;
1292
- item.onmousedown = function(ev) {
1293
- orbitvu_drag_object = this;
1294
- orbitvu_mouse_offset = orbitvu_get_mouse_offset(this, ev);
1295
- return false;
1296
- }
1297
- }
1298
 
1299
- function orbitvu_make_clickable(item) {
1300
- if (!item)
1301
- return;
1302
- item.onmousedown = function(ev) {
1303
- document.getElementById('ClickImage').value = this.name;
1304
- }
1305
- }
1306
 
1307
- function orbitvu_add_drop_target(item, target) {
1308
- item.setAttribute('droptarget', target);
1309
- }
1310
 
1311
- if (document.getElementById('orbitvu-drag-container')) {
1312
- document.onmousemove = orbitvu_mouse_move;
1313
- document.onmousedown = orbitvu_mouse_down;
1314
- document.onmouseup = orbitvu_mouse_up;
1315
 
1316
- orbitvu_create_drag_container(document.getElementById('orbitvu-drag-container'));
 
 
1317
 
1318
- OrbitvuDragTemp = document.createElement('DIV');
1319
- OrbitvuDragTemp.style.cssText = 'position:absolute;display:none;';
1320
 
1321
- document.body.appendChild(OrbitvuDragTemp);
1322
- }
1323
- </script>
1324
 
1325
 
1326
-
1327
 
1328
- </div>
1329
 
1330
-
1331
- <?php } ?>
1332
-
1333
- <?php
1334
 
1335
- //--------------------------------------------------------------------------------------------------------------------------------------
1336
- echo $observer->UseTemplate(array(), $__templates['magento_section_end']);
1337
- //--------------------------------------------------------------------------------------------------------------------------------------
1338
 
1339
- ?>
1340
-
1341
- <div style="text-align: right;">
1342
- <button type="button" class="orbitvu-button scalable"><a href="<?=$this->getUrl('*/system_config/edit/section/orbitvu/')?>" target="_blank" style="color: white; text-decoration: none;"><span style="float: left; width: 16px !important; height: 16px !important; margin: 0 5px 0 0; padding: 0; background-image: url(<?=Mage::getBaseUrl('media').'orbitvu/white.png'?>); background-repeat: no-repeat; background-position: -64px -108px;"></span><span><?=$this->__('Orbitvu Configuration')?></span></span></span></a></button>
1343
- </div>
1344
-
1345
- <script>
1346
- function SynchronizeSun() {
1347
- document.getElementById('synchronize_sun').value = 'true';
1348
- productForm.submit();
1349
- }
1350
- <?php
1351
- $ex = explode('index.php', $_SERVER['REQUEST_URI']);
1352
- $http_host = str_replace('//', '/', $ex[0]);
1353
- ?>
1354
- function RefreshSun() {
1355
- saveAndContinueEdit('<?=$this->getUrl('*/catalog_product/save/back/edit/')?>tab/{{tab_id}}/id/<?=$product_id?>/');
1356
- }
1357
 
1358
- function SynchronizeSunItems() {
1359
- saveAndContinueEdit('<?=$this->getUrl('*/catalog_product/save/back/edit/sun/synchronize_items/')?>tab/{{tab_id}}/id/<?=$product_id?>/');
1360
- }
1361
 
1362
- function OrbitvuSetAction(act) {
1363
- window.location.href = '<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/tab/' + product_info_tabsJsTabs.activeTab.id + '/' + act;
1364
- }
1365
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1366
  <?php
1367
  /*************************************************************************************************************************************************
1368
  * Scheduled actions
12
 
13
  $__templates = array(
14
  //-------------------------------------------------------------------------------------------------------
15
+ 'presentation_item' =>
16
  //-------------------------------------------------------------------------------------------------------
17
+ '
18
  <div class="orbitvu_sun_presentation"{parameters}>
19
  <img src="{image_path}?width=100&amp;height=80&amp;action=crop" alt="">
20
  <div class="presentation_data">
27
  </div>
28
  ',
29
  //-------------------------------------------------------------------------------------------------------
30
+ 'magento_section_start' =>
31
  //-------------------------------------------------------------------------------------------------------
32
+ '
33
  <div class="entry-edit">
34
  <div class="entry-edit-head">
35
  <h4 class="icon-head head-edit-form fieldset-legend">{name}</h4>
39
  <div class="hor-scroll">
40
  ',
41
  //-------------------------------------------------------------------------------------------------------
42
+ 'magento_section_end' =>
43
  //-------------------------------------------------------------------------------------------------------
44
+ '
45
  </div>
46
  </fieldset>
47
  </div>
48
  '
49
+
50
  );
51
 
52
  /*
143
  $_Orbitvu->SynchronizeProductPresentation($product_id, intval($request->getParam('presentation_id')), $cur_pres->results[0]->name);
144
  $_Orbitvu->SetSunPresentationSku(intval($request->getParam('presentation_id')), $product_sku, $cur_pres->results[0]->sku);
145
  //$observer->UpdateThumbnails($product_id);
146
+
147
  $observer->RedirectAlias('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/');
148
  }
149
  else if ($_action == 'unlink') {
153
  }
154
  else if ($_action == 'update_priority' && $request->getParam('sun_item_id') > 0 && $request->getParam('sun_priority')) {
155
  $_Orbitvu->UpdatePresentationItemPriority(
156
+ intval($request->getParam('sun_item_id')),
157
  intval($request->getParam('sun_priority'))
158
  );
159
  //$observer->UpdateThumbnails($product_id);
174
  else if ($_action == 'update_status' && $request->getParam('sun_item_id') > 0) {
175
  if ($request->getParam('sun_status') == 'active') $sun_status = 'active';
176
  else $sun_status = 'inactive';
177
+
178
  $_Orbitvu->UpdatePresentationItemStatus(intval($request->getParam('sun_item_id')), $sun_status);
179
  //$observer->UpdateThumbnails($product_id);
180
  echo '200 OK';
184
  else if ($_action == 'update_order' && $request->getParam('sun_item_id') > 0 && $request->getParam('sun_before_item_id') > 0) {
185
  $_Orbitvu->SwitchPresentationItemPriority(
186
  $product_id,
187
+ intval($request->getParam('sun_item_id')),
188
  intval($request->getParam('sun_before_item_id'))
189
  );
190
  //$observer->UpdateThumbnails($product_id);
191
  echo '200 OK';
192
  exit();
193
  //$observer->RedirectAlias('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/');
194
+ } else if ($_action == 'update_statuses' && $request->getParam('sun_items_statuses')) {
195
+ $ids = explode(",", $request->getParam('sun_items_statuses'));
196
+ if ($request->getParam('sun_status') == 'active') {
197
+ $sun_status = 'active';
198
+ } else {
199
+ $sun_status = 'inactive';
200
+ }
201
+
202
+ if ($ids) {
203
+ foreach($ids as $id) {
204
+ $_Orbitvu->UpdatePresentationItemStatus(intval($id), $sun_status);
205
+ }
206
+ }
207
+ die(json_encode(array('status' => true, 'sun_status' => $sun_status)));
208
  }
209
  //-------------------------------------------------------------------------------------------------------
210
 
243
  $_messages[] = array('notice', $this->__('Version').' '.$up->new_version.' '.$this->__('of Orbitvu extension is out!').' <button type="button" class="orbitvu-button scalable"><a href="http://www.magentocommerce.com/magento-connect/orbitvu-sun-product-teleporting-image-gallery.html" target="_blank" style="color: white; text-decoration: none;"><span style="float: left; width: 16px !important; height: 16px !important; margin: 0 5px 0 0; padding: 0; background-image: url('.Mage::getBaseUrl('media').'orbitvu/white.png'.'); background-repeat: no-repeat; background-position: -64px -108px;"></span><span>'.$this->__('Upgrade now from').' '.$up->version.' '.$this->__('to').' '.$up->new_version.'</span></span></span></a></button>');
244
  }
245
  //-------------------------------------------------
246
+
247
  /*
248
  * Check if product has a presentation set
249
  */
258
  * No? Find one!
259
  */
260
  //-------------------------------------------------------------------------------------------------------
261
+ if ($items_count == 0) {
262
  //-------------------------------------------------------------------------------------------------------
263
  $auto_sync = $_Orbitvu->GetConfiguration('auto_sync');
264
  $unlinked_before = false;
273
  'product_name' => $product_name,
274
  'product_sku' => $product_sku
275
  ));
276
+
277
  /*
278
  * Do not link again, if auto_sync
279
  */
292
  //-------------------------------------------------------------------------------------------------------
293
  }
294
  //-------------------------------------------------------------------------------------------------------
295
+
296
  /*
297
  * Not found? Show all
298
  */
309
  if ($request->getParam('message') == 'unlinked') {
310
  $_messages[] = array('success', $this->__('Your presentation has been unlinked. You can select a new one below.'));
311
  }
312
+
313
  $sun_params = array(
314
+ 'page_size' => $OrbitvuPagerPageSize,
315
  'page' => $OrbitvuCurrentPage + 1,
316
  'ordering' => $OrbitvuOrdering
317
  );
318
+
319
  if (!empty($OrbitvuKeyword)) {
320
  $sun_params['search'] = $OrbitvuKeyword;
321
  $sun_params['page'] = 1;
322
  }
323
 
324
+ $presentations_choose = $_Orbitvu->GetPresentationsList($sun_params);
325
  }
326
  //-------------------------------------------------------------------------------------------------------
327
  /*
334
  $presentation_unlinked = false;
335
  //-------------------------------------------------------------------------------------------------------
336
  $presentation_id = intval($presentations_choose->results[0]->id);
337
+
338
  /*if ($_Orbitvu->IsPresentationUnlinked($product_id, $presentation_id)) {
339
  $_messages[] = array('error', $this->__('We matched the presentation, but it was unlinked before and we don\'t set it automatically. You have to select a presentation on your own.'));
340
  }*/
341
  //-------------------------------------------------------------------------------------------------------
342
+
343
  if ($auto_sync == 'true') {
344
  //-------------------------------------------------------------------------------------------------------
345
  if (!$_Orbitvu->IsPresentationUnlinked($product_id, $presentation_id)) {
346
+ $_Orbitvu->SynchronizeProductPresentation($product_id, $presentation_id, $presentations_choose->results[0]->name);
347
  $_Orbitvu->SetSunPresentationSku($presentation_id, $product_sku, $presentations_choose->results[0]->sku);
348
  //$observer->UpdateThumbnails($product_id);
349
+
350
  $observer->RedirectAlias('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_group_tab/');
351
  }
352
  //-------------------------------------------------------------------------------------------------------
353
  }
354
+ else {
355
  //-------------------------------------------------------------------------------------------------------
356
  $types = $_Orbitvu->GetPresentationTypes($presentations_choose->results[0]);
357
  $new_types = array();
358
  foreach ($types as $type) {
359
  switch ($type) {
360
+ case '0':
361
  $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-0" title="'.$this->__('Orbittour').'"></span>';
362
+ break;
363
  case '1':
364
  $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-1" title="'.$this->__('360&deg;').'"></span>';
365
+ break;
366
  default:
367
  $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-3" title="'.$this->__('2D').'"></span>';
368
+ break;
369
  }
370
  }
371
  $types = $new_types;
390
  </div>
391
  <div class="orbitvu_clearfix">
392
  '.$observer->UseTemplate(array(
393
+ 'parameters' => 'onclick="OrbitvuSetAction(\'sun/set_presentation/presentation_id/'.$presentations_choose->results[0]->id.'/\');"',
394
+ 'image_path' => $presentations_choose->results[0]->thumbnail_url,
395
+ 'name' => $str,
396
+ 'sku' => $sku,
397
+ 'types' => implode('', $types)
398
+
399
+ ), $__templates['presentation_item']).'
400
 
401
  <div style="float: left; margin: 35px 0 0 10px;">
402
  <button type="button" class="orbitvu-button orbitvu-button-link scalable" onclick="OrbitvuSetAction(\'sun/set_presentation/presentation_id/'.$presentations_choose->results[0]->id.'/\');" style=""><span><span></span>'.$this->__('Link this presentation').'</span></button>
413
  }
414
  //--------------------------------------------------------------------------------------------------------------------------------------
415
  ?>
416
+ <style type="text/css">
417
+ .orbitvu_sun_presentation, .orbitvu_sun_presentation_full { float: left; width: 250px; background: white; border: 1px solid #dedede; border-radius: 5px; margin: 10px 10px 0 0; padding: 10px; cursor: pointer; }
418
+ .orbitvu_sun_presentation_full { float: none; width: 100%; clear: both; overflow: hidden; zoom: 1.0; cursor: default; box-sizing: border-box; }
419
+ .orbitvu_sun_presentation { border: 2px solid #1CA0B3; }
420
+
421
+ .orbitvu_sun_presentation_full table { width: 100%; margin: 0; padding: 0; border: 0; }
422
+ .orbitvu_sun_presentation_full table td { padding: 0; vertical-align: top; border: 0; background: white; }
423
+ .orbitvu_sun_presentation:hover { box-shadow: 0 0 15px black; }
424
+ .orbitvu_sun_presentation.orbitvu_nohover, .orbitvu_nohover { margin: 0 0 20px 0; border-color: #dedede; box-shadow: none; cursor: default; }
425
+ .orbitvu_sun_presentation img { float: left; width: 100px; height: 80px; margin: 0 10px 0 0; border-radius: 5px; }
426
+ .orbitvu_sun_presentation .presentation_data { float: left; min-height: 80px; color: black; font-weight: normal; position: relative; }
427
+ .orbitvu_clearfix { clear: both; overflow: hidden; zoom: 1.0; }
428
+
429
+ .orbitvu-button, .orbitvu-button-disabled { border-color: #1191A6; background: #8dd5e0; background: -moz-linear-gradient(top, #8dd5e0 0%, #009cb5 45%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8dd5e0), color-stop(45%,#009cb5)); background: -webkit-linear-gradient(top, #8dd5e0 0%,#009cb5 45%); background: -o-linear-gradient(top, #8dd5e0 0%,#009cb5 45%); background: -ms-linear-gradient(top, #8dd5e0 0%,#009cb5 45%); background: linear-gradient(to bottom, #8dd5e0 0%,#009cb5 45%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8dd5e0', endColorstr='#009cb5',GradientType=0 ); }
430
+ .orbitvu-button:hover { background: #ddfaff; background: -moz-linear-gradient(top, #ddfaff 0%, #15adc6 59%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ddfaff), color-stop(59%,#15adc6)); background: -webkit-linear-gradient(top, #ddfaff 0%,#15adc6 59%); background: -o-linear-gradient(top, #ddfaff 0%,#15adc6 59%);background: -ms-linear-gradient(top, #ddfaff 0%,#15adc6 59%); background: linear-gradient(to bottom, #ddfaff 0%,#15adc6 59%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddfaff', endColorstr='#15adc6',GradientType=0 ); }
431
+ .orbitvu-icon { background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/blue.png); background-repeat: no-repeat; }
432
+ .orbitvu-icon-visibility { background-position: 0 -54px; }
433
+ .orbitvu-icon-visibility.disabled { background-position: -22px -54px; }
434
+ .orbitvu-icon-type-0 { background-position: 0 -92px; }
435
+ .orbitvu-icon-type-1 { background-position: -80px -108px; }
436
+ .orbitvu-icon-type-3 { background-position: -16px -92px; }
437
+ .orbitvu-drag-container { clear: both; overflow: hidden; zoom: 1.0; padding: 10px; }
438
+ .orbitvu-drag-box { float: left; margin: 0 10px 10px 0; width: 100px; height: 100px; position: relative; border: 2px solid #1CA0B3; font-size: 10px; cursor: default; font-family: verdana, tahoma, arial; background-color: #eee; border-radius: 5px; }
439
+ #orbitvu-drag-container .orbitvu-drag-box { cursor: pointer; }
440
+ .orbitvu-drag-box.hidden { border-color: #F1D6DA; opacity: 0.7; }
441
+ .orbitvu-drag-box.drag { opacity: 0.2; }
442
+ #orbitvu-drag-container .orbitvu-drag-box:hover { border-style: dashed; }
443
+ .orbitvu-drag-box span.orbitvu-text { padding: 2px 0 2px 0; position: absolute; bottom: 0; left: 0; width: 100%; text-align: center; color: white; background: #1CA0B3; font-size: 10px; }
444
+
445
+ .orbitvu-drag-box span.orbitvu-drag-text { display: none; }
446
+ #orbitvu-drag-container .orbitvu-drag-box:hover span.orbitvu-drag-text { display: block; }
447
+ .orbitvu-drag-box span.orbitvu-hide-text { display: none; }
448
+ .orbitvu-drag-box span.orbitvu-hide-text.active { display: block; }
449
+ .orbitvu-drag-box span.orbitvu-show-text { display: none; }
450
+ .orbitvu-drag-box span.orbitvu-show-text.active { display: block; }
451
+ .orbitvu-drag-box span.orbitvu-visibility { display: block; width: 22px; height: 22px; position: absolute; top: -7px; right: -7px; background-color: white; border-radius: 8px; cursor: pointer; }
452
+ .orbitvu-drag-box span.orbitvu-visibility:hover { box-shadow: 0 0 5px black; }
453
+
454
+ .orbitvu-drag-box span.orbitvu-type { display: block; width: 16px; height: 16px; position: absolute; bottom: 2px; right: 2px; }
455
+
456
+ .orbitvu-button-sku { border-color: #CA6875; background: #e0b3b8; background: -moz-linear-gradient(top, #e0b3b8 0%, #ca4759 45%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e0b3b8), color-stop(45%,#ca4759)); background: -webkit-linear-gradient(top, #e0b3b8 0%,#ca4759 45%); background: -o-linear-gradient(top, #e0b3b8 0%,#ca4759 45%); background: -ms-linear-gradient(top, #e0b3b8 0%,#ca4759 45%); background: linear-gradient(to bottom, #e0b3b8 0%,#ca4759 45%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0b3b8', endColorstr='#ca4759',GradientType=0 ); }
457
+ .orbitvu-button-sku:hover { background: #ffced3;background: -moz-linear-gradient(top, #ffced3 0%, #e8475d 45%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffced3), color-stop(45%,#e8475d)); background: -webkit-linear-gradient(top, #ffced3 0%,#e8475d 45%); background: -o-linear-gradient(top, #ffced3 0%,#e8475d 45%); background: -ms-linear-gradient(top, #ffced3 0%,#e8475d 45%); background: linear-gradient(to bottom, #ffced3 0%,#e8475d 45%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffced3', endColorstr='#e8475d',GradientType=0 ); }
458
+ button.orbitvu-button-sku span span,
459
+ button.orbitvu-button-edit span span,
460
+ button.orbitvu-button-sync span span,
461
+ button.orbitvu-button-unlink span span,
462
+ button.orbitvu-button-link span span,
463
+ button.orbitvu-button-ok span span,
464
+ button.orbitvu-button-enable-items span span,
465
+ button.orbitvu-button-disable-items span span,
466
+ button.orbitvu-button-cancel span span { float: left; width: 16px; height: 16px; margin: 0 4px 0 0 !important; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/white.png) !important; background-repeat: no-repeat; }
467
+
468
+ button.orbitvu-button-sku span span { background-position: -32px -108px !important; }
469
+ button.orbitvu-button-edit span span { background-position: -48px -108px !important; }
470
+ button.orbitvu-button-sync span span { background-position: -64px -108px !important; }
471
+ button.orbitvu-button-unlink span span { background-position: -16px -108px !important; }
472
+ button.orbitvu-button-enable-items span span { background-position: 0px -76px !important; }
473
+ button.orbitvu-button-disable-items span span { background-position: -16px -76px !important; }
474
+ button.orbitvu-button-link span span { background-position: 0 -108px !important; }
475
+ button.orbitvu-button-ok span span { background-position: -32px -76px !important; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/black.png) !important; }
476
+ button.orbitvu-button-cancel span span { background-position: -48px -76px !important; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/black.png) !important; }
477
+ button.orbitvu-button-disabled { opacity: 0.5; cursor: default; }
478
+ button.orbitvu-button-disabled:hover, button.orbitvu-button-disabled.active { background: url(<?=$this->getSkinUrl('images/btn_bg-disabled.gif')?>) 0px 0px repeat-x #919191 !important; opacity: 0.5 !important; }
479
+ .dragstate span.orbitvu-visibility { display: none !important; }
480
+
481
+ .presentation_types { width: 80px; position: absolute; bottom: 5px; left: 0; }
482
+ .orbitvu-type { float: left; width: 16px; height: 16px; margin: 0 5px 0 0; }
483
+
484
+ .orbitvu-icon-bg { background-color: white; border: 2px solid white; border-radius: 5px; }
485
+ #orbitvu_postloader { display: none; }
486
+ #orbitvu_postloader_bg { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 999998; background: white; opacity: 0.8; }
487
+ #orbitvu_postloader_fg { position: fixed; width: 100%; top: 0; left: 0; z-index: 999999; text-align: center; }
488
+ </style>
489
+ <div id="orbitvu_postloader">
490
+ <div id="orbitvu_postloader_bg"></div>
491
+ <div id="orbitvu_postloader_fg"><img src="<?=Mage::getBaseUrl('media')?>orbitvu/loader.gif" style="margin-top: 150px;" alt="" /></div>
492
+ </div>
493
+ <script>
494
+ window.onbeforeunload = function() {
495
+ document.getElementById('orbitvu_postloader').style.display = 'block';
496
+ }
497
+ </script>
498
+ <div class="entry-edit orbitvu_clearfix">
499
+
500
+ <?php if ($_action != 'set_show_all' && $found_match) {
501
+ echo $observer->UseTemplate(array(
502
+ 'name' => $this->__('Confirm linking matched presentation')
503
+
504
+ ), $__templates['magento_section_start']);
505
+
506
+ ?>
507
+
508
+ <?php } ?>
509
+ <input type="hidden" name="synchronize_sun" value="false" id="synchronize_sun" />
510
+ <div id="orbitvu_sun_content">
511
+ <ul class="messages">
512
+ <?php for ($i = 0, $n = count($_messages); $i < $n; $i++) { ?>
513
+ <li class="<?=$_messages[$i][0]?>-msg">
514
+ <ul>
515
+ <li>
516
+ <?=$_messages[$i][1]?>
517
+ </li>
518
+ </ul>
519
+ </li>
520
+ <?php } ?>
521
+ </ul>
522
+ </div>
523
+
524
+ </div>
525
+ <?php
526
  //--------------------------------------------------------------------------------------------------------------------------------------
527
  /*
528
  * Show tabs if match not found
529
  */
530
  //-------------------------------------------------------------------------------------------------------------------------------------
531
  if (!$found_match) {
532
+ ?>
533
  <div class="grid" id="local_magento">
534
+ <?php
535
+ }
536
+ else {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
537
  ?>
538
+ <div style="display: none;">
539
+ <?php
540
+ }
541
+ //--------------------------------------------------------------------------------------------------------------------------------------
542
+ /*
543
+ * First time presentation setting
544
+ */
545
+ //--------------------------------------------------------------------------------------------------------------------------------------
546
+ if ($items_count == 0 && !$found_match) {
547
+ //--------------------------------------------------------------------------------------------------------------------------------------
 
548
 
549
+ if ($orbitvu_connected) {
550
+ $results = $presentations_choose->results;
551
 
552
+ $OrbitvuPager = array(
553
+ 'start' => $OrbitvuCurrentPage,
554
+ 'size' => $OrbitvuPagerPageSize,
555
+ 'all' => intval(round($presentations_choose->count / $OrbitvuPagerPageSize))
556
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
557
 
558
+ $OrbitvuPager['url_next'] = $this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/pager_start/'.($OrbitvuPager['start'] + 1));
559
+ $OrbitvuPager['url_prev'] = $this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/pager_start/'.($OrbitvuPager['start'] - 1));
560
 
561
+ //--------------------------------------------------------------------------------------------------------------------------------------
562
+ echo $observer->UseTemplate(array(
563
+ 'name' => $this->__('Select presentation from your Orbitvu SUN account to link with product').' '.$product_name
564
+ ), $__templates['magento_section_start']);
565
+ //--------------------------------------------------------------------------------------------------------------------------------------
566
+ ?>
567
+ <table cellspacing="0" class="actions" style="width: 98%; margin: 0 0 0 10px;">
568
+ <tbody>
569
+ <tr>
570
+ <td class="pager" style="width: 350px;">
571
+ <?=$this->__('Page:')?>
572
+
573
+ <?php if ($OrbitvuPager['all'] > 1 && $OrbitvuPager['start']-1 >= 0) { ?>
574
+ <a href="<?=$OrbitvuPager['url_prev']?>"><img src="<?=$this->getSkinUrl('images/pager_arrow_left.gif')?>" alt="" class="arrow"></a>
575
+ <?php } else { ?>
576
+ <img src="<?=$this->getSkinUrl('images/pager_arrow_left_off.gif')?>" alt="" class="arrow">
577
+ <?php } ?>
578
+
579
+ <strong><?=($OrbitvuPager['start']+1)?></strong>
580
+
581
+ <?php if ($OrbitvuPager['all'] > 1 && $OrbitvuPager['start']+1 < $OrbitvuPager['all']) { ?>
582
+ <a href="<?=$OrbitvuPager['url_next']?>"><img src="<?=$this->getSkinUrl('images/pager_arrow_right.gif')?>" alt="" class="arrow"></a>
583
+ <?php } else { ?>
584
+ <img src="<?=$this->getSkinUrl('images/pager_arrow_right_off.gif')?>" alt="" class="arrow">
585
+ <?php } ?>
586
+
587
+ <?=$this->__('of')?> <?=$OrbitvuPager['all']?>
588
+ <span class="separator">|</span>
589
+ <?=$this->__('Per page:')?>
590
+ <select name="pager_size" onchange="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>page_size/' + this.value + '/';">
591
+ <option value="20"<?=($OrbitvuPager['size'] == '20' ? ' selected="selected"' : '')?>>20</option>
592
+ <option value="30"<?=($OrbitvuPager['size'] == '30' ? ' selected="selected"' : '')?>>30</option>
593
+ <option value="50"<?=($OrbitvuPager['size'] == '50' ? ' selected="selected"' : '')?>>50</option>
594
+ <option value="100"<?=($OrbitvuPager['size'] == '100' ? ' selected="selected"' : '')?>>100</option>
595
+ <option value="200"<?=($OrbitvuPager['size'] == '200' ? ' selected="selected"' : '')?>>200</option>
596
+ </select>
597
+ <span class="separator">|</span>
598
+ <?=$this->__('Total:')?> <?=intval($presentations_choose->count)?>
599
+ </td>
600
+ <td class="filter-actions">
601
+ <div class="orbitvu_filters">
602
+ <select name="sun_ordering" style="width: 70px;" onchange="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>sun_ordering/' + this.value + '/';">
603
+ <option value="create_date"<?=($OrbitvuOrdering == 'create_date' ? ' selected="selected"' : '')?>><?=$this->__('Date')?> &uArr;</option>
604
+ <option value="-create_date"<?=($OrbitvuOrdering == '-create_date' ? ' selected="selected"' : '')?>><?=$this->__('Date')?> &dArr;</option>
605
+ <option value="sku"<?=($OrbitvuOrdering == 'sku' ? ' selected="selected"' : '')?>><?=$this->__('SKU')?> &uArr;</option>
606
+ <option value="-sku"<?=($OrbitvuOrdering == '-sku' ? ' selected="selected"' : '')?>><?=$this->__('SKU')?> &dArr;</option>
607
+ <option value="name"<?=($OrbitvuOrdering == 'name' ? ' selected="selected"' : '')?>><?=$this->__('Name')?> &uArr;</option>
608
+ <option value="-name"<?=($OrbitvuOrdering == '-name' ? ' selected="selected"' : '')?>><?=$this->__('Name')?> &dArr;</option>
609
+ </select>
610
+ <input type="text" name="sun_search" id="orbitvu_sun_search" placeholder="<?=$this->__('Enter presentation name or SKU...')?>"<?php
611
+ if (!empty($OrbitvuKeyword)) { echo ' value="'.$OrbitvuKeyword.'"'; }
612
+ ?> size="30" />
613
+ <button type="button" class="orbitvu-button scalable task" onclick="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>sun_keyword/' + document.getElementById('orbitvu_sun_search').value + '/';"><span><span><span><?=$this->__('Search')?></span></span></span></button>
614
+ <?php if (!empty($OrbitvuKeyword)) { ?>
615
+ <button type="button" class="orbitvu-button scalable task" onclick="window.location.href = '<?=$this->getUrl('*/catalog_product/edit/id/'.$product_id.'/back/edit/tab/product_info_tabs_tabid/sun/set_show_all/')?>sun_keyword_reset/true/';"><span><span><span><?=$this->__('Reset')?></span></span></span></button>
616
+ <?php } ?>
617
+ </div>
618
+ </td>
619
+ </tr>
620
+ </tbody>
621
+ </table>
622
+
623
+
624
+ <div class="orbitvu_clearfix" style="padding: 10px;">
625
+ <?php
626
+ /*
627
+ * Presentations final display
628
+ */
629
+ for ($i = 0, $n = count($results); $i < $n; $i++) {
630
+ $cur = $results[$i];
631
+
632
+ $types = $_Orbitvu->GetPresentationTypes($cur);
633
+ $new_types = array();
634
+ foreach ($types as $type) {
635
+ switch ($type) {
636
+ case '0':
637
+ $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-0" title="'.$this->__('Orbittour').'"></span>';
638
+ break;
639
+ case '1':
640
+ $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-1" title="'.$this->__('360&deg;').'"></span>';
641
+ break;
642
+ default:
643
+ $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-3" title="'.$this->__('2D').'"></span>';
644
+ break;
645
+ }
646
+ }
647
+ $types = $new_types;
648
+
649
+ $sku = $cur->sku;
650
+ //-------------------------------------------------------------------------------------------------------
651
+ if (!empty($sku)) {
652
+ if (strlen($sku) > 10) {
653
+ $sku = '<span title="'.$sku.'">'.mb_substr($sku, 0, 10, 'utf-8').'...</span>';
654
+ }
655
+ }
656
+ else {
657
+ $sku = '-';
658
+ }
659
+ //-------------------------------------------------------------------------------------------------------
660
+ $str = $cur->name;
661
+ if (strlen($str) > 15 ) $str = mb_substr($str, 0, 15, 'utf-8').'...';
662
+ //-------------------------------------------------------------------------------------------------------
663
+ echo $observer->UseTemplate(array(
664
+ 'parameters' => 'onclick="if (confirm(\''.$this->__('Do you really want to link this presentation with current product?').'\')) { OrbitvuSetAction(\'sun/set_presentation/presentation_id/'.$cur->id.'/\'); }"',
665
+ 'image_path' => $cur->thumbnail_url,
666
+ 'name' => $str,
667
+ 'sku' => $sku,
668
+ 'types' => implode('', $types)
669
+ ), $__templates['presentation_item']);
670
+ }
671
+ ?>
672
+ </div>
673
+ <?php
674
+ }
675
+ else {
676
+ //--------------------------------------------------------------------------------------------------------------------------------------
677
+ echo $observer->UseTemplate(array(
678
+ 'name' => $product_name
679
+ ), $__templates['magento_section_start']);
680
+ //--------------------------------------------------------------------------------------------------------------------------------------
681
  }
682
  }
683
+ else {
684
+ /*************************************************************************************************************************************************
685
+ * Item edit
686
+ ************************************************************************************************************************************************/
687
+
688
+ $presentation_sun = $_Orbitvu->GetPresentationsList(array('id' => $presentations['orbitvu_id']));
689
+ $presentation_sun = $presentation_sun->results[0];
690
 
691
+ $sku = $presentation_sun->sku;
692
  //-------------------------------------------------------------------------------------------------------
693
  if (!empty($sku)) {
694
+ $sku = '<span title="'.$sku.'">'.$sku.'</span>';
 
 
695
  }
696
  else {
697
  $sku = '-';
698
  }
699
+ //--------------------------------------------------------------------------------------------------------------------------------------
 
 
 
700
  echo $observer->UseTemplate(array(
701
+ 'name' => $this->__('Orbitvu SUN presentation linked to current product')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
702
  ), $__templates['magento_section_start']);
703
+ //--------------------------------------------------------------------------------------------------------------------------------------
704
+ $add_buttons = '';
 
 
 
 
 
 
 
 
705
 
706
+ $thumbnail = $presentations['items'][0]['thumbnail'];
707
+ foreach ($presentations['items'] as $item) {
708
+ if ($item['status'] == 'active') {
709
+ $thumbnail = $item['thumbnail'];
710
+ break;
711
+ }
712
+ }
713
+ ?>
714
+ <div class="orbitvu_sun_presentation_full">
715
+ <table><td><td style="width: 1%;">
716
+ <div style="position: relative;">
717
+ <img src="<?=$thumbnail?>?height=200" style="margin: 0; padding: 0; border: 1px solid #dedede; border-radius: 5px;" alt="">
718
+ <div style="position: absolute; bottom: 10px; right: 5px;">
719
+ <?php
720
+
721
+ $types = $presentations['types'];
722
+ $new_types = array();
723
+ foreach ($types as $type) {
724
+ switch ($type) {
725
+ case '0':
726
+ $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-0 orbitvu-icon-bg" title="'.$this->__('Orbittour').'"></span>';
727
+ break;
728
+ case '1':
729
+ $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-1 orbitvu-icon-bg" title="'.$this->__('360&deg;').'"></span>';
730
+ break;
731
+ default:
732
+ $new_types[] = '<span class="orbitvu-type orbitvu-icon orbitvu-icon-type-3 orbitvu-icon-bg" title="'.$this->__('2D').'"></span>';
733
+ break;
734
+ }
735
+ }
736
+ $types = $new_types;
737
+
738
+ print implode('', $types);
739
+ ?>
740
+ </div>
741
+ </div>
742
+ </td><td style="padding-left: 20px;">
743
+
744
+ <div class="presentation_data">
745
+ <strong style="font-size: 1.5em;"><?=$presentations['name']?></strong><br>
746
+
747
+ <?php if ($presentation_sun->sku != $product_sku) {
748
+ $update_sku = $_Orbitvu->SetSunPresentationSku($presentations['orbitvu_id'], $product_sku, $presentation_sun->sku);
749
+
750
+ if (!$update_sku && $orbitvu_connected) {
751
+
752
+ if (!$orbitvu_demo) {
753
+ $add_buttons .= '<button type="button" class="orbitvu-button-sku scalable" onclick="if (confirm(\''.$this->__('Do you really want to update this presentation SKU on your Orbitvu SUN account?').'\')) { OrbitvuSetAction(\'sun/set_sku/presentation_id/'.$presentations['orbitvu_id'].'/sun_new_sku/'.$product_sku.'\'); }"><span><span></span>'.$this->__('Update SKU on SUN').'</span></button> ';
754
+ }
755
+ else {
756
+ $add_buttons .= '<button type="button" class="orbitvu-button-sku scalable disabled orbitvu-button-disabled"><span><span></span>'.$this->__('Update SKU on SUN').'</span></button> ';
757
+ }
758
+ ?>
759
+ <strong><?=$this->__('SKU')?>:</strong> <?=$sku?><br>
760
+ <ul class="messages" style="float: left; max-width: 680px;">
761
+ <li class="error-msg">
762
+ <ul>
763
+ <li>
764
+
765
+ <?=$this->__('Product\'s SKU:')?> "<?=$product_sku?>" <?=$this->__('. Presentation\'s SKU from Orbitvu SUN:')?> <?=($sku == '-' ? '""' : '"'.$sku.'"')?>. <br /> <?=$this->__('Click "Update SKU on SUN" button below to update your presentation\'s SKU from Orbitvu SUN with:')?> "<?=$product_sku?>".
766
+ </li>
767
+ </ul>
768
+ </li>
769
+ </ul>
770
+ <?php } else if ($update_sku->error == '400') {
771
+ ?>
772
+ <strong><?=$this->__('SKU')?>:</strong> <?=$sku?><br>
773
+ <ul class="messages">
774
+
775
+ <li class="error-msg">
776
+ <ul>
777
+ <li>
778
+ <?=$this->__('We can\'t change your SUN Presentation SKU. One of your presentations already has this product SKU assigned. SKU need to be unique. Modify SKU on your SUN Server.')?>
779
+ </li>
780
+ </ul>
781
+ </li>
782
+
783
+ </ul>
784
+
785
+
786
+ <?php
787
+
788
+ }
789
+
790
+ else { ?>
791
+ <strong><?=$this->__('SKU')?>:</strong> <?=$product_sku?><br>
792
+ <?php
793
+ }
794
+ }
795
+ else { ?>
796
+ <strong><?=$this->__('SKU')?>:</strong> <?=$sku?><br>
797
+ <?php } ?>
798
+ <div class="orbitvu_clearfix" style="padding-top: 10px;">
799
+ <?=$add_buttons?>
800
+ <button type="button" class="orbitvu-button orbitvu-button-unlink scalable" onclick="if (confirm('<?=$this->__('Do you really want to unlink this presentation?')?>')) { OrbitvuSetAction('sun/unlink/'); }"><span><span></span><?=$this->__('Unlink this presentation')?></span></button>
801
 
802
+ <button type="button" class="orbitvu-button orbitvu-button-sync scalable" onclick="SynchronizeSunItems();"><span><span></span><?=$this->__('Synchronize with SUN')?></span></button>
803
+
804
+ <?php
805
+ $presentation_sun = $_Orbitvu->GetPresentationsList(array('id' => $presentations['orbitvu_id']));
806
+ $presentation_sun = $presentation_sun->results[0];
807
+ ?>
808
+
809
+ <?php if ($orbitvu_connected && !$orbitvu_demo && isset($presentation_sun->edit_url)) { ?><button type="button" class="orbitvu-button orbitvu-button-edit scalable"><span><span></span><a href="<?=$presentation_sun->edit_url?>" target="_blank" style="color: white; text-decoration: none;"><?=$this->__('Edit on SUN')?></a></span></button> <?php } else { ?><button type="button" class="orbitvu-button-edit scalable disabled orbitvu-button-disabled" disabled="disabled"><span style="padding-left: 0; background: none;"><span></span><?=$this->__('Edit on SUN')?></span></button>
810
+ <?php } ?> </div>
811
+
812
+ <div class="orbitvu_clearfix" style="padding-top: 10px">
813
+
814
+ <button type="button" id="orbitvu-button-enable-items" class="orbitvu-button orbitvu-button-enable-items scalable" onclick="enable_all_items();"><span><span></span><?=$this->__('Enable items')?></span></button>
815
+ <img src="<?=Mage::getBaseUrl('media')?>orbitvu/loader.gif" id="enable_all_items_loader" style="display: none" alt="" />
816
+
817
+ <button type="button" id="orbitvu-button-disable-items" class="orbitvu-button orbitvu-button-disable-items scalable" onclick="disable_all_items();"><span><span></span><?=$this->__('Disable items')?></span></button>
818
+ <img src="<?=Mage::getBaseUrl('media')?>orbitvu/loader.gif" id="disable_all_items_loader" style="display: none" alt="" />
819
+
820
+ </div>
821
+ </div>
822
+
823
+ </td></tr></table>
824
+
825
+ <div id="<?=($items_count > 1 ? 'orbitvu-drag-container' : '')?>" class="orbitvu-drag-container" history="History1" style="border-top: 1px solid #dedede;">
826
  <?php
827
+ for ($i = 0; $i < $items_count; $i++) {
828
+ $items = $presentations['items'][$i];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
829
 
830
+ $display_id = $items['id'];
831
+ ?>
832
+ <div class="orbitvu-drag-box<?=($items['status'] == 'inactive' ? ' hidden' : '')?>" id="orbitvu-gallery-item-<?=$display_id?>" style="background: white url(<?=$items['thumbnail']?>?width=100) center center no-repeat;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
833
 
834
  <span class="orbitvu-icon orbitvu-type orbitvu-icon-type-<?=$items['type']?>" title="<?php
835
+ switch ($items['type']) {
836
+ case '0': echo $this->__('Orbittour'); break;
837
+ case '1': echo $this->__('360&deg;'); break;
838
+ default: echo $this->__('2D'); break;
839
+ }
840
  ?>"></span>
841
 
842
  <span class="orbitvu-text orbitvu-drag-text">
850
  <span class="orbitvu-text orbitvu-show-text" id="orbitvu-text-show-<?=$display_id?>">
851
  <?=$this->__('Show item')?>
852
  </span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
853
 
 
 
 
854
 
 
 
 
 
 
 
 
 
855
 
856
+ <span class="orbitvu-visibility orbitvu-icon orbitvu-icon-visibility<?=($items['status'] == 'inactive' ? ' disabled' : '')?>" id="orbitvu-visibility-trigger-<?=$display_id?>"></span>
857
+ </div>
858
+ <?php } ?>
859
+ </div>
860
 
861
+ </div>
862
+ <script>
863
+ function orbitvu_ajax(file, func) {
864
+ var obj = null;
865
+ if (window.XMLHttpRequest) obj = new XMLHttpRequest();
866
+ else if (window.ActiveXObject) obj = new ActiveXObject('Microsoft.XMLHTTP');
867
+ else return false;
868
+
869
+ obj.onreadystatechange = function() {
870
+ if (this.readyState == 4) func(this.responseText);
871
+ };
872
+ obj.open('GET', file, true);
873
+ obj.send(null);
874
+ }
875
 
876
+ function orbitvu_drag_start() {
877
+ if (document.getElementsByClassName('orbitvu-drag-box')) {
878
+ var elems = document.getElementsByClassName('orbitvu-drag-box');
 
 
 
 
879
 
880
+ for (var i = 0, n = elems.length; i < n; i++) {
881
+ if (elems[i]) {
882
+ elems[i].className += ' drag';
883
+ }
884
+ }
885
+ }
886
+ //orbitvu_log('Drag start!');
887
+ }
888
 
889
+ function orbitvu_drag_end() {
890
+ if (document.getElementsByClassName('orbitvu-drag-box')) {
891
+ var elems = document.getElementsByClassName('orbitvu-drag-box');
892
 
893
+ //orbitvu_log('Drag end!');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
894
 
895
+ for (var i = 0, n = elems.length; i < n; i++) {
896
+ if (elems[i]) {
897
+ elems[i].className = elems[i].className.replace(' drag', '');
898
+ }
899
+ }
900
+ }
901
+ }
902
 
903
+ function enable_all_items() {
904
+ var elems = document.getElementsByClassName('orbitvu-visibility'),
905
+ button = document.getElementById('orbitvu-button-enable-items'),
906
+ img = document.getElementById('enable_all_items_loader'),
907
+ ids = [];
908
+
909
+ button.style.display = 'none';
910
+ img.style.display = 'inline-block';
911
+ for (var i = 0, n = elems.length; i < n; i++) {
912
+ if (elems[i].className.replace(' disabled', '') !== elems[i].className) {
913
+ ids.push(parseInt(elems[i].id.replace('orbitvu-visibility-trigger-', '')));
914
+ }
915
+ }
916
+ if (ids.length) {
917
+ orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_statuses/sun_items_statuses/' + ids.join(',') + '/sun_status/active', function(data){
918
+ data = JSON.parse(data);
919
+ if (data.status) {
920
+ for (var i = 0, n = elems.length; i < n; i++) {
921
+ elems[i].className = elems[i].className.replace(' disabled', '');
922
+ document.getElementById('orbitvu-gallery-item-' + ids[i]).className = document.getElementById('orbitvu-gallery-item-' + ids[i]).className.replace(' hidden', '');
923
+ }
924
+ button.style.display = 'inline-block';
925
+ img.style.display = 'none';
926
+ }
927
+ });
928
+ } else {
929
+ button.style.display = 'inline-block';
930
+ img.style.display = 'none';
931
+ }
932
+ }
933
 
934
+ function disable_all_items() {
935
+ var elems = document.getElementsByClassName('orbitvu-visibility'),
936
+ button = document.getElementById('orbitvu-button-disable-items'),
937
+ img = document.getElementById('disable_all_items_loader'),
938
+ ids = [];
939
+
940
+ button.style.display = 'none';
941
+ img.style.display = 'inline-block';
942
+ for (var i = 0, n = elems.length; i < n; i++) {
943
+ if (elems[i].className.replace(' disabled', '') === elems[i].className) {
944
+ ids.push(parseInt(elems[i].id.replace('orbitvu-visibility-trigger-', '')));
945
+ }
946
+ }
947
+ if (ids.length) {
948
+ orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_statuses/sun_items_statuses/' + ids.join(','), function(data){
949
+ data = JSON.parse(data);
950
+ if (data.status) {
951
+ for (var i = 0, n = elems.length; i < n; i++) {
952
+ elems[i].className += ' disabled';
953
+ document.getElementById('orbitvu-gallery-item-' + ids[i]).className += ' hidden';
954
+ }
955
+ button.style.display = 'inline-block';
956
+ img.style.display = 'none';
957
+ }
958
+ });
959
+ } else {
960
+ button.style.display = 'inline-block';
961
+ img.style.display = 'none';
962
+ }
963
+ }
964
 
965
+ var elems = document.getElementsByClassName('orbitvu-visibility');
 
 
 
966
 
967
+ for (var i = 0, n = elems.length; i < n; i++) {
968
+ elems[i].onmouseover = function() {
969
+ var this_id = parseInt(this.id.replace('orbitvu-visibility-trigger-', ''));
970
 
971
+ if (this.className.replace(' disabled', '') != this.className) {
972
+ document.getElementById('orbitvu-text-show-' + this_id).className += ' active';
973
+ document.getElementById('orbitvu-text-hide-' + this_id).className = document.getElementById('orbitvu-text-hide-' + this_id).className.replace(' active', '');
974
+ }
975
+ else {
976
+ document.getElementById('orbitvu-text-hide-' + this_id).className += ' active';
977
+ document.getElementById('orbitvu-text-show-' + this_id).className = document.getElementById('orbitvu-text-show-' + this_id).className.replace(' active', '');
978
+ }
979
+ }
980
 
981
+ elems[i].onmouseout = function() {
982
+ var this_id = parseInt(this.id.replace('orbitvu-visibility-trigger-', ''));
983
 
984
+ document.getElementById('orbitvu-text-hide-' + this_id).className = document.getElementById('orbitvu-text-hide-' + this_id).className.replace(' active', '');
985
+ document.getElementById('orbitvu-text-show-' + this_id).className = document.getElementById('orbitvu-text-show-' + this_id).className.replace(' active', '');
986
+ }
987
 
988
+ elems[i].onclick = function() {
989
+ var this_id = parseInt(this.id.replace('orbitvu-visibility-trigger-', ''));
 
 
990
 
991
+ if (this.className.replace(' disabled', '') != this.className) {
992
+ this.className = this.className.replace(' disabled', '');
993
+ document.getElementById('orbitvu-gallery-item-' + this_id).className = document.getElementById('orbitvu-gallery-item-' + this_id).className.replace(' hidden', '');
 
 
 
 
 
994
 
995
+ orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_status/sun_item_id/' + this_id + '/sun_status/active', function(odp){});
996
+ }
997
+ else {
998
+ this.className += ' disabled';
999
+ document.getElementById('orbitvu-gallery-item-' + this_id).className += ' hidden';
1000
 
1001
+ orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_status/sun_item_id/' + this_id, function(odp){});
1002
+ }
1003
+ }
1004
+ }
1005
+ var orbitvu_mouse_offset = null;
1006
+ var orbitvu_i_mouse_down = false;
1007
+ var orbitvu_l_mouse_state = false;
1008
+ var orbitvu_drag_object = null;
1009
+ var orbitvu_drag_drops = [];
1010
+ var OrbitvuCurrentTarget = null;
1011
+ var OrbitvuLastTarget = null;
1012
+ var OrbitvuDragTemp = null;
1013
+ var OrbitvuTempDiv = null;
1014
+ var OrbitvuRootParent = null;
1015
+ var OrbitvuRootSibling = null;
1016
+ var orbitvu_final_node, orbitvu_final_item_id;
1017
+ var OrbitvuD1Target = null;
1018
+
1019
+ Number.prototype.NaN0 = function() {
1020
+ return isNaN(this) ? 0 : this;
1021
+ }
1022
 
1023
+ function orbitvu_create_drag_container() {
1024
 
1025
+ var cDrag = orbitvu_drag_drops.length;
1026
+ orbitvu_drag_drops[cDrag] = [];
1027
 
 
 
 
 
 
 
 
 
 
1028
 
1029
+ for (var i = 0; i < arguments.length; i++) {
1030
+ var cObj = arguments[i];
1031
+ orbitvu_drag_drops[cDrag].push(cObj);
1032
+ cObj.setAttribute('DropObj', cDrag);
 
1033
 
 
 
1034
 
1035
+ for (var j = 0; j < cObj.childNodes.length; j++) {
 
 
 
1036
 
 
 
1037
 
1038
+ if (cObj.childNodes[j].nodeName == '#text')
1039
+ continue;
1040
 
1041
+ cObj.childNodes[j].setAttribute('DragObj', cDrag);
1042
+ }
1043
+ }
1044
+ }
1045
 
1046
+ function orbitvu_get_position(e) {
1047
+ var left = 0;
1048
+ var top = 0;
1049
+ while (e.offsetParent) {
1050
+ left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0);
1051
+ top += e.offsetTop + (e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0);
1052
+ e = e.offsetParent;
1053
+ }
1054
 
1055
 
1056
+ left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0);
1057
+ top += e.offsetTop + (e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0);
1058
 
1059
+ return {x: left, y: top};
1060
 
1061
+ }
1062
+
1063
+ function orbitvu_mouse_coords(ev) {
1064
+ if (ev.pageX || ev.pageY) {
1065
+ return {x: ev.pageX, y: ev.pageY};
1066
+ }
1067
+ return {
1068
+ x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
1069
+ y: ev.clientY + document.body.scrollTop - document.body.clientTop
1070
+ };
1071
+ }
1072
 
1073
+ function orbitvu_log(object, message) {
1074
+ if (!object || !object.parentNode || !object.parentNode.getAttribute)
1075
+ return;
1076
+ //console.log(object.id + ': ' + message);
1077
+ }
1078
 
1079
+ function orbitvu_get_mouse_offset(target, ev) {
1080
+ ev = ev || window.event;
1081
 
1082
+ var docPos = orbitvu_get_position(target);
1083
+ var mousePos = orbitvu_mouse_coords(ev);
1084
+ return {x: mousePos.x - docPos.x, y: mousePos.y - docPos.y};
1085
+ }
1086
 
1087
+ function orbitvu_mouse_move(ev) {
1088
+ ev = ev || window.event;
1089
 
1090
 
1091
+ var target = ev.target || ev.srcElement;
1092
+ var mousePos = orbitvu_mouse_coords(ev);
1093
 
 
 
 
 
 
 
1094
 
1095
 
1096
+ if (OrbitvuLastTarget && (target !== OrbitvuLastTarget)) {
1097
+ //orbitvu_log(OrbitvuLastTarget, 'Mouse Out Fired');
1098
 
1099
 
1100
+ var origClass = OrbitvuLastTarget.getAttribute('origClass');
1101
+ if (origClass)
1102
+ OrbitvuLastTarget.className = origClass;
1103
+ }
1104
 
1105
 
1106
+ var dragObj = target.getAttribute('DragObj');
 
1107
 
 
1108
 
1109
+ if (dragObj != null) {
1110
 
 
 
1111
 
1112
+ if (target != OrbitvuLastTarget) {
1113
+ //orbitvu_log(target, 'Mouse Over Fired');
1114
 
1115
+ var oClass = target.getAttribute('overClass');
1116
+ if (oClass) {
1117
+ target.setAttribute('origClass', target.className);
1118
+ target.className = oClass;
1119
+ }
1120
+ }
1121
 
1122
 
1123
+ if (orbitvu_i_mouse_down && !orbitvu_l_mouse_state) {
1124
+ orbitvu_log(target, 'Start Dragging');
 
 
1125
 
1126
 
1127
+ OrbitvuCurrentTarget = target;
1128
 
1129
 
1130
+ OrbitvuRootParent = OrbitvuCurrentTarget.parentNode;
1131
+ OrbitvuRootSibling = OrbitvuCurrentTarget.nextSibling;
1132
 
1133
+ orbitvu_mouse_offset = orbitvu_get_mouse_offset(target, ev);
1134
 
 
 
 
1135
 
1136
+ for (var i = 0; i < OrbitvuDragTemp.childNodes.length; i++)
1137
+ OrbitvuDragTemp.removeChild(OrbitvuDragTemp.childNodes[i]);
 
1138
 
1139
 
1140
+ OrbitvuDragTemp.appendChild(OrbitvuCurrentTarget.cloneNode(true));
1141
+ //OrbitvuDragTemp.style.display = 'block';
1142
+
1143
+
1144
+ var dragClass = OrbitvuCurrentTarget.getAttribute('dragClass');
1145
+ if (dragClass) {
1146
+ OrbitvuDragTemp.firstChild.className = dragClass;
1147
+ }
1148
+
1149
 
1150
+ OrbitvuDragTemp.firstChild.removeAttribute('DragObj');
1151
 
 
 
 
 
1152
 
1153
+ var dragConts = orbitvu_drag_drops[dragObj];
1154
 
1155
 
1156
+ OrbitvuCurrentTarget.setAttribute('startWidth', parseInt(OrbitvuCurrentTarget.offsetWidth));
1157
+ OrbitvuCurrentTarget.setAttribute('startHeight', parseInt(OrbitvuCurrentTarget.offsetHeight));
1158
+ OrbitvuCurrentTarget.style.display = 'none';
1159
+
1160
+ for (var i = 0; i < dragConts.length; i++) {
1161
+ with (dragConts[i]) {
1162
+ var pos = orbitvu_get_position(dragConts[i]);
1163
+
1164
+
1165
+ setAttribute('startWidth', parseInt(offsetWidth));
1166
+ setAttribute('startHeight', parseInt(offsetHeight));
1167
+ setAttribute('startLeft', pos.x);
1168
+ setAttribute('startTop', pos.y);
1169
+ }
1170
+
1171
+
1172
+ for (var j = 0; j < dragConts[i].childNodes.length; j++) {
1173
+ with (dragConts[i].childNodes[j]) {
1174
+ if ((nodeName == '#text') || (dragConts[i].childNodes[j] == OrbitvuCurrentTarget))
1175
+ continue;
1176
+
1177
+ var pos = orbitvu_get_position(dragConts[i].childNodes[j]);
1178
+
1179
+
1180
+ setAttribute('startWidth', parseInt(offsetWidth));
1181
+ setAttribute('startHeight', parseInt(offsetHeight));
1182
+ setAttribute('startLeft', pos.x);
1183
+ setAttribute('startTop', pos.y);
1184
+ }
1185
+ }
1186
+ }
1187
+ }
1188
  }
 
 
 
 
1189
 
1190
 
1191
+ if (OrbitvuCurrentTarget) {
1192
 
1193
+ OrbitvuDragTemp.style.top = mousePos.y - orbitvu_mouse_offset.y;
1194
+ OrbitvuDragTemp.style.left = mousePos.x - orbitvu_mouse_offset.x;
1195
 
1196
+ var dragConts = orbitvu_drag_drops[OrbitvuCurrentTarget.getAttribute('DragObj')];
1197
+ var activeCont = null;
1198
 
1199
+ var xPos = mousePos.x - orbitvu_mouse_offset.x + (parseInt(OrbitvuCurrentTarget.getAttribute('startWidth')) / 2);
1200
+ var yPos = mousePos.y - orbitvu_mouse_offset.y + (parseInt(OrbitvuCurrentTarget.getAttribute('startHeight')) / 2);
1201
 
1202
 
1203
+ for (var i = 0; i < dragConts.length; i++) {
1204
+ with (dragConts[i]) {
1205
+ if ((parseInt(getAttribute('startLeft')) < xPos) &&
1206
+ (parseInt(getAttribute('startTop')) < yPos) &&
1207
+ ((parseInt(getAttribute('startLeft')) + parseInt(getAttribute('startWidth'))) > xPos) &&
1208
+ ((parseInt(getAttribute('startTop')) + parseInt(getAttribute('startHeight'))) > yPos)) {
1209
 
1210
 
1211
+ activeCont = dragConts[i];
1212
 
1213
 
1214
+ break;
1215
+ }
1216
+ }
1217
+ }
1218
 
1219
 
1220
+ if (activeCont) {
1221
+ if (activeCont != OrbitvuCurrentTarget.parentNode) {
1222
+ orbitvu_log(OrbitvuCurrentTarget, 'Moved into ' + activeCont.id);
1223
+ }
1224
+
1225
+
1226
+ var beforeNode = null;
1227
 
1228
 
1229
+ for (var i = activeCont.childNodes.length - 1; i >= 0; i--) {
1230
+ with (activeCont.childNodes[i]) {
1231
+ if (nodeName == '#text')
1232
+ continue;
1233
 
1234
 
1235
+ if (OrbitvuCurrentTarget != activeCont.childNodes[i] &&
1236
+ ((parseInt(getAttribute('startLeft')) + parseInt(getAttribute('startWidth'))) > xPos) &&
1237
+ ((parseInt(getAttribute('startTop')) + parseInt(getAttribute('startHeight'))) > yPos)) {
1238
+ beforeNode = activeCont.childNodes[i];
1239
+ }
1240
+ }
1241
+ }
1242
 
1243
 
1244
+ if (beforeNode) {
1245
+ if (beforeNode != OrbitvuCurrentTarget.nextSibling) {
1246
+ //`orbitvu_log(OrbitvuCurrentTarget, 'Ajax action -> Insert before ' + beforeNode.id);
1247
+ orbitvu_final_item_id = OrbitvuCurrentTarget.id;
1248
+ orbitvu_final_node = beforeNode.id;
1249
+ activeCont.insertBefore(OrbitvuCurrentTarget, beforeNode);
1250
+ }
1251
+
1252
+
1253
+ } else {
1254
+ if ((OrbitvuCurrentTarget.nextSibling) || (OrbitvuCurrentTarget.parentNode != activeCont)) {
1255
+ orbitvu_log(OrbitvuCurrentTarget, 'Inserted at end of ' + activeCont.id);
1256
+
1257
+ activeCont.appendChild(OrbitvuCurrentTarget);
1258
+ }
1259
+ }
1260
+
1261
+
1262
+ setTimeout(function() {
1263
+ var contPos = orbitvu_get_position(activeCont);
1264
+ activeCont.setAttribute('startWidth', parseInt(activeCont.offsetWidth));
1265
+ activeCont.setAttribute('startHeight', parseInt(activeCont.offsetHeight));
1266
+ activeCont.setAttribute('startLeft', contPos.x);
1267
+ activeCont.setAttribute('startTop', contPos.y);
1268
+ }, 5);
1269
+
1270
+
1271
+ if (OrbitvuCurrentTarget.style.display != '') {
1272
+ orbitvu_log(OrbitvuCurrentTarget, 'Made Visible');
1273
+ orbitvu_drag_start();
1274
+ OrbitvuCurrentTarget.style.display = '';
1275
+ OrbitvuCurrentTarget.className += ' dragstate';
1276
+ OrbitvuCurrentTarget.style.opacity = '1';
1277
+ OrbitvuCurrentTarget.style.cursor = 'move';
1278
+ OrbitvuCurrentTarget.style.borderStyle = 'dashed';
1279
+ OrbitvuCurrentTarget.style.boxShadow = '0 0 15px black';
1280
+ }
1281
+ } else {
1282
+
1283
+
1284
+ if (OrbitvuCurrentTarget.style.display != 'none') {
1285
+ orbitvu_log(OrbitvuCurrentTarget, 'Hidden');
1286
+ OrbitvuCurrentTarget.style.display = 'none';
1287
+ }
1288
+ }
1289
  }
 
 
1290
 
1291
 
1292
+ orbitvu_l_mouse_state = orbitvu_i_mouse_down;
 
 
 
 
 
 
1293
 
1294
 
1295
+ OrbitvuLastTarget = target;
 
 
1296
 
 
 
 
1297
 
1298
+ if (orbitvu_drag_object) {
1299
+ orbitvu_drag_object.style.position = 'absolute';
1300
+ orbitvu_drag_object.style.top = mousePos.y - orbitvu_mouse_offset.y;
1301
+ orbitvu_drag_object.style.left = mousePos.x - orbitvu_mouse_offset.x;
1302
+ }
1303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1304
 
1305
+ orbitvu_l_mouse_state = orbitvu_i_mouse_down;
1306
 
 
 
 
 
 
 
1307
 
1308
+ if (OrbitvuCurrentTarget || orbitvu_drag_object)
1309
+ return false;
1310
+ }
1311
 
1312
+ function orbitvu_mouse_up(ev) {
1313
 
1314
 
1315
+ if (OrbitvuCurrentTarget) {
1316
+ orbitvu_log(OrbitvuCurrentTarget, 'Mouse Up Fired');
1317
+ orbitvu_drag_end();
1318
+ orbitvu_log(OrbitvuCurrentTarget, 'orbitvu_final_item_id: ' + orbitvu_final_item_id + ' / orbitvu_final_node: ' + orbitvu_final_node + ' / final_target: ' + OrbitvuLastTarget.id);
1319
 
1320
+ orbitvu_ajax('<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/sun/update_order/sun_item_id/' + parseInt(orbitvu_final_item_id.replace('orbitvu-gallery-item-', '')) + '/sun_before_item_id/' + parseInt(orbitvu_final_node.replace('orbitvu-gallery-item-', '')), function(odp){});
1321
 
1322
+ if (document.getElementById('media_gallery_content_grid')) {
1323
+ var torem = document.getElementById('media_gallery_content_grid');
1324
+ torem.parentNode.removeChild(torem);
1325
+ }
 
1326
 
1327
+ if (document.getElementById('media_gallery_content_save')) {
1328
+ var torem2 = document.getElementById('media_gallery_content_save');
1329
+ torem2.parentNode.removeChild(torem2);
1330
+ }
1331
 
1332
+ if (document.getElementById('media_gallery_content_save_image')) {
1333
+ var torem3 = document.getElementById('media_gallery_content_save_image');
1334
+ torem3.parentNode.removeChild(torem3);
1335
+ }
1336
 
1337
+ OrbitvuDragTemp.style.display = 'none';
1338
+ if (OrbitvuCurrentTarget.style.display == 'block') {
1339
+ if (OrbitvuRootSibling) {
1340
+ OrbitvuRootParent.insertBefore(OrbitvuCurrentTarget, OrbitvuRootSibling);
1341
+ } else {
1342
+ OrbitvuRootParent.appendChild(OrbitvuCurrentTarget);
1343
+ }
1344
+ }
1345
 
1346
+ OrbitvuCurrentTarget.style.display = '';
1347
+ OrbitvuCurrentTarget.style.opacity = '';
1348
+ OrbitvuCurrentTarget.style.cursor = '';
1349
+ OrbitvuCurrentTarget.style.borderStyle = '';
1350
+ OrbitvuCurrentTarget.style.boxShadow = '';
1351
+ OrbitvuCurrentTarget.className = OrbitvuCurrentTarget.className.replace(' dragstate','');
1352
+ }
1353
 
1354
+ orbitvu_drag_end();
1355
 
1356
+ OrbitvuCurrentTarget = null;
1357
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1358
 
1359
+ orbitvu_drag_object = null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1360
 
1361
+ orbitvu_i_mouse_down = false;
1362
+ }
1363
 
1364
+ function orbitvu_mouse_down(ev) {
1365
+ ev = ev || window.event;
1366
+ var target = ev.target || ev.srcElement;
1367
 
1368
+ orbitvu_i_mouse_down = true;
 
1369
 
1370
+ if (OrbitvuLastTarget) {
1371
+ orbitvu_log(OrbitvuLastTarget, 'Mouse Down Fired');
1372
+ }
1373
 
1374
+ if (target.onmousedown || target.getAttribute('DragObj')) {
1375
+ return false;
1376
+ }
1377
+ }
1378
 
1379
+ function orbitvu_make_draggable(item) {
1380
+ if (!item)
1381
+ return;
1382
+ item.onmousedown = function(ev) {
1383
+ orbitvu_drag_object = this;
1384
+ orbitvu_mouse_offset = orbitvu_get_mouse_offset(this, ev);
1385
+ return false;
1386
+ }
1387
+ }
1388
 
1389
+ function orbitvu_make_clickable(item) {
1390
+ if (!item)
1391
+ return;
1392
+ item.onmousedown = function(ev) {
1393
+ document.getElementById('ClickImage').value = this.name;
1394
+ }
1395
+ }
1396
 
1397
+ function orbitvu_add_drop_target(item, target) {
1398
+ item.setAttribute('droptarget', target);
1399
+ }
 
 
 
 
 
 
1400
 
1401
+ if (document.getElementById('orbitvu-drag-container')) {
1402
+ document.onmousemove = orbitvu_mouse_move;
1403
+ document.onmousedown = orbitvu_mouse_down;
1404
+ document.onmouseup = orbitvu_mouse_up;
 
 
 
1405
 
1406
+ orbitvu_create_drag_container(document.getElementById('orbitvu-drag-container'));
 
 
1407
 
1408
+ OrbitvuDragTemp = document.createElement('DIV');
1409
+ OrbitvuDragTemp.style.cssText = 'position:absolute;display:none;';
 
 
1410
 
1411
+ document.body.appendChild(OrbitvuDragTemp);
1412
+ }
1413
+ </script>
1414
 
 
 
1415
 
 
 
 
1416
 
1417
 
1418
+ </div>
1419
 
 
1420
 
1421
+ <?php } ?>
 
 
 
1422
 
1423
+ <?php
 
 
1424
 
1425
+ //--------------------------------------------------------------------------------------------------------------------------------------
1426
+ echo $observer->UseTemplate(array(), $__templates['magento_section_end']);
1427
+ //--------------------------------------------------------------------------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1428
 
1429
+ ?>
 
 
1430
 
1431
+ <div style="text-align: right;">
1432
+ <button type="button" class="orbitvu-button scalable"><a href="<?=$this->getUrl('*/system_config/edit/section/orbitvu/')?>" target="_blank" style="color: white; text-decoration: none;"><span style="float: left; width: 16px !important; height: 16px !important; margin: 0 5px 0 0; padding: 0; background-image: url(<?=Mage::getBaseUrl('media').'orbitvu/white.png'?>); background-repeat: no-repeat; background-position: -64px -108px;"></span><span><?=$this->__('Orbitvu Configuration')?></span></span></span></a></button>
1433
+ </div>
1434
+
1435
+ <script>
1436
+ function SynchronizeSun() {
1437
+ document.getElementById('synchronize_sun').value = 'true';
1438
+ productForm.submit();
1439
+ }
1440
+ <?php
1441
+ $ex = explode('index.php', $_SERVER['REQUEST_URI']);
1442
+ $http_host = str_replace('//', '/', $ex[0]);
1443
+ ?>
1444
+ function RefreshSun() {
1445
+ saveAndContinueEdit('<?=$this->getUrl('*/catalog_product/save/back/edit/')?>tab/{{tab_id}}/id/<?=$product_id?>/');
1446
+ }
1447
+
1448
+ function SynchronizeSunItems() {
1449
+ saveAndContinueEdit('<?=$this->getUrl('*/catalog_product/save/back/edit/sun/synchronize_items/')?>tab/{{tab_id}}/id/<?=$product_id?>/');
1450
+ }
1451
+
1452
+ function OrbitvuSetAction(act) {
1453
+ window.location.href = '<?=$this->getUrl('*/catalog_product/edit/')?>id/<?=$product_id?>/back/edit/tab/' + product_info_tabsJsTabs.activeTab.id + '/' + act;
1454
+ }
1455
+ </script>
1456
  <?php
1457
  /*************************************************************************************************************************************************
1458
  * Scheduled actions
app/design/frontend/base/default/template/orbitvu/product/view/media.phtml CHANGED
@@ -39,10 +39,30 @@ $_orbitvu_gallery = array(
39
  'button_height' => $_Orbitvu->GetConfiguration('button_height'),
40
  'button_opacity' => $_Orbitvu->GetConfiguration('button_opacity'),
41
  'img_width' => $_Orbitvu->GetConfiguration('img_width'),
 
 
42
  );
43
  $_orbitvu_gallery['height'] = (str_replace('px', '', $_orbitvu_gallery['img_height']) + str_replace('px', '', $_orbitvu_gallery['img_height_tn'] + 2) + (3 * str_replace('px', '', $_orbitvu_gallery['img_tn_margin']))).'px';
44
  $_orbitvu_gallery['img_width_tn_marg'] = (str_replace('px', '', $_orbitvu_gallery['img_width_tn']) + str_replace('px', '', $_orbitvu_gallery['img_tn_margin'])).'px';
45
  $_orbitvu_gallery['img_height_tn_marg'] = (str_replace('px', '', $_orbitvu_gallery['img_height_tn']) + str_replace('px', '', $_orbitvu_gallery['img_tn_margin'])).'px';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  //-------------------------------------------------------------------------------------------------------
47
  /*
48
  * Get original product images
@@ -140,12 +160,12 @@ if (count($presentation['items']) > 0) {
140
  if ($item['type'] == '3') {
141
  //-------------------------------------------------------------------------------------------------------
142
  $current_path = 'http:'.$item['path'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width_zoom']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_zoom']);
143
- $current_path_tn = 'http:'.$item['path'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height']);
144
 
145
  $_out_items .= $observer->UseTemplate(array(
146
  'path' => $current_path,
147
  'path_tn' => $current_path_tn,
148
- 'path_tn2' => 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width_tn']).'&max_height='.str_replace('px', '', $_orbitvu_gallery['img_height_tn']),
149
  'class' => '',
150
  'id' => $all_items
151
  ), $_media_item_tpl);
@@ -168,12 +188,12 @@ if (count($presentation['items']) > 0) {
168
  else if ($item['type'] == '1') {
169
  //-------------------------------------------------------------------------------------------------------
170
  $current_path = 'http:'.$item['thumbnail'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width_zoom']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_zoom']);
171
- $current_path_tn = 'http:'.$item['thumbnail'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height']);
172
 
173
  $_out_items .= $observer->UseTemplate(array(
174
  'path' => $current_path,
175
  'path_tn' => $current_path_tn,
176
- 'path_tn2' => 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width_tn']).'&max_height='.str_replace('px', '', $_orbitvu_gallery['img_height_tn']),
177
  'class' => '',
178
  'id' => $all_items
179
  ), $_presentation_item_tpl);
@@ -205,12 +225,12 @@ if (count($presentation['items']) > 0) {
205
  else if ($item['type'] == '0') {
206
  //-------------------------------------------------------------------------------------------------------
207
  $current_path = 'http:'.$item['thumbnail'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width_zoom']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_zoom']);
208
- $current_path_tn = 'http:'.$item['thumbnail'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height']);
209
 
210
  $_out_items .= $observer->UseTemplate(array(
211
  'path' => $current_path,
212
  'path_tn' => $current_path_tn,
213
- 'path_tn2' => 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width_tn']).'&max_height='.str_replace('px', '', $_orbitvu_gallery['img_height_tn']),
214
  'class' => '',
215
  'id' => $all_items
216
  ), $_orbittour_item_tpl);
@@ -244,87 +264,135 @@ if (count($presentation['items']) > 0) {
244
  /*
245
  * Display output
246
  */
247
- if ($all_items <= 0) {
248
  ?>
249
- <div class="orbitvu-gallery" id="orbitvu-gallery-placeholder" style="width: <?=$_orbitvu_gallery['width']?>; height: <?=$_orbitvu_gallery['height']?>; margin: 0; padding: 0; position: relative; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/placeholder.png); background-position: center; center; background-repeat: no-repeat;"></div>
250
- <script>
251
- window.onresize = function() {
252
- if (window.innerWidth < 770) document.getElementById('orbitvu-gallery-placeholder').style.display = 'none';
253
- else document.getElementById('orbitvu-gallery-placeholder').style.display = 'block';
254
- }
255
- window.onresize();
256
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  <?php
258
  }
259
  else if ($all_items > 0) {
260
  ?>
261
- <div class="orbitvu-gallery" id="orbitvu-gallery">
262
- <div id="orbitvu-gallery-product-image" class="orbitvu-gallery-product-image">
263
- <div id="orbitvu-gallery-view-image">
264
- <img id="orbitvu-gallery-main-image" style="display: inline;" alt="orbitvu-0" src="<?=$first_image['path_tn']?>" />
265
- </div>
266
- <div id="orbitvu-gallery-view-360" class="orbitvu-presentation"<?php if (!empty($view_360['path'])) {
267
- echo ' style="background-image: url('.$view_360['thumbnail'].'?max_height='.str_replace('px', '', $_orbitvu_gallery['img_height']).');"';
268
- }?>><?php
269
- if (!empty($view_360['path'])) {
270
- ?>
271
- <script type="text/javascript" src="<?=$view_360['path']?>?content2=yes&force_html5=<?=$_Orbitvu->GetConfiguration('html5')?><?php
272
- $orbitvu_teaser = $_Orbitvu->GetConfiguration('teaser');
273
- if ($orbitvu_teaser != 'sun') {
274
- print '&teaser='.$orbitvu_teaser;
275
- }
276
- ?>&width=auto&height=auto&viewer_delayed=yes" id="orbitvu-viewer-script"></script>
277
- <div id="ovContent-<?=$view_360['uid']?>" class="orbitvu-container" style="width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: contain; background-image: url(<?=$view_360['thumbnail']?>?max_height=<?=str_replace('px', '', $_orbitvu_gallery['img_height'])?>);"></div>
278
- <?php
279
- }
280
- ?></div>
281
- <div id="orbitvu-gallery-view-tour" class="orbitvu-presentation"><?php
282
- if (!empty($orbittour['path'])) {
283
- ?>
284
- <div id="orbittour-<?=$orbittour['uid']?>" class="orbittour-container"></div>
285
- <script type="text/javascript" src="<?=$orbittour['path']?>?orbittour_delayed=yes&onready=no&force_html5=<?=$_Orbitvu->GetConfiguration('html5')?><?php
286
- $otn = $_Orbitvu->GetConfiguration('orbittour_thumbnails');
287
-
288
- if ($otn != 'sun') {
289
- print '&style='.$otn;
290
  }
291
-
292
- ?>"></script>
293
- <?php } ?></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  </div>
295
- <div id="orbitvu-gallery-product-image-zoom" style="background-image: url(<?=$first_image['path']?>);"></div>
296
- <div class="orbitvu-gallery-product-views" id="orbitvu-gallery-product-views">
297
- <ul class="orbitvu-image-thumbs" id="orbitvu-image-thumbs" style="margin-left: 0;">
298
- <?=$_out_items?>
299
- </ul>
300
- <em id="orbitvu_go_next" class="orbitvu-gallery-button"><span>&raquo;</span></em>
301
- <em id="orbitvu_go_back" class="orbitvu-gallery-button"><span>&laquo;</span></em>
 
302
  </div>
303
- <div id="orbitvu-gallery-preloader"></div>
304
  </div>
 
305
  <style type="text/css">
306
- .orbitvu-gallery { width: <?=$_orbitvu_gallery['width']?>; height: <?=$_orbitvu_gallery['height']?>; margin: 0; padding: 0; position: relative; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; }
307
  .orbitvu-gallery-product-image { clear: both; overflow: hidden; zoom: 1.0; max-height: <?=$_orbitvu_gallery['img_height']?>; position: relative; text-align: center; }
308
- .orbitvu-gallery-product-image img#orbitvu-gallery-main-image { display: inline; margin: 0; padding: 0; border: 0; max-width: 100%; max-height: 100%; cursor: crosshair; }
309
- #orbitvu-gallery-product-image-zoom { display: none; height: auto; box-sizing: content-box; position: absolute; z-index: 2; top: -1px; bottom: -1px; right: -100%; width: 100%; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; background-color: white; background-repeat: no-repeat; cursor: crosshair; }
310
- .orbitvu-gallery-product-views { width: 100%; position: absolute; bottom: 0; left: 0; clear: both; overflow: hidden; zoom: 1.0; }
311
- .orbitvu-gallery-product-views ul.orbitvu-image-thumbs { margin: 0; padding: 0; width: 99999px; }
312
- .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item { float: left; display: table-row; overflow: hidden; width: <?=$_orbitvu_gallery['img_width_tn_marg']?>; height: <?=$_orbitvu_gallery['img_height_tn_marg']?>; margin: <?=$_orbitvu_gallery['img_tn_margin']?>; position: relative; border: 1px solid transparent; }
313
- .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item:hover, .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item.orbitvu_active { border: 1px solid <?=$_orbitvu_gallery['border_color']?>; }
314
- .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item a.orbitvu-gallery-item-link { display: table-cell; vertical-align: middle; width: <?=$_orbitvu_gallery['img_width_tn_marg']?>; height: <?=$_orbitvu_gallery['img_height_tn_marg']?>; text-align: center; }
315
- .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item a.orbitvu-gallery-item-link img { display: block; margin: 0 auto; max-width: <?=$_orbitvu_gallery['img_width_tn']?>; max-height: <?=$_orbitvu_gallery['img_height_tn']?>; }
316
- .orbitvu-gallery-item-desc { display: block; padding: 2px; position: absolute; bottom: 0; left: 0; background: rgba(255, 255, 255, 0.5); color: black; font-weight: bold; font-size: 0.8em; }
317
  .orbitvu-gallery-button { display: table-row; position: absolute; bottom: <?=$_orbitvu_gallery['img_tn_margin']?>; width: <?=$_orbitvu_gallery['button_width']?>; height: <?=$_orbitvu_gallery['button_height']?>; background: white; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; font-weight: bold; text-align: center; opacity: <?=$_orbitvu_gallery['button_opacity']?>; color: black; font-size: 24px; text-decoration: none; font-style: normal; cursor: pointer; }
318
  .orbitvu-gallery-button:hover { background: black; color: white; text-decoration: none; border-color: black; }
319
- .orbitvu-gallery-button span { display: table-cell; vertical-align: middle; width: <?=$_orbitvu_gallery['button_width']?>; height: <?=$_orbitvu_gallery['button_height']?>; }
320
- #orbitvu_go_next { right: -1px; }
321
  #orbitvu_go_back { display: none; left: -1px; }
322
  #orbitvu-gallery-preloader { position: absolute; top: -10000px; left: -10000px; }
323
- .orbitvu-presentation { display: block; width: 100%; height: <?=$_orbitvu_gallery['img_height']?>; top: -10000px; background-repeat: no-repeat; background-position: center center; background-size: contain; }
324
  .orbitvu-icon { display: block; width: 22px; height: 22px; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/black.png); background-repeat: no-repeat; }
325
  .orbitvu-icon-type-3 { background-position: 0 -32px; }
326
  .orbitvu-icon-type-1 { background-position: -22px -32px; }
327
  .orbitvu-icon-type-0 { background-position: -44px -32px; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  </style>
329
  <script>
330
  /*
@@ -352,6 +420,7 @@ var orbitvu_window_growing = false;
352
  var orbitvu_smallest_height = '<?=$_orbitvu_gallery['img_height']?>';
353
  var orbitvu_window_onresize_enabled = true;
354
  var orbitvu_zoom_responsive = false;
 
355
 
356
  /*
357
  * Orbitvu Objects
@@ -466,6 +535,9 @@ function orbitvu_inject_360() {
466
  * @returns {integer width, integer height}
467
  */
468
  function orbitvu_get_image_dimensions(temp) {
 
 
 
469
  temp.style.width = 'auto';
470
  temp.style.height = 'auto';
471
  var img_width = parseInt(temp.offsetWidth);
@@ -492,7 +564,8 @@ function orbitvu_init_gallery() {
492
  var i = 0;
493
 
494
  for (n = orbitvu_image_thumbs.children.length, orbitvu_current = 0; i < n; i++) {
495
- orbitvu_current = orbitvu_image_thumbs.children[i].clientWidth + <?=(str_replace('px', '', $_orbitvu_gallery['img_tn_margin']) * 2)?> + 2;
 
496
  if (i == 0) orbitvu_xMax += orbitvu_current;
497
  orbitvu_xAll += orbitvu_current;
498
  }
@@ -808,7 +881,7 @@ function orbitvu_refresh() {
808
 
809
  if (orbitvu_current_image.width_zoom > 0) {
810
 
811
- orbitvu_maxHeight_fix();
812
 
813
  clearInterval(orbitvu_init_interval);
814
  console.log('Ready.');
@@ -846,8 +919,10 @@ function OrbitvuInit() {
846
  /*
847
  * Buttons starting visibility
848
  */
849
- if ((orbitvu_xAllReal - (<?=(str_replace('px', '', $_orbitvu_gallery['img_tn_margin'])*2)?>)) < orbitvu_gallery_inner) Orb$('orbitvu_go_next').style.display = 'none';
850
- else orbitvu_buttons = true;
 
 
851
 
852
  /*
853
  * Attach events to thumbnails
39
  'button_height' => $_Orbitvu->GetConfiguration('button_height'),
40
  'button_opacity' => $_Orbitvu->GetConfiguration('button_opacity'),
41
  'img_width' => $_Orbitvu->GetConfiguration('img_width'),
42
+ 'img_tn_padding' => $_Orbitvu->GetConfiguration('img_tn_padding'),
43
+ 'scroll' => $_Orbitvu->GetConfiguration('scroll'),
44
  );
45
  $_orbitvu_gallery['height'] = (str_replace('px', '', $_orbitvu_gallery['img_height']) + str_replace('px', '', $_orbitvu_gallery['img_height_tn'] + 2) + (3 * str_replace('px', '', $_orbitvu_gallery['img_tn_margin']))).'px';
46
  $_orbitvu_gallery['img_width_tn_marg'] = (str_replace('px', '', $_orbitvu_gallery['img_width_tn']) + str_replace('px', '', $_orbitvu_gallery['img_tn_margin'])).'px';
47
  $_orbitvu_gallery['img_height_tn_marg'] = (str_replace('px', '', $_orbitvu_gallery['img_height_tn']) + str_replace('px', '', $_orbitvu_gallery['img_tn_margin'])).'px';
48
+
49
+ if (!$_orbitvu_gallery['scroll']) {
50
+ $_orbitvu_gallery['scroll'] = 'yes';
51
+ }
52
+
53
+ if (!$_orbitvu_gallery['img_tn_padding']) {
54
+ $_orbitvu_gallery['img_tn_padding'] = '2px';
55
+ }
56
+
57
+ $ratio = '56.25%'; //16:9 default
58
+ if ((strpos($_orbitvu_gallery['img_width'], 'px') !== false) && (strpos($_orbitvu_gallery['img_height'], 'px') !== false) && (strpos($_orbitvu_gallery['width'], '%') !== false)) {
59
+ $r_width = str_replace('px', '', $_orbitvu_gallery['img_width']);
60
+ $r_height = str_replace('px', '', $_orbitvu_gallery['img_height']); //-2 px because of border
61
+
62
+ $ratio = ($r_height) * 100 / $r_width;
63
+ $ratio = (string)$ratio.'%';
64
+ }
65
+
66
  //-------------------------------------------------------------------------------------------------------
67
  /*
68
  * Get original product images
160
  if ($item['type'] == '3') {
161
  //-------------------------------------------------------------------------------------------------------
162
  $current_path = 'http:'.$item['path'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width_zoom']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_zoom']);
163
+ $current_path_tn = 'http:'.$item['path'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height']).'&action=supplement';
164
 
165
  $_out_items .= $observer->UseTemplate(array(
166
  'path' => $current_path,
167
  'path_tn' => $current_path_tn,
168
+ 'path_tn2' => 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width_tn']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_tn']).'&action=supplement',
169
  'class' => '',
170
  'id' => $all_items
171
  ), $_media_item_tpl);
188
  else if ($item['type'] == '1') {
189
  //-------------------------------------------------------------------------------------------------------
190
  $current_path = 'http:'.$item['thumbnail'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width_zoom']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_zoom']);
191
+ $current_path_tn = 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height']).'&action=supplement';
192
 
193
  $_out_items .= $observer->UseTemplate(array(
194
  'path' => $current_path,
195
  'path_tn' => $current_path_tn,
196
+ 'path_tn2' => 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width_tn']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_tn']).'&action=supplement',
197
  'class' => '',
198
  'id' => $all_items
199
  ), $_presentation_item_tpl);
225
  else if ($item['type'] == '0') {
226
  //-------------------------------------------------------------------------------------------------------
227
  $current_path = 'http:'.$item['thumbnail'].'?max_width='.str_replace('px', '', $_orbitvu_gallery['img_width_zoom']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_zoom']);
228
+ $current_path_tn = 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height']).'&action=supplement';
229
 
230
  $_out_items .= $observer->UseTemplate(array(
231
  'path' => $current_path,
232
  'path_tn' => $current_path_tn,
233
+ 'path_tn2' => 'http:'.$item['thumbnail'].'?width='.str_replace('px', '', $_orbitvu_gallery['img_width_tn']).'&height='.str_replace('px', '', $_orbitvu_gallery['img_height_tn']).'&action=supplement',
234
  'class' => '',
235
  'id' => $all_items
236
  ), $_orbittour_item_tpl);
264
  /*
265
  * Display output
266
  */
 
267
  ?>
268
+ <style type="text/css">
269
+
270
+ #orbitvu-gallery-wrapper {
271
+ width: <?=$_orbitvu_gallery['width'];?>
272
+ }
273
+
274
+ #orbitvu-gallery-fix {
275
+ border: 1px solid <?=$_orbitvu_gallery['border_color']?>;
276
+ }
277
+ .orbitvu-gallery {
278
+ margin: 0;
279
+ padding: 0;
280
+ position: relative;
281
+ padding-bottom: <?=$ratio; ?>; /* 16:9 - default */
282
+ height: 0;
283
+ z-index: 0;
284
+ }
285
+ </style>
286
+
287
+ <?
288
+ if ($all_items <= 0) {
289
+ ?>
290
+ <div id="orbitvu-gallery-wrapper">
291
+ <div id="orbitvu-gallery-fix">
292
+ <div class="orbitvu-gallery" id="orbitvu-gallery" style="width: <?=$_orbitvu_gallery['width']?>; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/placeholder.png); background-position: center; center; background-repeat: no-repeat;"></div>
293
+ </div>
294
+ </div>
295
+
296
+ <!--<div class="orbitvu-gallery" id="orbitvu-gallery-placeholder" style="width: <?=$_orbitvu_gallery['width']?>; height: <?=$_orbitvu_gallery['height']?>; margin: 0; padding: 0; position: relative; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/placeholder.png); background-position: center; center; background-repeat: no-repeat;"></div>-->
297
+ <script>
298
+ window.onresize = function() {
299
+ if (window.innerWidth < 770) document.getElementById('orbitvu-gallery').style.display = 'none';
300
+ else document.getElementById('orbitvu-gallery').style.display = 'block';
301
+ }
302
+ window.onresize();
303
+ </script>
304
  <?php
305
  }
306
  else if ($all_items > 0) {
307
  ?>
308
+ <div id="orbitvu-gallery-wrapper">
309
+ <div id="orbitvu-gallery-fix">
310
+ <div class="orbitvu-gallery" id="orbitvu-gallery">
311
+ <div id="orbitvu-gallery-product-image" class="orbitvu-gallery-product-image">
312
+ <div id="orbitvu-gallery-view-image">
313
+ <img id="orbitvu-gallery-main-image" style="display: inline;" alt="orbitvu-0" src="<?=$first_image['path_tn']?>" />
314
+ </div>
315
+ <div id="orbitvu-gallery-view-360" class="orbitvu-presentation"<?php if (!empty($view_360['path'])) {
316
+ echo ' style="background-image: url('.$view_360['thumbnail'].'?max_height='.str_replace('px', '', $_orbitvu_gallery['img_height']).');"';
317
+ }?>><?php
318
+ if (!empty($view_360['path'])) {
319
+ ?>
320
+ <script type="text/javascript" src="<?=$view_360['path']?>?content2=yes&force_html5=<?=$_Orbitvu->GetConfiguration('html5')?><?php
321
+ $orbitvu_teaser = $_Orbitvu->GetConfiguration('teaser');
322
+ if ($orbitvu_teaser != 'sun') {
323
+ print '&teaser='.$orbitvu_teaser;
 
 
 
 
 
 
 
 
 
 
 
 
 
324
  }
325
+ ?>&width=auto&height=auto&viewer_delayed=yes" id="orbitvu-viewer-script"></script>
326
+ <div id="ovContent-<?=$view_360['uid']?>" class="orbitvu-container" style="width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: contain; background-image: url(<?=$view_360['thumbnail']?>?max_height=<?=str_replace('px', '', $_orbitvu_gallery['img_height'])?>);"></div>
327
+ <?php
328
+ }
329
+ ?></div>
330
+ <div id="orbitvu-gallery-view-tour" class="orbitvu-presentation"><?php
331
+ if (!empty($orbittour['path'])) {
332
+ ?>
333
+ <div id="orbittour-<?=$orbittour['uid']?>" class="orbittour-container"></div>
334
+ <script type="text/javascript" src="<?=$orbittour['path']?>?orbittour_delayed=yes&onready=no&force_html5=<?=$_Orbitvu->GetConfiguration('html5')?><?php
335
+ $otn = $_Orbitvu->GetConfiguration('orbittour_thumbnails');
336
+
337
+ if ($otn != 'sun') {
338
+ print '&style='.$otn;
339
+ }
340
+
341
+ ?>"></script>
342
+ <?php } ?></div>
343
+ </div>
344
+ <div id="orbitvu-gallery-product-image-zoom" style="background-image: url(<?=$first_image['path']?>);"></div>
345
+ <div id="orbitvu-gallery-preloader"></div>
346
+ </div>
347
  </div>
348
+ <div id="orbitvu-gallery-scroller">
349
+ <div class="orbitvu-gallery-product-views" id="orbitvu-gallery-product-views">
350
+ <ul class="orbitvu-image-thumbs" id="orbitvu-image-thumbs" style="margin-left: 0;">
351
+ <?=$_out_items?>
352
+ </ul>
353
+ <em id="orbitvu_go_next" class="orbitvu-gallery-button"><span>&raquo;</span></em>
354
+ <em id="orbitvu_go_back" class="orbitvu-gallery-button"><span>&laquo;</span></em>
355
+ </div>
356
  </div>
 
357
  </div>
358
+
359
  <style type="text/css">
360
+
361
  .orbitvu-gallery-product-image { clear: both; overflow: hidden; zoom: 1.0; max-height: <?=$_orbitvu_gallery['img_height']?>; position: relative; text-align: center; }
362
+ .orbitvu-gallery-product-image img#orbitvu-gallery-main-image { display: inline; margin: 0; padding: 0; border: 0; max-width: 100%; max-height: 100%; cursor: crosshair; }
363
+ #orbitvu-gallery-product-image-zoom { display: none; height: auto; box-sizing: content-box; position: absolute; z-index: 2; top: -1px; bottom: -1px; right: -100%; width: 100%; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; background-color: white; background-repeat: no-repeat; cursor: crosshair; }
364
+ .orbitvu-gallery-product-views ul.orbitvu-image-thumbs { margin: 0; padding: 0; <?= $_orbitvu_gallery['scroll'] == 'yes' ? 'width: 99999px;' : '' ?> }
365
+ .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item { float: left; display: table-row; overflow: hidden; margin: <?=$_orbitvu_gallery['img_tn_margin']?>; position: relative; border: 1px solid transparent; }
366
+ .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item:hover, .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item.orbitvu_active { border: 1px solid <?=$_orbitvu_gallery['border_color']?>; }
367
+ .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item a.orbitvu-gallery-item-link { display: table-cell; vertical-align: middle; width: <?=$_orbitvu_gallery['img_width_tn_marg']?>; height: <?=$_orbitvu_gallery['img_height_tn_marg']?>; text-align: center; }
368
+ .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item:first-child { margin-left: 0px; }
369
+ .orbitvu-gallery-product-views ul.orbitvu-image-thumbs li.orbitvu-gallery-item a.orbitvu-gallery-item-link img { display: block; margin: 0 auto; max-width: <?=$_orbitvu_gallery['img_width_tn']?>; max-height: <?=$_orbitvu_gallery['img_height_tn']?>; padding: <?=$_orbitvu_gallery['img_tn_padding']?>; box-sizing: content-box !important }
370
+ .orbitvu-gallery-item-desc { display: block; padding: 2px; position: absolute; bottom: 0; left: 0; background: rgba(255, 255, 255, 0.5); color: black; font-weight: bold; font-size: 0.8em; }
371
  .orbitvu-gallery-button { display: table-row; position: absolute; bottom: <?=$_orbitvu_gallery['img_tn_margin']?>; width: <?=$_orbitvu_gallery['button_width']?>; height: <?=$_orbitvu_gallery['button_height']?>; background: white; border: 1px solid <?=$_orbitvu_gallery['border_color']?>; font-weight: bold; text-align: center; opacity: <?=$_orbitvu_gallery['button_opacity']?>; color: black; font-size: 24px; text-decoration: none; font-style: normal; cursor: pointer; }
372
  .orbitvu-gallery-button:hover { background: black; color: white; text-decoration: none; border-color: black; }
373
+ .orbitvu-gallery-button span { display: table-cell; vertical-align: middle; width: <?=$_orbitvu_gallery['button_width']?>; height: <?=$_orbitvu_gallery['button_height']?>; }
374
+ #orbitvu_go_next { right: -1px; <?= $_orbitvu_gallery['scroll'] == 'no' ? 'display: none' : '' ?>}
375
  #orbitvu_go_back { display: none; left: -1px; }
376
  #orbitvu-gallery-preloader { position: absolute; top: -10000px; left: -10000px; }
377
+ .orbitvu-presentation { display: block; width: 100%; height: 100%; top: -10000px; background-repeat: no-repeat; background-position: center center; background-size: contain; }
378
  .orbitvu-icon { display: block; width: 22px; height: 22px; background-image: url(<?=Mage::getBaseUrl('media')?>orbitvu/black.png); background-repeat: no-repeat; }
379
  .orbitvu-icon-type-3 { background-position: 0 -32px; }
380
  .orbitvu-icon-type-1 { background-position: -22px -32px; }
381
  .orbitvu-icon-type-0 { background-position: -44px -32px; }
382
+
383
+ #orbitvu-gallery-scroller {
384
+ position: relative;
385
+ height: auto;
386
+ overflow: hidden;
387
+ }
388
+
389
+ .orbitvu-gallery .orbitvu-gallery-product-image {
390
+ position: absolute;
391
+ top: 0;
392
+ left: 0;
393
+ width: 100%;
394
+ height: 100%;
395
+ }
396
  </style>
397
  <script>
398
  /*
420
  var orbitvu_smallest_height = '<?=$_orbitvu_gallery['img_height']?>';
421
  var orbitvu_window_onresize_enabled = true;
422
  var orbitvu_zoom_responsive = false;
423
+ var orbitvu_scroll = '<?=$_orbitvu_gallery['scroll']?>';
424
 
425
  /*
426
  * Orbitvu Objects
535
  * @returns {integer width, integer height}
536
  */
537
  function orbitvu_get_image_dimensions(temp) {
538
+ if ((typeof temp === "undefined") || (temp === null) || (typeof temp.style === "undefined") || (temp.style === null)) {
539
+ return {};
540
+ }
541
  temp.style.width = 'auto';
542
  temp.style.height = 'auto';
543
  var img_width = parseInt(temp.offsetWidth);
564
  var i = 0;
565
 
566
  for (n = orbitvu_image_thumbs.children.length, orbitvu_current = 0; i < n; i++) {
567
+ //orbitvu_current = orbitvu_image_thumbs.children[i].clientWidth + <?=(str_replace('px', '', $_orbitvu_gallery['img_tn_margin']) * 2)?> + 2;
568
+ orbitvu_current = <?=(str_replace('px', '', $_orbitvu_gallery['img_width_tn']))?> + <?=(str_replace('px', '', $_orbitvu_gallery['img_tn_margin']) * 2)?> + <?=(str_replace('px', '', $_orbitvu_gallery['img_tn_padding']) * 2)?> + 2; //+2 is a border transparent from css
569
  if (i == 0) orbitvu_xMax += orbitvu_current;
570
  orbitvu_xAll += orbitvu_current;
571
  }
881
 
882
  if (orbitvu_current_image.width_zoom > 0) {
883
 
884
+ //orbitvu_maxHeight_fix();
885
 
886
  clearInterval(orbitvu_init_interval);
887
  console.log('Ready.');
919
  /*
920
  * Buttons starting visibility
921
  */
922
+ if (orbitvu_scroll == 'yes') {
923
+ if ((orbitvu_xAllReal - (<?=(str_replace('px', '', $_orbitvu_gallery['img_tn_margin'])*2)?>)) < orbitvu_gallery_inner) Orb$('orbitvu_go_next').style.display = 'none';
924
+ else orbitvu_buttons = true;
925
+ }
926
 
927
  /*
928
  * Attach events to thumbnails
package.xml CHANGED
@@ -1,20 +1,23 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Orbitvu_Sun</name>
4
- <version>1.0.5</version>
5
  <stability>stable</stability>
6
  <license>Commercial</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Automate and improve your customer's expierience with dynamic zoom, 360&#xB0;/3D spins, product tours using ORBITVU imaging solution.</summary>
10
- <description>Orbitvu Product Teleporting extension will improve your store product experience with interactive product tours, 360&#xB0;/3D image spins and dynamic zoom on desktop and mobile. It will automate and facilitate your imaging workflow as never before.&#xD;
11
- &#xD;
12
- This extension is provided by ORBITVU &#x2013; the global leader for automated imaging solutions.</description>
13
- <notes>Module conflict fix.</notes>
 
 
 
14
  <authors><author><name>Orbitvu</name><user>dev</user><email>dev@orbitvu.com</email></author></authors>
15
- <date>2015-02-25</date>
16
- <time>08:54:01</time>
17
- <contents><target name="magecommunity"><dir name="Orbitvu"><dir name="Sun"><dir><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><file name="Grid.php" hash="566e3b0df121fb937d4a365387df8d9a"/><file name="Gridrenderer.php" hash="5faf1727cec7245a8da6d60e5d7d8e0f"/></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="fcbed1fa070be0ca4838eb52a16d07ca"/></dir><file name="Tabs.php" hash="71403fb00d7ac0b46ea7fdce66ad55af"/></dir><file name="Delay.php" hash="035d8fca636cce61d33f08200725a5f1"/><file name="Html5.php" hash="208cecc71503046beefa9c02579a8263"/><file name="KeyComment.php" hash="a55dd2bfd936cbf687ed62c9bb163a26"/><file name="Orbittour.php" hash="727eccc98132ca01bd6e83ea8c7b6588"/><dir name="Product"><dir name="View"><file name="Media.php" hash="5f5b110f4b5330e9fd3bd6723eb49d92"/></dir></dir><file name="Syncsku.php" hash="495ac1a5f3a3d8409b1a66f2ca62c40b"/><file name="Teaser.php" hash="8e4070b43b663badab737921742821d7"/></dir><dir name="Model"><file name="Observer.php" hash="84baba1ac62f328c61b23ed80d37aeb1"/><dir name="Resource"><file name="Setup.php" hash="f34f2bf697d3b554f2f90453a9f9203c"/><file name="Sun.php" hash="9fdb47d4318346d2f506e246f37ed0cc"/></dir></dir><dir name="controllers"><file name="OrbitvuAdmin.php" hash="2dca4e09d15b202955dd0f80832d9e83"/><file name="OrbitvuConnect.php" hash="9323cefbb48713d4e8764a8f7abfa3a1"/><file name="OrbitvuDatabaseDriver.php" hash="443744b8dbcd757c347a48441f50c857"/><file name="OrbitvuDatabaseInterface.php" hash="a477911c34159dd410804b32473b9dd9"/><file name="OrbitvuDebugger.php" hash="2a1dd59fa2512a1ce877c5b9b1f8819d"/><file name="OrbitvuTests.php" hash="cdeeeaba1fd5b70ecfaea03e8718cd66"/></dir><dir name="etc"><file name="adminhtml.xml" hash="634a0d073117091e52853a3336e0e61f"/><file name="config.xml" hash="72d679133250bd45f1ae90218103259a"/><file name="local.xml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="system.xml" hash="74c2bd05fdb95e36a31e04dbbf15ab44"/><file name="translations.xml" hash="f27262b561cacd1a2fb1a1e56e0e8946"/></dir><dir name="sql"><dir name="sun_setup"><file name="mysql4-install-1.0.0.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.1.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.2.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.3.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.4.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.5.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.0-1.0.2.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.0-1.0.3.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.0-1.0.4.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.0-1.0.5.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.1-1.0.3.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.1-1.0.4.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.1-1.0.5.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="sun"><file name="orbitvu.phtml" hash="a9aa21fa589df5ec69b113c34b429603"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sun.xml" hash="ea7cdb4f7d88f32f1872c3f975be5345"/></dir><dir name="template"><dir name="orbitvu"><dir name="product"><dir name="view"><file name="media.phtml" hash="1d0a84d5293e41c1178da6cfcc1dfcba"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magemedia"><dir name="orbitvu"><file name="black.png" hash="64dcb45b20e5e2e0cc07c62a843f8f68"/><file name="blue.png" hash="fa8b00e52ec0bf7cb9937b1d5789740c"/><file name="loader.gif" hash="875eec6b429c57e0eff9ba7c182072cd"/><file name="logo.png" hash="622ada057aadbe23af717431e85ef94f"/><file name="orbit.png" hash="c390d8598792d9cc86b19e9afef0ea4a"/><file name="placeholder.png" hash="43b6e81dc733e7d8fb279e54b5f39b3f"/><dir><dir name="thumbnails"><file name="index" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir><file name="white.png" hash="ff7713f7b45a4b7a4b5d8304eb3c655c"/></dir></target><target name="mage"><dir name="."><file name="crossdomain.xml" hash="3d73360d10233f48441db7ed045c3952"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Orbitvu_Sun.csv" hash=""/></dir><dir name="en_US"><file name="Orbitvu_Sun.csv" hash="a60459310ed2b1e93062eae927b71979"/></dir><dir name="es_ES"><file name="Orbitvu_Sun.csv" hash=""/></dir><dir name="pl_PL"><file name="Orbitvu_Sun.csv" hash=""/></dir></target><target name="mageetc"><dir name="modules"><file name="Orbitvu_Sun.xml" hash="04b339680876cb29b6c59758cfed3b8a"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Orbitvu_Sun</name>
4
+ <version>1.0.6</version>
5
  <stability>stable</stability>
6
  <license>Commercial</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Automate and improve your customer's expierience with dynamic zoom, 360&#xB0;/3D spins, product tours using ORBITVU imaging solution.</summary>
10
+ <description>Orbitvu SUN Product Teleporting extension will improve your store product experience with interactive product tours, 360&#xB0;/3D image spins and dynamic zoom on desktop and mobile. It will automate and facilitate your imaging workflow as never before. This extension is provided by ORBITVU &#x2013; the global leader for automated imaging solutions.</description>
11
+ <notes>-intrastic gallery added&#xD;
12
+ -license update&#xD;
13
+ -thumbnails scroll fix&#xD;
14
+ -added thumbnail padding option&#xD;
15
+ -enable/disable scroll&#xD;
16
+ -added disable/enable all orbitvu thumbnails option</notes>
17
  <authors><author><name>Orbitvu</name><user>dev</user><email>dev@orbitvu.com</email></author></authors>
18
+ <date>2015-05-07</date>
19
+ <time>08:45:11</time>
20
+ <contents><target name="magecommunity"><dir name="Orbitvu"><dir name="Sun"><dir><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><file name="Grid.php" hash="566e3b0df121fb937d4a365387df8d9a"/><file name="Gridrenderer.php" hash="5faf1727cec7245a8da6d60e5d7d8e0f"/></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="fcbed1fa070be0ca4838eb52a16d07ca"/></dir><file name="Tabs.php" hash="71403fb00d7ac0b46ea7fdce66ad55af"/></dir><file name="Delay.php" hash="035d8fca636cce61d33f08200725a5f1"/><file name="Html5.php" hash="208cecc71503046beefa9c02579a8263"/><file name="KeyComment.php" hash="a55dd2bfd936cbf687ed62c9bb163a26"/><file name="Orbittour.php" hash="727eccc98132ca01bd6e83ea8c7b6588"/><dir name="Product"><dir name="View"><file name="Media.php" hash="5f5b110f4b5330e9fd3bd6723eb49d92"/></dir></dir><file name="Scroll.php" hash="6c1413ee3054f871fc5ea989361dad13"/><file name="Syncsku.php" hash="495ac1a5f3a3d8409b1a66f2ca62c40b"/><file name="Teaser.php" hash="8e4070b43b663badab737921742821d7"/></dir><dir name="Model"><file name="Observer.php" hash="84baba1ac62f328c61b23ed80d37aeb1"/><dir name="Resource"><file name="Setup.php" hash="f34f2bf697d3b554f2f90453a9f9203c"/><file name="Sun.php" hash="9fdb47d4318346d2f506e246f37ed0cc"/></dir></dir><dir name="controllers"><file name="OrbitvuAdmin.php" hash="2dca4e09d15b202955dd0f80832d9e83"/><file name="OrbitvuConnect.php" hash="9323cefbb48713d4e8764a8f7abfa3a1"/><file name="OrbitvuDatabaseDriver.php" hash="407d3bdd621bc69b97cbc44f75331ca4"/><file name="OrbitvuDatabaseInterface.php" hash="a477911c34159dd410804b32473b9dd9"/><file name="OrbitvuDebugger.php" hash="2a1dd59fa2512a1ce877c5b9b1f8819d"/><file name="OrbitvuTests.php" hash="cdeeeaba1fd5b70ecfaea03e8718cd66"/></dir><dir name="etc"><file name="adminhtml.xml" hash="634a0d073117091e52853a3336e0e61f"/><file name="config.xml" hash="a4dd8bf0b23b62c9a3c89b3c859ef5c6"/><file name="local.xml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="system.xml" hash="a1955dd0392f17ad7fc8f57f699e183d"/><file name="translations.xml" hash="f27262b561cacd1a2fb1a1e56e0e8946"/></dir><dir name="sql"><dir name="sun_setup"><file name="mysql4-install-1.0.0.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.1.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.2.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.3.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.4.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.5.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-install-1.0.6.php" hash="36faff7b2a28f322aee73d2180632fdd"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="c06d3cbe9dc35d61e7bc6fdd202c68e7"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="a2204f7a4d7fcf05e309614d04318084"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="sun"><file name="orbitvu.phtml" hash="bfb5096f1b7b44554a65e76721d68372"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sun.xml" hash="ea7cdb4f7d88f32f1872c3f975be5345"/></dir><dir name="template"><dir name="orbitvu"><dir name="product"><dir name="view"><file name="media.phtml" hash="6985f2a9c840d879b5b6c87833a480af"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magemedia"><dir name="orbitvu"><file name="black.png" hash="64dcb45b20e5e2e0cc07c62a843f8f68"/><file name="blue.png" hash="fa8b00e52ec0bf7cb9937b1d5789740c"/><file name="loader.gif" hash="875eec6b429c57e0eff9ba7c182072cd"/><file name="logo.png" hash="622ada057aadbe23af717431e85ef94f"/><file name="orbit.png" hash="c390d8598792d9cc86b19e9afef0ea4a"/><file name="placeholder.png" hash="43b6e81dc733e7d8fb279e54b5f39b3f"/><dir><dir name="thumbnails"><file name="index" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir><file name="white.png" hash="ff7713f7b45a4b7a4b5d8304eb3c655c"/></dir></target><target name="mage"><dir name="."><file name="crossdomain.xml" hash="3d73360d10233f48441db7ed045c3952"/><file name="ORBITVU-SUN-PRODUCT-TELEPORTING-EN.pdf" hash="069f8c15618e9ffe28dfc1e1efb6adf8"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Orbitvu_Sun.csv" hash="a60459310ed2b1e93062eae927b71979"/></dir></target><target name="mageetc"><dir name="modules"><file name="Orbitvu_Sun.xml" hash="04b339680876cb29b6c59758cfed3b8a"/></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
23
  </package>