Ignore:
Timestamp:
Dec 26, 2013, 12:48:21 PM (10 years ago)
Author:
mistic100
Message:

update for 2.6

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/instagram2piwigo/admin/template/import.list_photos.tpl

    r19711 r26199  
    11{include file='include/colorbox.inc.tpl'}
    22{include file='include/add_album.inc.tpl'}
     3{combine_script id='common' load='footer' path='admin/themes/default/js/common.js'}
    34{combine_script id='jquery.ajaxmanager' load='footer' path='themes/default/js/plugins/jquery.ajaxmanager.js'}
    45{combine_script id='jquery.jgrowl' load='footer' require='jquery' path='themes/default/js/plugins/jquery.jgrowl_minimized.js'}
    5 {combine_css path="admin/themes/default/uploadify.jGrowl.css"}
     6{combine_css path="themes/default/js/plugins/jquery.jGrowl.css"}
    67
    78{footer_script require='jquery.ajaxmanager,jquery.jgrowl'}
    8 /* global vars */
    9 var nb_thumbs_page = {$nb_thumbs_page};
    10 var nb_thumbs_set = {$nb_thumbs_set};
    11 var all_elements = [{if !empty($all_elements)}{','|@implode:$all_elements}{/if}];
    12 
    13 var errorHead   = '{'ERROR'|@translate|@escape:'javascript'}';
    14 var errorMsg    = '{'an error happened'|@translate|@escape:'javascript'}';
    15 var successHead = '{'Success'|@translate|@escape:'javascript'}';
    16 var selectedMessage_pattern = "{'%d of %d photos selected'|@translate}";
    17 var selectedMessage_none = "{'No photo selected, %d photos in current set'|@translate}";
    18 var selectedMessage_all = "{'All %d photos are selected'|@translate}";
    19 var applyOnDetails_pattern = "{'on the %d selected photos'|@translate}";
    20 
    21 var import_done = 0;
    22 var import_selected = 0;
    23 var queuedManager = jQuery.manageAjax.create('queued', {ldelim}
    24   queue: true, 
    25   maxRequests: 1
    26 });
    27 
    28 {literal}
    29 /* Shift-click: select all photos between the click and the shift+click */
    30 jQuery(document).ready(function() {
     9(function($){
     10  /* global vars */
     11  var nb_thumbs_set = {$nb_thumbs_set};
     12  var all_elements = [{if !empty($all_elements)}{','|@implode:$all_elements}{/if}];
     13  var import_done = 0;
     14  var import_selected = 0;
     15  var queuedManager = $.manageAjax.create('queued', {
     16    queue: true, 
     17    maxRequests: 1
     18  });
     19
     20  /* Shift-click: select all photos between the click and the shift+click */
    3121  var last_clicked=0;
    3222  var last_clickedstatus=true;
    33   jQuery.fn.enableShiftClick = function() {
     23  $.fn.enableShiftClick = function() {
    3424    var inputs = [];
    3525    var count=0;
     
    6656        return true;
    6757      });
    68       $(this).click(function(event) {console.log(event.shiftKey);$(this).triggerHandler("shclick",event)});
     58      $(this).click(function(event) { $(this).triggerHandler("shclick",event); });
    6959    });
    7060  }
    71 });
    72 
    73 /* sprintf */
    74 function str_repeat(i, m) {
    75     for (var o = []; m > 0; o[--m] = i);
    76     return o.join('');
    77 }
    78 
    79 function sprintf() {
    80   var i = 0, a, f = arguments[i++], o = [], m, p, c, x, s = '';
    81   while (f) {
    82     if (m = /^[^\x25]+/.exec(f)) {
    83       o.push(m[0]);
    84     }
    85     else if (m = /^\x25{2}/.exec(f)) {
    86       o.push('%');
    87     }
    88     else if (m = /^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)) {
    89       if (((a = arguments[m[1] || i++]) == null) || (a == undefined)) {
    90         throw('Too few arguments.');
    91       }
    92       if (/[^s]/.test(m[7]) && (typeof(a) != 'number')) {
    93         throw('Expecting number but found ' + typeof(a));
    94       }
    95       switch (m[7]) {
    96         case 'b': a = a.toString(2); break;
    97         case 'c': a = String.fromCharCode(a); break;
    98         case 'd': a = parseInt(a); break;
    99         case 'e': a = m[6] ? a.toExponential(m[6]) : a.toExponential(); break;
    100         case 'f': a = m[6] ? parseFloat(a).toFixed(m[6]) : parseFloat(a); break;
    101         case 'o': a = a.toString(8); break;
    102         case 's': a = ((a = String(a)) && m[6] ? a.substring(0, m[6]) : a); break;
    103         case 'u': a = Math.abs(a); break;
    104         case 'x': a = a.toString(16); break;
    105         case 'X': a = a.toString(16).toUpperCase(); break;
    106       }
    107       a = (/[def]/.test(m[7]) && m[2] && a >= 0 ? '+'+ a : a);
    108       c = m[3] ? m[3] == '0' ? '0' : m[3].charAt(1) : ' ';
    109       x = m[5] - String(a).length - s.length;
    110       p = m[5] ? str_repeat(c, x) : '';
    111       o.push(s + (m[4] ? a + p : p + a));
    112     }
    113     else {
    114       throw('Huh ?!');
    115     }
    116     f = f.substring(m[0].length);
    117   }
    118   return o.join('');
    119 }
    120 
    121 /* update displaying */
    122 function checkPermitAction() {
    123   var nbSelected = 0;
    124   if ($("input[name=setSelected]").is(':checked')) {
    125     nbSelected = nb_thumbs_set;
    126   } else {
    127     $(".thumbnails input[type=checkbox]").each(function() {
    128       if ($(this).is(':checked')) nbSelected++;
    129     });
    130   }
    131 
    132   if (nbSelected == 0) {
    133     $("#beginImport").hide();
    134   } else {
    135     $("#beginImport").show();
    136   }
    137 
    138   $("#applyOnDetails").text(
    139     sprintf(
    140       applyOnDetails_pattern,
    141       nbSelected
    142     )
    143   );
    144 
    145   // display the number of currently selected photos in the "Selection" fieldset
    146   if (nbSelected == 0) {
    147     $("#selectedMessage").text(
     61
     62  /* update displaying */
     63  function checkPermitAction() {
     64    var nbSelected = 0;
     65    if ($("input[name=setSelected]").is(':checked')) {
     66      nbSelected = nb_thumbs_set;
     67    }
     68    else {
     69      $(".thumbnails input[type=checkbox]").each(function() {
     70        if ($(this).is(':checked')) nbSelected++;
     71      });
     72    }
     73
     74    if (nbSelected == 0) {
     75      $("#beginImport").hide();
     76    }
     77    else {
     78      $("#beginImport").show();
     79    }
     80
     81    $("#applyOnDetails").text(
    14882      sprintf(
    149         selectedMessage_none,
    150         nb_thumbs_set
     83        '{'on the %d selected photos'|translate|escape:javascript}',
     84        nbSelected
    15185      )
    15286    );
    153   } else if (nbSelected == nb_thumbs_set) {
    154     $("#selectedMessage").text(
    155       sprintf(
    156         selectedMessage_all,
    157         nb_thumbs_set
    158       )
    159     );
    160   } else {
    161     $("#selectedMessage").text(
    162       sprintf(
    163         selectedMessage_pattern,
    164         nbSelected,
    165         nb_thumbs_set
    166       )
    167     );
     87
     88    // display the number of currently selected photos in the "Selection" fieldset
     89    if (nbSelected == 0) {
     90      $("#selectedMessage").text(
     91        sprintf(
     92          '{'No photo selected, %d photos in current set'|translate|escape:javascript}',
     93          nb_thumbs_set
     94        )
     95      );
     96    }
     97    else if (nbSelected == nb_thumbs_set) {
     98      $("#selectedMessage").text(
     99        sprintf(
     100          '{'All %d photos are selected'|translate|escape:javascript}',
     101          nb_thumbs_set
     102        )
     103      );
     104    }
     105    else {
     106      $("#selectedMessage").text(
     107        sprintf(
     108          '{'%d of %d photos selected'|translate|escape:javascript}',
     109          nbSelected,
     110          nb_thumbs_set
     111        )
     112      );
     113    }
    168114  }
    169 }
    170 
    171 /* import queue */
    172 function performImport(photo, album, fills) {
    173   queuedManager.add({
    174     type: 'GET',
    175     dataType: 'json',
    176     url: 'ws.php',
    177     data: { method: 'pwg.images.addInstagram', id: photo, category: album, fills: fills, format: 'json' },
    178     success: function(data) {
    179       if (data['stat'] == 'ok') {
    180         jQuery.jGrowl(data['result'], { theme: 'success', header: successHead, life: 4000, sticky: false });
    181         jQuery("#photo-"+photo).fadeOut(function(){ $(this).remove(); });
    182       } else {
    183         jQuery.jGrowl(data['result'], { theme: 'error', header: errorHead, sticky: true });
     115
     116  /* import queue */
     117  function performImport(photo, album, fills) {
     118    queuedManager.add({
     119      type: 'GET',
     120      dataType: 'json',
     121      url: 'ws.php',
     122      data: {
     123        method: 'pwg.images.addInstagram',
     124        id: photo,
     125        category: album,
     126        fills: fills,
     127        format: 'json'
     128      },
     129      success: function(data) {
     130        if (data['stat'] == 'ok') {
     131          $.jGrowl(data['result'], {
     132            theme: 'success', life: 4000, sticky: false,
     133            header: '{'Success'|translate}'
     134          });
     135          $("#photo-"+photo).fadeOut(function(){ $(this).remove(); });
     136        }
     137        else {
     138          $.jGrowl(data['result'], {
     139            theme: 'error', sticky: true,
     140            header: '{'ERROR'|translate}'
     141          });
     142        }
     143       
     144        import_done++;
     145        $("#progress").html(import_done +"/"+ import_selected);
     146       
     147        if (import_done == import_selected) {
     148          $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">');
     149          $("#import_form").submit();
     150        }
     151      },
     152      error: function(data) {
     153        $.jGrowl('{'an error happened'|translate|escape:javascript}', {
     154          theme: 'error', sticky: true,
     155          header: '{'ERROR'|translate}'
     156        });
    184157      }
    185      
    186       import_done++;
    187       $("#progress").html(import_done +"/"+ import_selected);
    188      
    189       if (import_done == import_selected) {
    190         $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">');
    191         $("#import_form").submit();
    192       }
    193     },
    194     error: function(data) {
    195       jQuery.jGrowl(errorMsg, { theme: 'error', header: errorHead, sticky: true });
    196     }
    197   });
    198 }
    199 
    200 
    201 $(document).ready(function() {
     158    });
     159  }
     160
     161
    202162  checkPermitAction();
    203163  $("a.preview-box").colorbox({
     
    216176  /* thumbnail click */
    217177  $(".wrap1 label").click(function (event) {
    218     $("input[name=setSelected]").attr('checked', false);
     178    $("input[name=setSelected]").prop('checked', false);
    219179
    220180    var wrap2 = $(this).children(".wrap2");
     
    235195  /* select all */
    236196  $("#selectAll").click(function () {
    237     $("input[name=setSelected]").attr('checked', false);
     197    $("input[name=setSelected]").prop('checked', false);
    238198   
    239199    $(".thumbnails label").each(function() {
     
    241201      var checkbox = $(this).children("input[type=checkbox]");
    242202
    243       $(checkbox).attr('checked', true);
     203      $(checkbox).prop('checked', true);
    244204      $(wrap2).addClass("thumbSelected");
    245205    });
     
    251211  /* select none */
    252212  $("#selectNone").click(function () {
    253     $("input[name=setSelected]").attr('checked', false);
     213    $("input[name=setSelected]").prop('checked', false);
    254214   
    255215    $(".thumbnails label").each(function() {
     
    257217      var checkbox = $(this).children("input[type=checkbox]");
    258218
    259       $(checkbox).attr('checked', false);
     219      $(checkbox).prop('checked', false);
    260220      $(wrap2).removeClass("thumbSelected");
    261221    });
     
    267227  /* select invert */
    268228  $("#selectInvert").click(function () {
    269     $("input[name=setSelected]").attr('checked', false);
     229    $("input[name=setSelected]").prop('checked', false);
    270230   
    271231    $(".thumbnails label").each(function() {
     
    273233      var checkbox = $(this).children("input[type=checkbox]");
    274234
    275       $(checkbox).attr('checked', !$(checkbox).is(':checked'));
     235      $(checkbox).prop('checked', !$(checkbox).is(':checked'));
    276236
    277237      if ($(checkbox).is(':checked')) {
    278238        $(wrap2).addClass("thumbSelected");
    279       } else {
     239      }
     240      else {
    280241        $(wrap2).removeClass('thumbSelected');
    281242      }
     
    288249  /* select set */
    289250  $("#selectSet").click(function () {
    290     $("input[name=setSelected]").attr('checked', true);
     251    $("input[name=setSelected]").prop('checked', true);
    291252   
    292253    $(".thumbnails label").each(function() {
     
    294255      var checkbox = $(this).children("input[type=checkbox]");
    295256
    296       $(checkbox).attr('checked', true);
     257      $(checkbox).prop('checked', true);
    297258      $(wrap2).addClass("thumbSelected");
    298259    });
     
    303264 
    304265  /* begin import */
    305   jQuery('#beginImport').click(function() {
     266  $('#beginImport').click(function() {
    306267    $("#loader_import").fadeIn();
    307268    var album = $("#albumSelect option:selected").val();
     
    312273    });
    313274   
    314     if (jQuery('input[name="setSelected"]').attr('checked')) {
     275    if ($('input[name="setSelected"]').prop('checked')) {
    315276      import_selected = all_elements.length;
    316277      $("#progress").html("0/"+ import_selected);
     
    319280        performImport(all_elements[i], album, fills);
    320281      }
    321                 } else {
     282                }
     283    else {
    322284      import_selected = $("input[name='selection[]']:checked").length;
    323285      $("#progress").html("0/"+ import_selected);
    324286     
    325                         jQuery("input[name='selection[]']:checked").each(function() {
    326         performImport(jQuery(this).attr('value'), album, fills);
     287                        $("input[name='selection[]']:checked").each(function() {
     288        performImport($(this).attr('value'), album, fills);
    327289      });
    328290    }
     
    332294 
    333295  /* pagination loader */
    334   jQuery('#navigation a').click(function() {
     296  $('#navigation a').click(function() {
    335297    $("#loader_display").fadeIn();
    336298  });
    337 });
    338 {/literal}
     299}(jQuery));
    339300{/footer_script}
    340301
    341 {html_head}
    342 <style type="text/css">
    343 .thumbnails .wrap2 {ldelim} width:128px; height:128px; }
    344 .thumbnail {ldelim} width:100px; }
    345 </style>
    346 {/html_head}
     302
     303{html_style}
     304.thumbnails .wrap2 { width:128px; height:128px; }
     305.thumbnail { width:100px; }
     306{/html_style}
    347307
    348308
     
    351311
    352312  <fieldset>
    353     <legend>{'Selection'|@translate}</legend>
     313    <legend>{'Selection'|translate}</legend>
    354314
    355315  {if !empty($thumbnails)}
    356316    <p id="checkActions">
    357       {'Select:'|@translate}
     317      {'Select:'|translate}
    358318    {if $nb_thumbs_set > $nb_thumbs_page}
    359       <a href="#" id="selectAll">{'The whole page'|@translate}</a>,
    360       <a href="#" id="selectSet">{'The whole set'|@translate}</a>,
     319      <a href="#" id="selectAll">{'The whole page'|translate}</a>,
     320      <a href="#" id="selectSet">{'The whole set'|translate}</a>,
    361321    {else}
    362       <a href="#" id="selectAll">{'All'|@translate}</a>,
     322      <a href="#" id="selectAll">{'All'|translate}</a>,
    363323    {/if}
    364       <a href="#" id="selectNone">{'None'|@translate}</a>,
    365       <a href="#" id="selectInvert">{'Invert'|@translate}</a>
     324      <a href="#" id="selectNone">{'None'|translate}</a>,
     325      <a href="#" id="selectInvert">{'Invert'|translate}</a>
    366326
    367327      <span id="selectedMessage"></span>
    368328      <input type="checkbox" name="setSelected" style="display:none">
    369       <span id="loader_display" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|@translate}</i></span>
     329      <span id="loader_display" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|translate}</i></span>
    370330    </p>
    371331
     
    376336                                        <label>
    377337                                                <span class="wrap2">
    378                                                 <div class="actions"><a href="{$thumbnail.src}" class="preview-box">{'Zoom'|@translate}</a> &middot; <a href="{$thumbnail.url}" target="_blank" title="{'Open Instagram page in a new tab'|@translate}">Open</a></div>
     338                                                <div class="actions"><a href="{$thumbnail.src}" class="preview-box">{'Zoom'|translate}</a> &middot; <a href="{$thumbnail.url}" target="_blank" title="{'Open Instagram page in a new tab'|translate}">Open</a></div>
    379339                                                        <span>
    380340                                                                <img src="{$thumbnail.thumb}" alt="{$thumbnail.title}" title="{$thumbnail.title|@escape:'html'}" class="thumbnail">
     
    396356    {/if}
    397357   
    398       <div style="float:right;margin-top:10px;">{'display'|@translate}
     358      <div style="float:right;margin-top:10px;">{'display'|translate}
    399359        <a href="{$U_DISPLAY}&amp;display=20">20</a>
    400360        &middot; <a href="{$U_DISPLAY}&amp;display=50">50</a>
    401361        &middot; <a href="{$U_DISPLAY}&amp;display=100">100</a>
    402         &middot; <a href="{$U_DISPLAY}&amp;display=all">{'all'|@translate}</a>
    403         {'photos per page'|@translate}
     362        &middot; <a href="{$U_DISPLAY}&amp;display=all">{'all'|translate}</a>
     363        {'photos per page'|translate}
    404364      </div>
    405365    </div>
    406366
    407367  {else}
    408     <div>{'No photo in the current set.'|@translate}</div>
     368    <div>{'No photo in the current set.'|translate}</div>
    409369  {/if}
    410370  </fieldset>
    411371 
    412372  <fieldset>
    413     <legend>{'Import options'|@translate}</legend>
     373    <legend>{'Import options'|translate}</legend>
    414374
    415375    <p>
    416       <label for="albumSelect"><b>{'Album'|@translate}:</b></label>
     376      <label for="albumSelect"><b>{'Album'|translate}:</b></label>
    417377      <select style="width:400px" name="associate" id="albumSelect" size="1">
    418378        {html_options options=$category_parent_options}
    419379      </select>
    420       {'... or '|@translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|@translate}">{'create a new album'|@translate}</a>
     380      {'... or '|translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|translate}">{'create a new album'|translate}</a>
    421381    </p>
    422382   
    423383    <p>
    424       <b>{'Fill these fields from Instagram datas'|@translate}:</b>
    425       <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|@translate}</label>
    426       <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|@translate}</label>
    427       <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|@translate}</label>
    428       <label><input type="checkbox" name="fill_taken" checked="checked"> {'Creation date'|@translate}</label>
     384      <b>{'Fill these fields from Instagram datas'|translate}:</b>
     385      <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|translate}</label>
     386      <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|translate}</label>
     387      <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|translate}</label>
     388      <label><input type="checkbox" name="fill_taken" checked="checked"> {'Creation date'|translate}</label>
     389      <label><input type="checkbox" name="fill_geotag" checked="checked"> {'Geolocalization'|translate}</label>
    429390    </p>
    430391
    431392    <p>
    432393      <input type="hidden" name="album" value="{$album}">
    433       <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|@translate}" style="display:none;">
    434       <span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|@translate}</i> <span id="progress"></span></span>
     394      <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|translate}" style="display:none;">
     395      <span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|translate}</i> <span id="progress"></span></span>
    435396    </p>
    436397  </fieldset>
Note: See TracChangeset for help on using the changeset viewer.