(function($) { jQuery('input[name^="cache"]').tipTip({'delay' : 0, 'fadeIn' : 200, 'fadeOut' : 200}); $('div.infos').delay(4000).slideUp('slow', function() { $('div.infos').hide(); }); var loader = new ImageLoader( {onChanged: loaderChanged, maxRequests:1 } ) , pending_next_page = null , last_image_show_time = 0 , allDoneDfd, urlDfd; jQuery.gdThumb_start = function () { allDoneDfd = jQuery.Deferred(); urlDfd = jQuery.Deferred(); allDoneDfd.always( function() { jQuery("#startLink").removeAttr('disabled').css("opacity", 1); jQuery("#pauseLink,#stopLink").attr('disabled', true).css("opacity", 0.5); }); urlDfd.always( function() { if (loader.remaining()==0) allDoneDfd.resolve(); }); setTimeout( function() { jQuery('#generate_cache').show(); jQuery("#startLink").attr('disabled', true).css("opacity", 0.5); jQuery("#pauseLink,#stopLink").removeAttr('disabled').css("opacity", 1); }, 0 ); loader.pause(false); updateStats(); getUrls(0); } jQuery.gdThumb_pause = function () { loader.pause( !loader.pause() ); } jQuery.gdThumb_stop = function () { loader.clear(); urlDfd.resolve(); } function getUrls(page_token) { data = {prev_page: page_token, max_urls: 500, types: []}; jQuery.post( 'admin.php?page=plugin-GDThumb&getMissingDerivative=', data, wsData, "json").fail( wsError ); } function wsData(data) { loader.add( data.urls ); if (data.next_page) { if (loader.pause() || loader.remaining() > 100) { pending_next_page = data.next_page; } else { getUrls(data.next_page); } } } function wsError() { urlDfd.reject(); } function updateStats() { jQuery("#loaded").text( loader.loaded ); jQuery("#errors").text( loader.errors ); jQuery("#remaining").text( loader.remaining() ); if (loader.remaining() == 0) { jQuery("#startLink").attr('disabled', false).css("opacity", 1); jQuery("#pauseLink,#stopLink").attr('disabled', true).css("opacity", 0.5); } } function loaderChanged(type, img) { updateStats(); if (img) { if (type==="load") { var now = jQuery.now(); if (now - last_image_show_time > 3000) { last_image_show_time = now; var h=img.height, url=img.src; jQuery("#feedbackWrap").hide("slide", {direction:'down'}, function() { last_image_show_time = jQuery.now(); if (h > 300 ) jQuery("#feedbackImg").attr("height", 300); else jQuery("#feedbackImg").removeAttr("height"); jQuery("#feedbackImg").attr("src", url); jQuery("#feedbackWrap").show("slide", {direction:'up'} ); } ); } } else { jQuery("#errorList").prepend( ''+img.src+'' + "
"); } } if (pending_next_page && 100 > loader.remaining() ) { getUrls(pending_next_page); pending_next_page = null; } else if (loader.remaining() == 0 && jQuery.isFunction(urlDfd.isResolved) && (urlDfd.isResolved() || urlDfd.isRejected())) { allDoneDfd.resolve(); } } })(jQuery);