PageRenderTime 45ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/modules/socolissimo/views/templates/front/socolissimo_fancybox.tpl

https://gitlab.com/ptisky/API_prestashop
Smarty Template | 233 lines | 193 code | 16 blank | 24 comment | 48 complexity | 0547677de0ee2d8a274168469ff34f08 MD5 | raw file
  1. {*
  2. * 2007-2016 PrestaShop
  3. *
  4. * NOTICE OF LICENSE
  5. *
  6. * This source file is subject to the Academic Free License (AFL 3.0)
  7. * that is bundled with this package in the file LICENSE.txt.
  8. * It is also available through the world-wide-web at this URL:
  9. * http://opensource.org/licenses/afl-3.0.php
  10. * If you did not receive a copy of the license and are unable to
  11. * obtain it through the world-wide-web, please send an email
  12. * to license@prestashop.com so we can send you a copy immediately.
  13. *
  14. * DISCLAIMER
  15. *
  16. * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
  17. * versions in the future. If you wish to customize PrestaShop for your
  18. * needs please refer to http://www.prestashop.com for more information.
  19. *
  20. * @author PrestaShop SA <contact@prestashop.com> Quadra Informatique <modules@quadra-informatique.fr>
  21. * @copyright 2007-2016 PrestaShop SA
  22. * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
  23. * International Registered Trademark & Property of PrestaShop SA
  24. *}
  25. <style type="text/css">
  26. .soBackward_compat_tab {literal}{ text-align: center; }{/literal}
  27. .soBackward_compat_tab a {literal}{ margin: 10px; }{/literal}
  28. </style>
  29. <a href="#" style="display:none" class="fancybox fancybox.iframe" id="soLink"></a>
  30. {if isset($opc) && $opc}
  31. <script type="text/javascript">
  32. var opc = true;
  33. </script>
  34. {else}
  35. <script type="text/javascript">
  36. var opc = false;
  37. </script>
  38. {/if}
  39. {if isset($already_select_delivery) && $already_select_delivery}
  40. <script type="text/javascript">
  41. var already_select_delivery = true;
  42. </script>
  43. {else}
  44. <script type="text/javascript">
  45. var already_select_delivery = false;
  46. </script>
  47. {/if}
  48. <script type="text/javascript">
  49. var link_socolissimo = "{$link_socolissimo|escape:'UTF-8'}";
  50. var soInputs = new Object();
  51. var soBwdCompat = "{$SOBWD_C|escape:'htmlall'}";
  52. var soCarrierId = "{$id_carrier|escape:'htmlall'}";
  53. var soSellerId = "{$id_carrier_seller|escape:'htmlall'}";
  54. var soToken = "{$token|escape:'htmlall'}";
  55. var initialCost_label = "{$initialCost_label|escape:'htmlall'}";
  56. var initialCost = "{$initialCost|escape:'htmlall'}";
  57. var taxMention = "{$taxMention|escape:'htmlall'}";
  58. var baseDir = '{$content_dir|escape:'htmlall'}';
  59. var rewriteActive = '{$rewrite_active|escape:'htmlall'}';
  60. {foreach from=$inputs item=input key=name name=myLoop}
  61. soInputs.{$name} = "{$input|strip_tags|addslashes}";
  62. {/foreach}
  63. {literal}
  64. $('#soLink').fancybox({
  65. 'width': 590,
  66. 'height': 810,
  67. 'autoScale': true,
  68. 'centerOnScroll': true,
  69. 'autoDimensions': false,
  70. 'transitionIn': 'none',
  71. 'transitionOut': 'none',
  72. 'hideOnOverlayClick': false,
  73. 'hideOnContentClick': false,
  74. 'showCloseButton': true,
  75. 'showIframeLoading': true,
  76. 'enableEscapeButton': true,
  77. 'type': 'iframe',
  78. onStart: function () {
  79. if (soBwdCompat)
  80. $('#soLink').attr('href', link_socolissimo + serialiseInput(soInputs));
  81. else
  82. $('#soLink').attr('href', baseDir + 'modules/socolissimo/redirect.php' + serialiseInput(soInputs));
  83. },
  84. onClosed: function () {
  85. $.ajax({
  86. type: 'GET',
  87. url: baseDir + '/modules/socolissimo/ajax.php',
  88. async: false,
  89. cache: false,
  90. dataType: "json",
  91. data: "token=" + soToken,
  92. success: function (jsonData) {
  93. if (jsonData && jsonData.answer && typeof jsonData.answer != undefined && !opc) {
  94. if (jsonData.answer)
  95. $('#form').submit();
  96. else if (jsonData.msg.length)
  97. alert(jsonData.msg);
  98. }
  99. },
  100. error: function (XMLHttpRequest, textStatus, errorThrown) {
  101. alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);
  102. }
  103. });
  104. }
  105. });
  106. $(document).ready(function ()
  107. {
  108. var interval;
  109. $('#soLink').attr('href', baseDir + 'modules/socolissimo/redirect.php' + serialiseInput(soInputs));
  110. // 1.4 way
  111. if (!soBwdCompat)
  112. {
  113. $($('#carrierTable input#id_carrier' + soCarrierId).parent().parent()).find('.carrier_price .price').html(initialCost_label + '<br/>' + initialCost);
  114. $($('#carrierTable input#id_carrier' + soCarrierId).parent().parent()).find('.carrier_price').css('white-space', 'nowrap');
  115. $('input[name=id_carrier]').change(function () {
  116. so_click();
  117. });
  118. so_click();
  119. }
  120. // 1.5 way
  121. else {
  122. $('input.delivery_option_radio').each(function ()
  123. {
  124. if ($(this).val() == soCarrierId + ',') {
  125. $(this).next().children().children().find('div.delivery_option_price').html(initialCost_label + '<br/>' + initialCost + taxMention);
  126. // 1.6 themes
  127. if ($(this).next().children('div.delivery_option_price').length == 0)
  128. $(this).parents('tr').children('td.delivery_option_price').find('div.delivery_option_price').html(initialCost_label + '<br/>' + initialCost + taxMention);
  129. }
  130. });
  131. if (soCarrierId)
  132. so_click();
  133. }
  134. $('.delivery_option').each(function ( ) {
  135. if ($(this).children('.delivery_option_radio').val() == '{/literal}{$id_carrier_seller}{literal},') {
  136. $(this).remove();
  137. }
  138. });
  139. $('#id_carrier{/literal}{$id_carrier_seller}{literal}').parent().parent().remove();
  140. });
  141. function so_click()
  142. {
  143. if (opc) {
  144. if (!already_select_delivery || !$('#edit_socolissimo').length)
  145. modifyCarrierLine();
  146. }
  147. else if ((!soBwdCompat && $('#id_carrier' + soCarrierId).is(':not(:checked)')) ||
  148. (soBwdCompat && soCarrierId == 0)) {
  149. $('[name=processCarrier]').unbind('click').live('click', function () {
  150. return true;
  151. });
  152. } else {
  153. $('[name=processCarrier]').unbind('click').live('click', function () {
  154. if (($('#id_carrier' + soCarrierId).is(':checked')) || ($('.delivery_option_radio:checked').val() == soCarrierId + ','))
  155. {
  156. if (acceptCGV()) {
  157. if (soBwdCompat)
  158. $('#soLink').attr('href', link_socolissimo + serialiseInput(soInputs));
  159. else
  160. $('#soLink').attr('href', baseDir + 'modules/socolissimo/redirect.php' + serialiseInput(soInputs));
  161. $("#soLink").trigger("click");
  162. }
  163. return false;
  164. }
  165. return true;
  166. });
  167. }
  168. }
  169. function modifyCarrierLine()
  170. {
  171. if (soBwdCompat)
  172. var carrier = $('input.delivery_option_radio:checked');
  173. else {
  174. var carrier = $('input[name=id_carrier]:checked');
  175. var container = '#id_carrier' + soCarrierId;
  176. }
  177. if ((carrier.val() == soCarrierId) || (carrier.val() == soCarrierId + ',')) {
  178. if (soBwdCompat) {
  179. carrier.next().children().children().find('div.delivery_option_delay').append('<div><a class="exclusive_large" id="button_socolissimo" href="#" onclick="redirect();return;" >{/literal}{$select_label}{literal}</a></div>');
  180. // 1.6 theme
  181. carrier.parent().parent().parent().parent().find('td.delivery_option_price').before('<td><div><a class="exclusive_large" id="button_socolissimo" href="#" onclick="redirect();return;" style="text-align:center;" >{/literal}{$select_label}{literal}</a></div></td>');
  182. }
  183. else
  184. $(container).parent().siblings('.carrier_infos').append('<a class="exclusive_large" id="button_socolissimo" href="#" onclick="redirect();return;" >{/literal}{$select_label}{literal}</a>');
  185. } else {
  186. $('#button_socolissimo').remove();
  187. }
  188. if (already_select_delivery)
  189. {
  190. $(container).css('display', 'block');
  191. $(container).css('margin', 'auto');
  192. $(container).css('margin-top', '5px');
  193. } else
  194. if (soBwdCompat)
  195. $(container).css('display', 'none');
  196. }
  197. function redirect()
  198. {
  199. if (soBwdCompat)
  200. $('#soLink').attr('href', link_socolissimo + serialiseInput(soInputs));
  201. else
  202. $('#soLink').attr('href', baseDir + 'modules/socolissimo/redirect.php' + serialiseInput(soInputs));
  203. $("#soLink").trigger("click");
  204. return false;
  205. }
  206. function serialiseInput(inputs)
  207. {
  208. if (soBwdCompat && !rewriteActive)
  209. var str = '&first_call=1&';
  210. else
  211. var str = '?first_call=1&';
  212. for (var cle in inputs)
  213. str += cle + '=' + inputs[cle] + '&';
  214. return (str + 'gift=' + $('#gift').attr('checked') + '&gift_message=' + $('#gift_message').attr('value'));
  215. }
  216. {/literal}
  217. </script>