Проверка размера постера 1.1

Нет прав для скачивания
Совместимость
проверялся на совместимость
Изменения в БД
не требуются
Общественное достояние
нет
Установить по инструкции или же просто заменить файлы с архива
используем вот так poster[img,POSTER,req,WxH:500x500]
рип аддона с rutracker.org

2016-06-27_163012.png
Инструкция по установке
Добавить в jquery.pack.js

Код:
Добавить в jquery.pack.js
;// js/lib/jquery/jquery.imagesloaded.js
!function(a,b){"use strict";var c="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";a.fn.imagesLoaded=function(d){function e(){var b=a(l),c=a(m);h&&(m.length?h.reject(j,b,c):h.resolve(j)),a.isFunction(d)&&d.call(g,j,b,c)}function f(b,d){b.src!==c&&-1===a.inArray(b,k)&&(k.push(b),d?m.push(b):l.push(b),a.data(b,"imagesLoaded",{isBroken:d,src:b.src}),i&&h.notifyWith(a(b),[d,j,a(l),a(m)]),j.length===k.length&&(setTimeout(e),j.unbind(".imagesLoaded")))}var g=this,h=a.isFunction(a.Deferred)?a.Deferred():0,i=a.isFunction(h.notify),j=g.find("img").add(g.filter("img")),k=[],l=[],m=[];return a.isPlainObject(d)&&a.each(d,function(a,b){"callback"===a?d=b:h&&h[a](b)}),j.length?j.bind("load.imagesLoaded error.imagesLoaded",function(a){f(a.target,"error"===a.type)}).each(function(d,e){var g=e.src,h=a.data(e,"imagesLoaded");return h&&h.src===g?void f(e,h.isBroken):e.complete&&e.naturalWidth!==b?void f(e,0===e.naturalWidth||0===e.naturalHeight):void((e.readyState||e.complete)&&(e.src=c,e.src=g))}):e(),h?h.promise(g):g}}(jQuery);

Найти
   // количество найденных ошибок при заполнении формы

Вставить перед

   images: {/* {img_id: Image()} */},  // загружаемые для проверки картинки
   img_wait_load: {/* {img_id: timer_id} */},  // для задержки submit пока картинки не загрузятся ИЛИ же загрузка не отвалится по timeout
   img_load_timeout: 10000,  // ms; отмена проверки, если картинка не успела полностью загрузится за это время

   load_and_check_img: function(el, img_url, max_W, max_H) {
     var img_id = $P.md5(''+el+img_url.toLowerCase());

     if ( !(img_id in TPL.images) ) {
       TPL.images[img_id] = new Image();
       TPL.images[img_id].src = img_url;
     }
     // submit будет задержан, пока TPL.img_wait_load не пустой
     TPL.img_wait_load[img_id] = setTimeout(function(){
       TPL.cancel_wait_load(img_id);
     }, TPL.img_load_timeout);
     $(TPL.images[img_id]).imagesLoaded( function(){ TPL.check_img_size(img_id, el, max_W, max_H) } );
     TPL.add_loading_icon(el, img_id);
   },

   check_img_size: function(img_id, el, max_W, max_H) {
     TPL.cancel_wait_load(img_id);
     var img = TPL.images[img_id];
     if (img.width > max_W || img.height > max_H) {
       var err_msg_id = 'big_img_'+ img_id;
       TPL.err_msg[err_msg_id] = 'Максимальные ширина и высота должны быть <b>'+ max_W +'</b>x<b>'+ max_H +'</b>. У вас <b>'+ img.width +'</b>x<b>'+ img.height +'</b>';
       TPL.hl_form_err(el, err_msg_id);
     }
   },
   cancel_wait_load: function(img_id) {
     $(TPL.images[img_id]).unbind('.imagesLoaded');
     if (TPL.img_wait_load[img_id] != null) {
       clearTimeout(TPL.img_wait_load[img_id]);
       delete(TPL.img_wait_load[img_id]);
     }
     TPL.remove_loading_icon(img_id);
   },
   add_loading_icon: function(el, img_id) {
     var el_id = TPL.get_el_id(el);
     $('#'+el_id).parent('td').append('<div id="'+img_id+'" class="tpl-loading-icon"><i class="loading-1">загружается...</i></div>');
     $('#'+img_id).siblings('input[type="text"]').prop({readonly: true});
   },
   remove_loading_icon: function(img_id) {
     $('#'+img_id).siblings('input[type="text"]').prop({readonly: false});
     $('#'+img_id).remove();
   },
   disable_submit_btn: function() {
     $('#tpl-submit-btn').val('загружается...').prop({disabled: true});
   },
   enable_submit_btn: function() {
     if ( $.isEmptyObject(TPL.img_wait_load) ) {
       $('#tpl-submit-btn').val('Продолжить').prop({disabled: false});
     }
   },

Найти
     img_tag : /(https?:\/\/[^\s\?&;:=\#\"<>]+\.(jpg|jpeg|gif|png)(?!\[|\]|\.))/ig

Заменить

     img_tag : /(https?:\/\/[^\s\?&;:=\#\"<>]+\.(jpg|jpeg|gif|png)(?!\[|\]|\.))/ig,
     img_WxH : /^WxH:(\d+)x(\d+)$/

Найти

       if ($.inArray('img', at) != -1 && !TPL.reg['img'].test(el_val)) {
         TPL.hl_form_err(el, 'not_img');
         return true; // continue
       }

Заменить

       if ($.inArray('img', at) != -1) {
         if (!TPL.reg['img'].test(el_val)) {
           TPL.hl_form_err(el, 'not_img');
           return true; // continue
         }
         else {
           if ($.inArray('POSTER', at) != -1) {
             var WxH = $.grep( at, function(n,i){ return n.match(TPL.reg['img_WxH']) });
             if ( WxH.length && (m = WxH[0].match(TPL.reg['img_WxH'])) ) {
               TPL.load_and_check_img(el, el_val, m[1], m[2]);
             }
           }
         }
       }

Найти
   // удаление подсветки ошибок, сброс счетчика
   reset_f_errors: function() {

Заменить

   // удаление подсветки ошибок, сброс счетчика
   reset_f_errors: function() {
     for (var img_id in TPL.images) {
       TPL.cancel_wait_load(img_id);
     }
     TPL.f_errors_cnt = 0;
     $('tr.tpl-err-hl-tr').removeClass('tpl-err-hl-tr');
     $('.tpl-err-hl-input').removeClass('tpl-err-hl-input');
     $('div.tpl-err-hint').remove();
   },

Найти

function tpl_submit ()

Заменить

function tpl_build_and_submit ()
{
   if ( TPL.build_msg_all('tpl-post-message', 'tpl-post-subject') ) {
     tpl_submit();
   }
}

function tpl_submit ()
{
   if ( !$.isEmptyObject(TPL.img_wait_load) ) {
     TPL.disable_submit_btn();
     setTimeout(function(){ tpl_submit(); }, 1000);
   }
   else {
     if (!TPL.f_errors_cnt) {
       $('#tpl-post-form').submit();
     }
     TPL.enable_submit_btn();
   }
}

Найти
     <input type="button" value="Продолжить" class="bold" style="width: 150px;" onclick="tpl_submit(true);" />

Заменить

     <input type="button" value="Продолжить" class="bold" style="width: 150px;" onclick="tpl_build_and_submit();" />
Автор
Bender
Скачивания
14
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Bender

Последние обновления

  1. Дороботка

    аддон работал не правильно из за того что не заменил функцию tpl_submit