PageRenderTime 45ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/admin/view/template/feed/google_base.tpl

https://gitlab.com/reclamare/mao
Smarty Template | 248 lines | 225 code | 23 blank | 0 comment | 14 complexity | 3e476767c79ab72c0500b338c04fc3f7 MD5 | raw file
  1. <?php echo $header; ?><?php echo $column_left; ?>
  2. <div id="content">
  3. <div class="page-header">
  4. <div class="container-fluid">
  5. <div class="pull-right">
  6. <button type="button" id="button-import" data-toggle="tooltip" title="<?php echo $button_import; ?>" class="btn btn-success"><i class="fa fa fa-upload"></i></button>
  7. <button type="submit" form="form-google-base" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button>
  8. <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
  9. <h1><?php echo $heading_title; ?></h1>
  10. <ul class="breadcrumb">
  11. <?php foreach ($breadcrumbs as $breadcrumb) { ?>
  12. <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
  13. <?php } ?>
  14. </ul>
  15. </div>
  16. </div>
  17. <div class="container-fluid">
  18. <?php if ($error_warning) { ?>
  19. <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?>
  20. <button type="button" class="close" data-dismiss="alert">&times;</button>
  21. </div>
  22. <?php } ?>
  23. <div class="panel panel-default">
  24. <div class="panel-heading">
  25. <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3>
  26. </div>
  27. <div class="panel-body">
  28. <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $text_import; ?> <button type="button" class="close" data-dismiss="alert">×</button></div>
  29. <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-google-base" class="form-horizontal">
  30. <div id="category"></div>
  31. <br />
  32. <div class="form-group">
  33. <label class="col-sm-2 control-label" for="input-data-feed"><?php echo $entry_google_category; ?></label>
  34. <div class="col-sm-10">
  35. <input type="text" name="google_base_category" value="" placeholder="<?php echo $entry_google_category; ?>" id="input-google-category" class="form-control" />
  36. <input type="hidden" name="google_base_category_id" value="" />
  37. <div class="input-group">
  38. <input type="text" name="category" value="" placeholder="<?php echo $entry_category; ?>" id="input-category" class="form-control" />
  39. <input type="hidden" name="category_id" value="" />
  40. <span class="input-group-btn"><button type="button" id="button-category-add" data-toggle="tooltip" title="<?php echo $button_category_add; ?>" class="btn btn-primary"><i class="fa fa-plus"></i></button></span>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="form-group">
  45. <label class="col-sm-2 control-label" for="input-data-feed"><?php echo $entry_data_feed; ?></label>
  46. <div class="col-sm-10">
  47. <textarea rows="5" id="input-data-feed" class="form-control" readonly><?php echo $data_feed; ?></textarea>
  48. </div>
  49. </div>
  50. <div class="form-group">
  51. <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label>
  52. <div class="col-sm-10">
  53. <select name="google_base_status" id="input-status" class="form-control">
  54. <?php if ($google_base_status) { ?>
  55. <option value="1" selected="selected"><?php echo $text_enabled; ?></option>
  56. <option value="0"><?php echo $text_disabled; ?></option>
  57. <?php } else { ?>
  58. <option value="1"><?php echo $text_enabled; ?></option>
  59. <option value="0" selected="selected"><?php echo $text_disabled; ?></option>
  60. <?php } ?>
  61. </select>
  62. </div>
  63. </div>
  64. </form>
  65. </div>
  66. </div>
  67. </div>
  68. <script type="text/javascript"><!--
  69. // Google Category
  70. $('input[name=\'google_base_category\']').autocomplete({
  71. 'source': function(request, response) {
  72. $.ajax({
  73. url: 'index.php?route=feed/google_base/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request),
  74. dataType: 'json',
  75. success: function(json) {
  76. response($.map(json, function(item) {
  77. return {
  78. label: item['name'],
  79. value: item['google_base_category_id']
  80. }
  81. }));
  82. },
  83. error: function(xhr, ajaxOptions, thrownError) {
  84. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  85. }
  86. });
  87. },
  88. 'select': function(item) {
  89. $(this).val(item['label']);
  90. $('input[name=\'google_base_category_id\']').val(item['value']);
  91. }
  92. });
  93. // Category
  94. $('input[name=\'category\']').autocomplete({
  95. 'source': function(request, response) {
  96. $.ajax({
  97. url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request),
  98. dataType: 'json',
  99. success: function(json) {
  100. response($.map(json, function(item) {
  101. return {
  102. label: item['name'],
  103. value: item['category_id']
  104. }
  105. }));
  106. },
  107. error: function(xhr, ajaxOptions, thrownError) {
  108. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  109. }
  110. });
  111. },
  112. 'select': function(item) {
  113. $(this).val(item['label']);
  114. $('input[name="category_id"]').val(item['value']);
  115. }
  116. });
  117. $('#category').delegate('.pagination a', 'click', function(e) {
  118. e.preventDefault();
  119. $('#category').load(this.href);
  120. });
  121. $('#category').load('index.php?route=feed/google_base/category&token=<?php echo $token; ?>');
  122. $('#button-category-add').on('click', function() {
  123. $.ajax({
  124. url: 'index.php?route=feed/google_base/addcategory&token=<?php echo $token; ?>',
  125. type: 'post',
  126. dataType: 'json',
  127. data: 'google_base_category_id=' + $('input[name=\'google_base_category_id\']').val() + '&category_id=' + $('input[name=\'category_id\']').val(),
  128. beforeSend: function() {
  129. $('#button-category-add').button('loading');
  130. },
  131. complete: function() {
  132. $('#button-category-add').button('reset');
  133. },
  134. success: function(json) {
  135. $('.alert').remove();
  136. if (json['error']) {
  137. $('#category').before('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  138. }
  139. if (json['success']) {
  140. $('#category').load('index.php?route=feed/google_base/category&token=<?php echo $token; ?>');
  141. $('#category').before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  142. $('input[name=\'category\']').val('');
  143. $('input[name=\'category_id\']').val('');
  144. $('input[name=\'google_base_category\']').val('');
  145. $('input[name=\'google_base_category_id\']').val('');
  146. }
  147. },
  148. error: function(xhr, ajaxOptions, thrownError) {
  149. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  150. }
  151. });
  152. });
  153. $('#category').delegate('.btn-danger', 'click', function() {
  154. var node = this;
  155. $.ajax({
  156. url: 'index.php?route=feed/google_base/removecategory&token=<?php echo $token; ?>',
  157. type: 'post',
  158. data: 'category_id=' + encodeURIComponent(this.value),
  159. dataType: 'json',
  160. crossDomain: true,
  161. beforeSend: function() {
  162. $(node).button('loading');
  163. },
  164. complete: function() {
  165. $(node).button('reset');
  166. },
  167. success: function(json) {
  168. $('.alert').remove();
  169. // Check for errors
  170. if (json['error']) {
  171. $('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  172. }
  173. if (json['success']) {
  174. $('#category').load('index.php?route=feed/google_base/category&token=<?php echo $token; ?>');
  175. $('#category').before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  176. }
  177. },
  178. error: function(xhr, ajaxOptions, thrownError) {
  179. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  180. }
  181. });
  182. });
  183. $('#button-import').on('click', function() {
  184. $('#form-upload').remove();
  185. $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>');
  186. $('#form-upload input[name=\'file\']').trigger('click');
  187. if (typeof timer != 'undefined') {
  188. clearInterval(timer);
  189. }
  190. timer = setInterval(function() {
  191. if ($('#form-upload input[name=\'file\']').val() != '') {
  192. clearInterval(timer);
  193. $.ajax({
  194. url: 'index.php?route=feed/google_base/import&token=<?php echo $token; ?>',
  195. type: 'post',
  196. dataType: 'json',
  197. data: new FormData($('#form-upload')[0]),
  198. cache: false,
  199. contentType: false,
  200. processData: false,
  201. beforeSend: function() {
  202. $('#button-import').button('loading');
  203. },
  204. complete: function() {
  205. $('#button-import').button('reset');
  206. },
  207. success: function(json) {
  208. $('.alert').remove();
  209. if (json['error']) {
  210. $('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  211. }
  212. if (json['success']) {
  213. $('#content > .container-fluid').prepend('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
  214. }
  215. },
  216. error: function(xhr, ajaxOptions, thrownError) {
  217. alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
  218. }
  219. });
  220. }
  221. }, 500);
  222. });
  223. //--></script>
  224. </div>
  225. <?php echo $footer; ?>