[12678] | 1 | <div class="titrePage"> |
---|
| 2 | <h2>GThumb+</h2> |
---|
| 3 | </div> |
---|
| 4 | |
---|
| 5 | <form action="" method="post"> |
---|
| 6 | |
---|
| 7 | <fieldset id="GThumb"> |
---|
| 8 | <legend>{'Configuration'|@translate}</legend> |
---|
| 9 | <table> |
---|
| 10 | <tr> |
---|
| 11 | <td align="right">{'Thumbnails max height'|@translate} : </td> |
---|
| 12 | <td><input type="text" size="2" maxlength="3" name="height" value="{$HEIGHT}"> px</td></td> |
---|
| 13 | </tr> |
---|
| 14 | |
---|
| 15 | <tr> |
---|
| 16 | <td align="right">{'Margin between thumbnails'|@translate} : </td> |
---|
| 17 | <td><input type="text" size="2" maxlength="3" name="margin" value="{$MARGIN}"> px</td> |
---|
| 18 | </tr> |
---|
| 19 | |
---|
| 20 | <tr> |
---|
| 21 | <td align="right">{'Number of photos per page'|@translate} : </td> |
---|
| 22 | <td><input type="text" size="2" maxlength="3" name="nb_image_page" value="{$NB_IMAGE_PAGE}"></td> |
---|
| 23 | </tr> |
---|
| 24 | |
---|
| 25 | <tr> |
---|
| 26 | <td align="right">{'Double the size of the first thumbnail'|@translate} : </td> |
---|
| 27 | <td><input type="radio" name="big_thumb" value="1" {if $BIG_THUMB}checked="checked"{/if}> {'Yes'|@translate} |
---|
| 28 | <input type="radio" name="big_thumb" value="0" {if !$BIG_THUMB}checked="checked"{/if}> {'No'|@translate} |
---|
| 29 | </td> |
---|
| 30 | </tr> |
---|
| 31 | |
---|
| 32 | <tr> |
---|
| 33 | <td align="right">{'Cache the big thumbnails (recommended)'|@translate} : </td> |
---|
| 34 | <td><input type="radio" name="cache_big_thumb" value="1" {if $CACHE_BIG_THUMB}checked="checked"{/if}> {'Yes'|@translate} |
---|
| 35 | <input type="radio" name="cache_big_thumb" value="0" {if !$CACHE_BIG_THUMB}checked="checked"{/if}> {'No'|@translate} |
---|
| 36 | </td> |
---|
| 37 | </tr> |
---|
| 38 | |
---|
| 39 | <tr> |
---|
| 40 | <td align="right">{'Scale thumbnails'|@translate} : </td> |
---|
| 41 | <td><input type="radio" name="method" value="crop" {if $METHOD == 'crop'}checked="checked"{/if}> {'Crop'|@translate} |
---|
| 42 | <input type="radio" name="method" value="resize" {if $METHOD == 'resize'}checked="checked"{/if}> {'Resize'|@translate} |
---|
| 43 | </td> |
---|
| 44 | </tr> |
---|
| 45 | |
---|
| 46 | </table> |
---|
| 47 | </fieldset> |
---|
| 48 | |
---|
[13652] | 49 | <p> |
---|
| 50 | <input type="hidden" name="pwg_token" value="{$PWG_TOKEN}"> |
---|
| 51 | <input type="submit" name="submit" value="{'Submit'|@translate}"> |
---|
| 52 | <input type="submit" name="cachedelete" value="{'Purge thumbnails cache'|@translate}" title="{'Delete images in GThumb+ cache.'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');"> |
---|
| 53 | <input type="button" name="cachebuild" value="{'Pre-cache thumbnails'|@translate}" title="{'Finds images that have not been cached and creates the cached version.'|@translate}" onclick="start()"> |
---|
| 54 | </p> |
---|
[12678] | 55 | </form> |
---|
| 56 | |
---|
[13652] | 57 | <fieldset id="generate_cache"> |
---|
| 58 | <legend>{'Pre-cache thumbnails'|@translate}</legend> |
---|
| 59 | <p> |
---|
| 60 | <table> |
---|
| 61 | <tr> |
---|
| 62 | <td>Errors</td> |
---|
| 63 | <td id="errors">0</td> |
---|
| 64 | </tr> |
---|
| 65 | <tr> |
---|
| 66 | <td>Loaded</td> |
---|
| 67 | <td id="loaded">0</td> |
---|
| 68 | </tr> |
---|
| 69 | <tr> |
---|
| 70 | <td>Remaining</td> |
---|
| 71 | <td id="remaining">0</td> |
---|
| 72 | </tr> |
---|
| 73 | </table> |
---|
[12691] | 74 | </p> |
---|
[13652] | 75 | <p> |
---|
| 76 | <input id="startLink" value="{'Start'|@translate}" onclick="start()" type="button"> |
---|
| 77 | <input id="pauseLink" value="{'Pause'|@translate}" onclick="pause()" type="button" disabled="disbled"> |
---|
| 78 | <input id="stopLink" value="{'Stop'|@translate}" onclick="stop()" type="button" disabled="disbled"> |
---|
| 79 | </p> |
---|
| 80 | <div id="feedbackWrap" style="height:320px; min-height:320px;"> |
---|
| 81 | <img id="feedbackImg"> |
---|
[12733] | 82 | </div> |
---|
[13652] | 83 | |
---|
| 84 | <div id="errorList"> |
---|
| 85 | </div> |
---|
[12691] | 86 | </fieldset> |
---|
| 87 | |
---|
[12678] | 88 | {html_head}{literal} |
---|
[12691] | 89 | <style type="text/css"> |
---|
| 90 | #GThumb td { padding-bottom: 12px; } |
---|
[12733] | 91 | #cacheinfo p, #GThumbProgressbar { text-align:left; line-height:20px; margin:20px } |
---|
| 92 | .ui-progressbar-value { background-image: url(plugins/GThumb/template/pbar-ani.gif); } |
---|
[13652] | 93 | #generate_cache { display: none; } |
---|
[12691] | 94 | </style> |
---|
[12733] | 95 | {/literal}{/html_head} |
---|
| 96 | |
---|
[13652] | 97 | {combine_script id='iloader' load='footer' path='themes/default/js/image.loader.js'} |
---|
[12733] | 98 | |
---|
[13652] | 99 | {footer_script require='jquery.effects.slide'}{literal} |
---|
| 100 | jQuery('input[name^="cache"]').tipTip({'delay' : 0, 'fadeIn' : 200, 'fadeOut' : 200}); |
---|
[12733] | 101 | |
---|
[13652] | 102 | var loader = new ImageLoader( {onChanged: loaderChanged, maxRequests:1 } ) |
---|
| 103 | , pending_next_page = null |
---|
| 104 | , last_image_show_time = 0 |
---|
| 105 | , allDoneDfd, urlDfd; |
---|
[12733] | 106 | |
---|
[13652] | 107 | function start() { |
---|
| 108 | allDoneDfd = jQuery.Deferred(); |
---|
| 109 | urlDfd = jQuery.Deferred(); |
---|
[12733] | 110 | |
---|
[13652] | 111 | allDoneDfd.always( function() { |
---|
| 112 | jQuery("#startLink").attr('disabled', false).css("opacity", 1); |
---|
| 113 | jQuery("#pauseLink,#stopLink").attr('disabled', true).css("opacity", 0.5); |
---|
| 114 | } ); |
---|
[12733] | 115 | |
---|
[13652] | 116 | urlDfd.always( function() { |
---|
| 117 | if (loader.remaining()==0) |
---|
| 118 | allDoneDfd.resolve(); |
---|
| 119 | } ); |
---|
[12733] | 120 | |
---|
[13652] | 121 | jQuery('#generate_cache').show(); |
---|
| 122 | jQuery("#startLink").attr('disabled', true).css("opacity", 0.5); |
---|
| 123 | jQuery("#pauseLink,#stopLink").attr('disabled', false).css("opacity", 1); |
---|
[12733] | 124 | |
---|
[13652] | 125 | loader.pause(false); |
---|
| 126 | updateStats(); |
---|
| 127 | getUrls('0'); |
---|
| 128 | } |
---|
[12759] | 129 | |
---|
[13652] | 130 | function pause() { |
---|
| 131 | loader.pause( !loader.pause() ); |
---|
| 132 | } |
---|
[12733] | 133 | |
---|
[13652] | 134 | function stop() { |
---|
| 135 | loader.clear(); |
---|
| 136 | urlDfd.resolve(); |
---|
| 137 | } |
---|
[12733] | 138 | |
---|
[13652] | 139 | function getUrls(page_token) { |
---|
| 140 | data = {prev_page: page_token, max_urls: 195, types: []}; |
---|
| 141 | jQuery.post( '{/literal}{$ROOT_URL}{literal}admin.php?page=plugin-GThumb&getMissingDerivative=', |
---|
| 142 | data, wsData, "json").fail( wsError ); |
---|
| 143 | } |
---|
[12733] | 144 | |
---|
[13652] | 145 | function wsData(data) { |
---|
| 146 | if (data.urls.length == 0) { |
---|
| 147 | jQuery('#generate_cache, input[name="cachebuild"]').hide(); |
---|
| 148 | } |
---|
| 149 | loader.add( data.urls ); |
---|
| 150 | if (data.next_page) { |
---|
| 151 | if (loader.pause() || loader.remaining() > 100) { |
---|
| 152 | pending_next_page = data.next_page; |
---|
| 153 | } |
---|
| 154 | else { |
---|
| 155 | getUrls(data.next_page); |
---|
| 156 | } |
---|
| 157 | } |
---|
| 158 | } |
---|
[12733] | 159 | |
---|
[13652] | 160 | function wsError() { |
---|
| 161 | urlDfd.reject(); |
---|
[12733] | 162 | } |
---|
| 163 | |
---|
[13652] | 164 | function updateStats() { |
---|
| 165 | jQuery("#loaded").text( loader.loaded ); |
---|
| 166 | jQuery("#errors").text( loader.errors ); |
---|
| 167 | jQuery("#remaining").text( loader.remaining() ); |
---|
| 168 | } |
---|
[12759] | 169 | |
---|
[13652] | 170 | function loaderChanged(type, img) { |
---|
| 171 | updateStats(); |
---|
| 172 | if (img) { |
---|
| 173 | if (type==="load") { |
---|
| 174 | var now = jQuery.now(); |
---|
| 175 | if (now - last_image_show_time > 3000) { |
---|
| 176 | last_image_show_time = now; |
---|
| 177 | var h=img.height, url=img.src; |
---|
| 178 | jQuery("#feedbackWrap").hide("slide", {direction:'down'}, function() { |
---|
| 179 | last_image_show_time = jQuery.now(); |
---|
| 180 | if (h > 300 ) |
---|
| 181 | jQuery("#feedbackImg").attr("height", 300); |
---|
| 182 | else |
---|
| 183 | jQuery("#feedbackImg").removeAttr("height"); |
---|
| 184 | jQuery("#feedbackImg").attr("src", url); |
---|
| 185 | jQuery("#feedbackWrap").show("slide", {direction:'up'} ); |
---|
| 186 | } ); |
---|
| 187 | } |
---|
| 188 | } |
---|
| 189 | else { |
---|
| 190 | jQuery("#errorList").prepend( '<a href="'+img.src+'">'+img.src+'</a>' + "<br>"); |
---|
| 191 | } |
---|
| 192 | } |
---|
| 193 | if (pending_next_page && 100 > loader.remaining() ) { |
---|
| 194 | getUrls(pending_next_page); |
---|
| 195 | pending_next_page = null; |
---|
| 196 | } |
---|
| 197 | else if (loader.remaining() == 0 && (urlDfd.isResolved() || urlDfd.isRejected())) { |
---|
| 198 | allDoneDfd.resolve(); |
---|
| 199 | } |
---|
| 200 | } |
---|
[12733] | 201 | {/literal}{/footer_script} |
---|