1 | (function($) { |
---|
2 | |
---|
3 | jQuery('input[name^="cache"]').tipTip({'delay' : 0, 'fadeIn' : 200, 'fadeOut' : 200}); |
---|
4 | $('div.infos').delay(4000).slideUp('slow', function() { $('div.infos').hide(); }); |
---|
5 | |
---|
6 | var loader = new ImageLoader( {onChanged: loaderChanged, maxRequests:1 } ) |
---|
7 | , pending_next_page = null |
---|
8 | , last_image_show_time = 0 |
---|
9 | , allDoneDfd, urlDfd; |
---|
10 | |
---|
11 | jQuery.gdThumb_start = function () { |
---|
12 | |
---|
13 | allDoneDfd = jQuery.Deferred(); |
---|
14 | urlDfd = jQuery.Deferred(); |
---|
15 | |
---|
16 | allDoneDfd.always( function() { |
---|
17 | jQuery("#startLink").removeAttr('disabled').css("opacity", 1); |
---|
18 | jQuery("#pauseLink,#stopLink").attr('disabled', true).css("opacity", 0.5); |
---|
19 | }); |
---|
20 | |
---|
21 | urlDfd.always( function() { |
---|
22 | if (loader.remaining()==0) |
---|
23 | allDoneDfd.resolve(); |
---|
24 | }); |
---|
25 | |
---|
26 | setTimeout( function() { |
---|
27 | jQuery('#generate_cache').show(); |
---|
28 | jQuery("#startLink").attr('disabled', true).css("opacity", 0.5); |
---|
29 | jQuery("#pauseLink,#stopLink").removeAttr('disabled').css("opacity", 1); |
---|
30 | }, |
---|
31 | 0 ); |
---|
32 | |
---|
33 | loader.pause(false); |
---|
34 | updateStats(); |
---|
35 | getUrls(0); |
---|
36 | |
---|
37 | } |
---|
38 | |
---|
39 | jQuery.gdThumb_pause = function () { |
---|
40 | loader.pause( !loader.pause() ); |
---|
41 | } |
---|
42 | |
---|
43 | jQuery.gdThumb_stop = function () { |
---|
44 | loader.clear(); |
---|
45 | urlDfd.resolve(); |
---|
46 | } |
---|
47 | |
---|
48 | function getUrls(page_token) { |
---|
49 | data = {prev_page: page_token, max_urls: 500, types: []}; |
---|
50 | jQuery.post( 'admin.php?page=plugin-GDThumb&getMissingDerivative=', |
---|
51 | data, wsData, "json").fail( wsError ); |
---|
52 | } |
---|
53 | |
---|
54 | function wsData(data) { |
---|
55 | loader.add( data.urls ); |
---|
56 | if (data.next_page) { |
---|
57 | if (loader.pause() || loader.remaining() > 100) { |
---|
58 | pending_next_page = data.next_page; |
---|
59 | } |
---|
60 | else { |
---|
61 | getUrls(data.next_page); |
---|
62 | } |
---|
63 | } |
---|
64 | } |
---|
65 | |
---|
66 | function wsError() { |
---|
67 | urlDfd.reject(); |
---|
68 | } |
---|
69 | |
---|
70 | function updateStats() { |
---|
71 | jQuery("#loaded").text( loader.loaded ); |
---|
72 | jQuery("#errors").text( loader.errors ); |
---|
73 | jQuery("#remaining").text( loader.remaining() ); |
---|
74 | |
---|
75 | if (loader.remaining() == 0) { |
---|
76 | jQuery("#startLink").attr('disabled', false).css("opacity", 1); |
---|
77 | jQuery("#pauseLink,#stopLink").attr('disabled', true).css("opacity", 0.5); |
---|
78 | } |
---|
79 | } |
---|
80 | |
---|
81 | function loaderChanged(type, img) { |
---|
82 | updateStats(); |
---|
83 | if (img) { |
---|
84 | if (type==="load") { |
---|
85 | var now = jQuery.now(); |
---|
86 | if (now - last_image_show_time > 3000) { |
---|
87 | last_image_show_time = now; |
---|
88 | var h=img.height, url=img.src; |
---|
89 | jQuery("#feedbackWrap").hide("slide", {direction:'down'}, function() { |
---|
90 | last_image_show_time = jQuery.now(); |
---|
91 | if (h > 300 ) |
---|
92 | jQuery("#feedbackImg").attr("height", 300); |
---|
93 | else |
---|
94 | jQuery("#feedbackImg").removeAttr("height"); |
---|
95 | jQuery("#feedbackImg").attr("src", url); |
---|
96 | jQuery("#feedbackWrap").show("slide", {direction:'up'} ); |
---|
97 | } ); |
---|
98 | } |
---|
99 | } |
---|
100 | else { |
---|
101 | jQuery("#errorList").prepend( '<a href="'+img.src+'">'+img.src+'</a>' + "<br>"); |
---|
102 | } |
---|
103 | } |
---|
104 | if (pending_next_page && 100 > loader.remaining() ) { |
---|
105 | getUrls(pending_next_page); |
---|
106 | pending_next_page = null; |
---|
107 | } |
---|
108 | else if (loader.remaining() == 0 && jQuery.isFunction(urlDfd.isResolved) && (urlDfd.isResolved() || urlDfd.isRejected())) { |
---|
109 | allDoneDfd.resolve(); |
---|
110 | } |
---|
111 | } |
---|
112 | |
---|
113 | })(jQuery); |
---|