Advertisement
Twissel

fineuploader

Oct 3rd, 2015
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <div id="restricted-fine-uploader"></div>
  2.             <div style="clear:both;"></div>
  3.                         <div style="clear:both;"></div>
  4.            
  5.             <script>
  6.                 $(document).ready(function() {
  7.  
  8.                     $('.qq-upload-delete').on('click', function(evt) {
  9.                         evt.preventDefault();
  10.                         var parent = $(this).parent()
  11.                         var result = confirm('Это действие не может быть отменено. Вы уверены, что хотите продолжить?');
  12.                         var urlrequest = '';
  13.                         if($(this).attr('ajaxfile')!=undefined) {
  14.                             urlrequest = 'ajax_photo='+$(this).attr('ajaxfile');
  15.                         } else {
  16.                             urlrequest = 'id='+$(this).attr('photoid')+'&item='+$(this).attr('itemid')+'&code='+$(this).attr('photoname')+'&secret='+$(this).attr('photosecret');
  17.                         }
  18.                         if(result) {
  19.                             $.ajax({
  20.                                 type: "POST",
  21.                                 url: 'http://site.com/index.php?page=ajax&action=delete_image&'+urlrequest,
  22.                                 dataType: 'json',
  23.                                 success: function(data){
  24.                                     parent.remove();
  25.                                 }
  26.                             });
  27.                         }
  28.                     });
  29.  
  30.                     $('#restricted-fine-uploader').on('click','.primary_image', function(event){
  31.                         if(parseInt($("div.primary_image").index(this))>0){
  32.  
  33.                             var a_src   = $(this).parent().find('.ajax_preview_img img').attr('src');
  34.                             var a_title = $(this).parent().find('.ajax_preview_img img').attr('alt');
  35.                             var a_input = $(this).parent().find('input').attr('value');
  36.                             // info
  37.                             var a1 = $(this).parent().find('span.qq-upload-file').text();
  38.                             var a2 = $(this).parent().find('span.qq-upload-size').text();
  39.  
  40.                             var li_first =  $('ul.qq-upload-list li').get(0);
  41.  
  42.                             var b_src   = $(li_first).find('.ajax_preview_img img').attr('src');
  43.                             var b_title = $(li_first).find('.ajax_preview_img img').attr('alt');
  44.                             var b_input = $(li_first).find('input').attr('value');
  45.                             var b1      = $(li_first).find('span.qq-upload-file').text();
  46.                             var b2      = $(li_first).find('span.qq-upload-size').text();
  47.  
  48.                             $(li_first).find('.ajax_preview_img img').attr('src', a_src);
  49.                             $(li_first).find('.ajax_preview_img img').attr('alt', a_title);
  50.                             $(li_first).find('input').attr('value', a_input);
  51.                             $(li_first).find('span.qq-upload-file').text(a1);
  52.                             $(li_first).find('span.qq-upload-size').text(a2);
  53.  
  54.                             $(this).parent().find('.ajax_preview_img img').attr('src', b_src);
  55.                             $(this).parent().find('.ajax_preview_img img').attr('alt', b_title);
  56.                             $(this).parent().find('input').attr('value', b_input);
  57.                             $(this).parent().find('span.qq-upload-file').text(b1);
  58.                             $(this).parent().find('span.qq-upload-file').text(b2);
  59.                         }
  60.                     });
  61.  
  62.                     $('#restricted-fine-uploader').on('click','.primary_image', function(event){
  63.                         $(this).addClass('over primary');
  64.                     });
  65.  
  66.                     $('#restricted-fine-uploader').on('mouseenter mouseleave','.primary_image', function(event){
  67.                         if(event.type=='mouseenter') {
  68.                             if(!$(this).hasClass('primary')) {
  69.                                 $(this).addClass('primary');
  70.                             }
  71.                         } else {
  72.                             if(parseInt($("div.primary_image").index(this))>0){
  73.                                 $(this).removeClass('primary');
  74.                             }
  75.                         }
  76.                     });
  77.  
  78.  
  79.                     $('#restricted-fine-uploader').on('mouseenter mouseleave','li.qq-upload-success', function(event){
  80.                         if(parseInt($("li.qq-upload-success").index(this))>0){
  81.  
  82.                             if(event.type=='mouseenter') {
  83.                                 $(this).find('div.primary_image').addClass('over');
  84.                             } else {
  85.                                 $(this).find('div.primary_image').removeClass('over');
  86.                             }
  87.                         }
  88.                     });
  89.  
  90.                     window.removed_images = 0;
  91.                     $('#restricted-fine-uploader').on('click', 'a.qq-upload-delete', function(event) {
  92.                         window.removed_images = window.removed_images+1;
  93.                         $('#restricted-fine-uploader .flashmessage-error').remove();
  94.                     });
  95.  
  96.                     $('#restricted-fine-uploader').fineUploader({
  97.                         request: {
  98.                             endpoint: 'http://site.com/index.php?page=ajax&action=ajax_upload'
  99.                         },
  100.                         multiple: true,
  101.                         validation: {
  102.                             allowedExtensions: ['png','gif','jpg','jpeg'],
  103.                             sizeLimit: 10240000,
  104.                             itemLimit: 50                        },
  105.                         messages: {
  106.                             tooManyItemsError: 'Слишком много товаров ({netItems}) будет загружено. Предел {itemLimit}.',
  107.                             onLeave: 'Файлы загружаются, если вы оставите сейчас закачка будет отменена.',
  108.                             typeError: '{file} имеет недопустимое расширение. Разрешенные расширения: {extensions}.',
  109.                             sizeError: '{file} слишком большой, максимальный размер файла {sizeLimit}.',
  110.                             emptyError: '{file} пустой, выберите файлы еще раз без этого.'
  111.                         },
  112.                         deleteFile: {
  113.                             enabled: true,
  114.                             method: "POST",
  115.                             forceConfirm: false,
  116.                             endpoint: 'http://site.com/index.php?page=ajax&action=delete_ajax_upload'
  117.                         },
  118.                         retry: {
  119.                             showAutoRetryNote : true,
  120.                             showButton: true
  121.                         },
  122.                         text: {
  123.                             uploadButton: 'Нажмите или перетащите для загрузки изображений',
  124.                             waitingForResponse: 'Процесс...',
  125.                             retryButton: 'Повторить',
  126.                             cancelButton: 'Отмена',
  127.                             failUpload: 'Ошибка загрузки',
  128.                             deleteButton: 'Удалить',
  129.                             deletingStatusText: 'Удаление...',
  130.                             formatProgress: '{percent}% из {total_size}'
  131.                         }
  132.                     }).on('error', function (event, id, name, errorReason, xhrOrXdr) {
  133.                             $('#restricted-fine-uploader .flashmessage-error').remove();
  134.                             $('#restricted-fine-uploader').append('<div class="flashmessage flashmessage-error">' + errorReason + '<a class="close" onclick="javascript:$(\'.flashmessage-error\').remove();" >X</a></div>');
  135.                     }).on('statusChange', function(event, id, old_status, new_status) {
  136.                         $(".alert.alert-error").remove();
  137.                     }).on('complete', function(event, id, fileName, responseJSON) {
  138.                         if (responseJSON.success) {
  139.                             var new_id = id - removed_images;
  140.                             var li = $('.qq-upload-list li')[new_id];
  141.                                                         if(parseInt(new_id)==0) {
  142.                                 $(li).append('<div class="primary_image primary"></div>');
  143.                             } else {
  144.                                 $(li).append('<div class="primary_image"><a title="Выберите главное изображение"></a></div>');
  145.                             }
  146.                                                         $(li).append('<div class="ajax_preview_img"><img src="http://site.com/oc-content/uploads/temp/'+responseJSON.uploadName+'" alt="' + responseJSON.uploadName + '"></div>');
  147.                             $(li).append('<input type="hidden" name="ajax_photos[]" value="'+responseJSON.uploadName+'"></input>');
  148.                         }
  149.                                         });
  150.                                 });
  151.  
  152.             </script>
  153.         </div>
  154.  
  155.  
  156.  
  157.                  <div class="actions">
  158.                     <div id="photos"></div>
  159.                 <a href="#" onclick="addNewPhoto(); return false;">Добавить ещё фото</a>
  160.             </div>
  161.                         <div class="publish-hook">
  162.             <script type="text/javascript">
  163.     var catPriceEnabled = new Array();
  164.     catPriceEnabled[98] = 1;catPriceEnabled[96] = 1;catPriceEnabled[97] = 1;catPriceEnabled[99] = 0;    $("#catId").change(function(){
  165.         var cat_id = $(this).val();
  166.                 var url = 'http://site.com/index.php';
  167.                 var result = '';
  168.  
  169.         if(cat_id != '') {
  170.             if(catPriceEnabled[cat_id] == 1) {
  171.                 $("#price").closest("div").show();
  172.                                 // trigger show-price event
  173.                                 $('#price').trigger('show-price');
  174.             } else {
  175.                 $("#price").closest("div").hide();
  176.                 $('#price').val('') ;
  177.                                 // trigger hide-price event
  178.                                 $('#price').trigger('hide-price');
  179.             }
  180.  
  181.             $.ajax({
  182.                 type: "POST",
  183.                 url: url,
  184.                 data: 'page=ajax&action=runhook&hook=item_form&catId=' + cat_id,
  185.                 dataType: 'html',
  186.                 success: function(data){
  187.                     $("#plugin-hook").html(data);
  188.                 }
  189.             });
  190.         }
  191.     });
  192.     $(document).ready(function(){
  193.         var cat_id = $("#catId").val();
  194.                 var url = 'http://site.com/index.php';
  195.                 var result = '';
  196.        
  197.  
  198.         if(cat_id != '') {
  199.             if(catPriceEnabled[cat_id] == 1) {
  200.                 $("#price").closest("div").show();
  201.             } else {
  202.                 $("#price").closest("div").hide();
  203.                 $('#price').val('') ;
  204.             }
  205.  
  206.             $.ajax({
  207.                 type: "POST",
  208.                 url: url,
  209.                 data: 'page=ajax&action=runhook&hook=item_form&catId=' + cat_id,
  210.                 dataType: 'html',
  211.                 success: function(data){
  212.                     $("#plugin-hook").html(data);
  213.                 }
  214.             });
  215.         }
  216.     });
  217. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement