domain-renewals.tpl 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. {include file="orderforms/{$carttpl}/common.tpl"}
  2. {if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
  3. {include file="templates/orderforms/{$carttpl}/layouts/head.tpl"}
  4. {/if}
  5. <div id="order-standard_cart">
  6. <div class="row">
  7. <div class="col-md-12">
  8. {if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
  9. {else}
  10. <div class="header-lined">
  11. <h1>
  12. {if $totalResults > 1}{lang key='domainrenewals'}{else}{lang key='domainrenewal'}{/if}
  13. {if $totalResults > 5}
  14. <div class="pull-right">
  15. <input id="domainRenewalFilter" type="search" class="domain-renewals-filter form-control input-inline-100" placeholder="{lang key='searchenterdomain'}">
  16. </div>
  17. {/if}
  18. </h1>
  19. </div>
  20. {/if}
  21. </div>
  22. <div class="col-md-12">
  23. {include file="orderforms/{$carttpl}/sidebar-categories-collapsed.tpl"}
  24. {if $totalDomainCount == 0}
  25. <div id="no-domains" class="alert alert-warning text-center" role="alert">
  26. {$LANG.domainRenewal.noDomains}
  27. </div>
  28. <p class="text-center">
  29. <a href="clientarea.php" class="btn btn-default">
  30. <i class="fas fa-arrow-circle-left"></i>
  31. {$LANG.orderForm.returnToClientArea}
  32. </a>
  33. </p>
  34. {else}
  35. <div class="row ajaxcart_cont">
  36. <div class="col-md-8 col-lg-9">
  37. {if $totalResults < $totalDomainCount}
  38. <div class="text-center">
  39. {lang key='domainRenewal.showingDomains' showing=$totalResults totalCount=$totalDomainCount}
  40. <a id="linkShowAll" href="{routePath('cart-domain-renewals')}">{lang key='domainRenewal.showAll'}</a>
  41. </div>
  42. {/if}
  43. <div id="domainRenewals" class="domain-renewals">
  44. {foreach $renewalsData as $renewalData}
  45. <div class="domain-renewal card bg-white p-0" data-domain="{$renewalData.domain}">
  46. <div class="card-body p-3">
  47. <div class="pull-right text-right">
  48. {if !$renewalData.eligibleForRenewal}
  49. <span class="label label-info">
  50. {lang key='domainRenewal.unavailable'}
  51. </span>
  52. {elseif ($renewalData.pastGracePeriod && $renewalData.pastRedemptionGracePeriod)}
  53. <span class="label label-info">
  54. {lang key='domainrenewalspastgraceperiod'}
  55. </span>
  56. {elseif !$renewalData.beforeRenewLimit && $renewalData.daysUntilExpiry > 0}
  57. <span class="label label-{if $renewalData.daysUntilExpiry > 30}success{else}warning{/if}">
  58. {lang key='domainRenewal.expiringIn' days=$renewalData.daysUntilExpiry}
  59. </span>
  60. {elseif $renewalData.daysUntilExpiry === 0}
  61. <span class="label label-grey">
  62. {lang key='expiresToday'}
  63. </span>
  64. {elseif $renewalData.beforeRenewLimit}
  65. <span class="label label-info">
  66. {lang key='domainRenewal.maximumAdvanceRenewal' days=$renewalData.beforeRenewLimitDays}
  67. </span>
  68. {else}
  69. <span class="label label-danger">
  70. {lang key='domainRenewal.expiredDaysAgo' days=$renewalData.daysUntilExpiry*-1}
  71. </span>
  72. {/if}
  73. </div>
  74. <h4 class="m-0">{$renewalData.domain}</h4>
  75. <p class="small text-muted">{lang key='clientareadomainexpirydate'}: {$renewalData.expiryDate->format('j M Y')} ({$renewalData.expiryDate->diffForHumans()})</p>
  76. {if ($renewalData.pastGracePeriod && $renewalData.pastRedemptionGracePeriod) || !count($renewalData.renewalOptions)}
  77. {else}
  78. <form>
  79. <div class="form-group row">
  80. <label for="renewalPricing{$renewalData.id}" class="control-label col-md-5">
  81. {lang key='domainRenewal.availablePeriods'}
  82. {if $renewalData.inGracePeriod || $renewalData.inRedemptionGracePeriod}
  83. *
  84. {/if}
  85. </label>
  86. <div class="col-sm-12">
  87. <select class="form-control select-renewal-pricing" id="renewalPricing{$renewalData.id}" data-domain-id="{$renewalData.id}">
  88. {foreach $renewalData.renewalOptions as $renewalOption}
  89. <option value="{$renewalOption.period}">
  90. {$renewalOption.period} {lang key='orderyears'} @ {$renewalOption.rawRenewalPrice}
  91. {if $renewalOption.gracePeriodFee && $renewalOption.gracePeriodFee->toNumeric() != 0.00}
  92. + {$renewalOption.gracePeriodFee} {lang key='domainRenewal.graceFee'}
  93. {/if}
  94. {if $renewalOption.redemptionGracePeriodFee && $renewalOption.redemptionGracePeriodFee->toNumeric() != 0.00}
  95. + {$renewalOption.redemptionGracePeriodFee} {lang key='domainRenewal.redemptionFee'}
  96. {/if}
  97. </option>
  98. {/foreach}
  99. </select>
  100. </div>
  101. </div>
  102. </form>
  103. {/if}
  104. </div>
  105. <div class="card-footer pull-right text-right">
  106. {if !$renewalData.eligibleForRenewal || $renewalData.beforeRenewLimit || ($renewalData.pastGracePeriod && $renewalData.pastRedemptionGracePeriod)}
  107. {else}
  108. <button id="renewDomain{$renewalData.id}" class="btn btn-primary btn-sm btn-add-renewal-to-cart" data-domain-id="{$renewalData.id}">
  109. <span class="to-add">
  110. <i class="fas fa-fw fa-spinner fa-spin"></i>
  111. {lang key='addtocart'}
  112. </span>
  113. <span class="added">{lang key='domaincheckeradded'}</span>
  114. </button>
  115. {/if}
  116. </div>
  117. </div>
  118. {/foreach}
  119. </div>
  120. {if $hasDomainsInGracePeriod}
  121. <div class="text-muted">
  122. * {lang key='domainRenewal.graceRenewalPeriodDescription'}
  123. </div>
  124. {/if}
  125. </div>
  126. <div class="col-md-4 col-lg-3">
  127. <div id="sidebar">
  128. <div class="sidebar__inner blocks cartsummary">
  129. <div>
  130. <div class="order-summary">
  131. <div class="loader" id="orderSummaryLoader">
  132. <i class="fas fa-fw fa-sync fa-spin"></i>
  133. </div>
  134. <h2>{lang key='ordersummary'}</h2>
  135. <div class="summary-container" id="producttotal"></div>
  136. </div>
  137. <div class="text-center">
  138. <a id="btnGoToCart" class="btn btn-primary btn-lg" href="{$WEB_ROOT}/cart.php?a=view">
  139. {lang key='viewcart'}
  140. <i class="far fa-shopping-cart"></i>
  141. </a>
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. </div>
  148. {/if}
  149. </div>
  150. </div>
  151. <form id="removeRenewalForm" method="post" action="{$WEB_ROOT}/cart.php">
  152. <input type="hidden" name="a" value="remove" />
  153. <input type="hidden" name="r" value="" id="inputRemoveItemType" />
  154. <input type="hidden" name="i" value="" id="inputRemoveItemRef" />
  155. <div class="modal fade modal-remove-item" id="modalRemoveItem" tabindex="-1" role="dialog">
  156. <div class="modal-dialog" role="document">
  157. <div class="modal-content">
  158. <div class="modal-header d-block">
  159. <h4 class="modal-title m-0">
  160. <button type="button" class="close" data-dismiss="modal" aria-label="{lang key='orderForm.close'}">
  161. <span aria-hidden="true">&times;</span>
  162. </button>
  163. <span>{lang key='orderForm.removeItem'}</span>
  164. </h4>
  165. </div>
  166. <div class="modal-body">
  167. {lang key='cartremoveitemconfirm'}
  168. </div>
  169. <div class="modal-footer d-block">
  170. <button type="button" class="btn btn-default" data-dismiss="modal">{lang key='no'}</button>
  171. <button type="submit" class="btn btn-primary">{lang key='yes'}</button>
  172. </div>
  173. </div>
  174. </div>
  175. </div>
  176. </form>
  177. </div>
  178. {if file_exists("templates/orderforms/{$carttpl}/layouts/foot.tpl")}
  179. {include file="templates/orderforms/{$carttpl}/layouts/foot.tpl"}
  180. {/if}
  181. <script>recalculateRenewalTotals();</script>
  182. <script type="text/javascript" src="{$WEB_ROOT}/templates/orderforms/{$carttpl}/js/ResizeSensor.js"></script>
  183. <script type="text/javascript" src="{$WEB_ROOT}/templates/orderforms/{$carttpl}/js/jquery.sticky-sidebar.min.js"></script>
  184. <script>
  185. jQuery('#sidebar').stickySidebar({
  186. topSpacing: 60,
  187. bottomSpacing: 60,
  188. minWidth: 992,
  189. containerSelector: '.ajaxcart_cont',
  190. innerWrapperSelector: '.sidebar__inner'
  191. });
  192. </script>