Changeset 26198


Ignore:
Timestamp:
12/26/13 12:07:19 (6 years ago)
Author:
mistic100
Message:

update for Piwigo 2.6

Location:
extensions/Google2Piwigo
Files:
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • extensions/Google2Piwigo/admin.php

    r17475 r26198  
    11<?php 
    2 if (!defined('PICASA_WA_PATH')) die('Hacking attempt!'); 
     2defined('PICASA_WA_PATH') or die('Hacking attempt!'); 
    33 
    44global $template, $page, $conf; 
     
    2020  'PICASA_WA_ADMIN' => PICASA_WA_ADMIN, 
    2121  )); 
     22 
    2223$template->assign_var_from_handle('ADMIN_CONTENT', 'picasa_web_albums'); 
    23  
    24 ?> 
  • extensions/Google2Piwigo/admin/import.php

    r25788 r26198  
    11<?php 
    2 if (!defined('PICASA_WA_PATH')) die('Hacking attempt!'); 
     2defined('PICASA_WA_PATH') or die('Hacking attempt!'); 
    33 
    44set_time_limit(600); 
     
    66include_once(PICASA_WA_PATH . 'include/functions.inc.php'); 
    77 
    8 if ( !test_remote_download() ) 
     8if (!test_remote_download()) 
    99{ 
    10   array_push($page['errors'], l10n('No download method available')); 
     10  $page['errors'][] = l10n('No download method available'); 
    1111  $_GET['action'] = 'error'; 
    1212} 
     
    3939 
    4040 
    41 if (!isset($_GET['action'])) $_GET['action'] = 'main'; 
     41if (!isset($_GET['action'])) 
     42{ 
     43  $_GET['action'] = 'main'; 
     44} 
    4245 
    4346switch ($_GET['action']) 
     
    102105    foreach ($userFeed as $userEntry) 
    103106    { 
    104       array_push($albums, array( 
     107      $albums[] = array( 
    105108        'title' =>       $userEntry->title->text, 
    106109        'description' => $userEntry->mediaGroup->description->text, 
    107110        'photos' =>      $userEntry->gphotoNumPhotos->text, 
    108111        'U_LIST' => PICASA_WA_ADMIN . '-import&amp;action=list_photos&amp;album=' . $userEntry->gphotoId->text, 
    109         )); 
     112        ); 
    110113    } 
    111114     
     
    139142    foreach ($albumFeed as $albumEntry) 
    140143    { 
    141       array_push($all_photos, array( 
     144      $all_photos[] = array( 
    142145        'id' =>    $albumEntry->getGphotoId()->getText(), 
    143146        'name' =>  $albumEntry->mediaGroup->title->text, 
     
    145148        'src' =>   $albumEntry->mediaGroup->content[0]->url, 
    146149        'url' =>   $albumEntry->link[2]->href, 
    147         )); 
     150        ); 
    148151    } 
    149152     
     
    170173    if ($duplicates>0) 
    171174    { 
    172       $page['infos'][] = '<a href="admin.php?page=batch_manager&amp;prefilter=picasa">' 
    173           .l10n_dec('One picture is not displayed because already existing in the database.', '%d pictures are not displayed because already existing in the database.', $duplicates) 
     175      $page['infos'][] = '<a href="admin.php?page=batch_manager&amp;filter=prefilter-picasa">' 
     176          .l10n_dec( 
     177            'One picture is not displayed because already existing in the database.', 
     178            '%d pictures are not displayed because already existing in the database.', 
     179            $duplicates) 
    174180        .'</a>'; 
    175181    } 
     
    260266    if ($duplicates>0) 
    261267    { 
    262       $page['infos'][] = '<a href="admin.php?page=batch_manager&amp;prefilter=picasa">' 
    263           .l10n_dec('One picture is not displayed because already existing in the database.', '%d pictures are not displayed because already existing in the database.', $duplicates) 
     268      $page['infos'][] = '<a href="admin.php?page=batch_manager&amp;filter=prefilter-picasa">' 
     269          .l10n_dec( 
     270            'One picture is not displayed because already existing in the database.', 
     271            '%d pictures are not displayed because already existing in the database.', 
     272            $duplicates) 
    264273        .'</a>'; 
    265274    } 
     
    267276    $template->assign(array( 
    268277      'nb_elements' =>  count($all_photos), 
    269       'all_elements' => json_encode($all_photos), 
     278      'all_elements' => $all_photos, 
    270279      'F_ACTION' =>     PICASA_WA_ADMIN . '-import&amp;action=import_set', 
    271280      )); 
     
    285294    if (isset($_POST['done'])) 
    286295    { 
    287       $_SESSION['page_infos'][] = sprintf(l10n('%d pictures imported'), $_POST['done']); 
     296      $_SESSION['page_infos'][] = l10n('%d pictures imported', $_POST['done']); 
    288297    } 
    289298    redirect(PICASA_WA_ADMIN . '-import'); 
     
    292301 
    293302 
    294 $template->assign(array( 
    295   'ACTION' => $_GET['action'], 
    296   'GMAPS_LOADED' => !empty($pwg_loaded_plugins['rv_gmaps']) || !empty($pwg_loaded_plugins['piwigo-openstreetmap']), 
    297   )); 
     303$template->assign('ACTION', $_GET['action']); 
    298304 
    299305$template->set_filename('picasa_web_albums', realpath(PICASA_WA_PATH . '/admin/template/import.tpl')); 
    300  
    301 ?> 
  • extensions/Google2Piwigo/admin/template/import.list_all.tpl

    r25788 r26198  
    11{footer_script require='jquery.ajaxmanager,jquery.jgrowl'} 
    2 /* global vars */ 
    3 var errorHead   = '{'ERROR'|@translate|@escape:'javascript'}'; 
    4 var errorMsg    = '{'an error happened'|@translate|@escape:'javascript'}'; 
    5 var successHead = '{'Success'|@translate|@escape:'javascript'}'; 
     2(function($){ 
     3  /* global vars */ 
     4  var all_elements = [{if !empty($all_elements)}{','|@implode:$all_elements}{/if}]; 
     5  var import_done = 0; 
     6  var import_selected = {$nb_elements}; 
     7  var queuedManager = $.manageAjax.create('queued', { 
     8    queue: true,   
     9    maxRequests: 1 
     10  }); 
    611 
    7 var import_done = 0; 
    8 var import_selected = {$nb_elements}; 
    9 var queuedManager = jQuery.manageAjax.create('queued', {ldelim} 
    10   queue: true,   
    11   maxRequests: 1 
    12 }); 
     12  /* import queue */ 
     13  function performImport(photo, album, fills, pwa_album) { 
     14    queuedManager.add({ 
     15      type: 'GET', 
     16      dataType: 'json', 
     17      url: 'ws.php', 
     18      data: { 
     19        method: 'pwg.images.addPicasa', 
     20        id: photo, 
     21        category: album, 
     22        fills: fills, 
     23        pwa_album: pwa_album, 
     24        format: 'json' 
     25      }, 
     26      success: function(data) { 
     27        if (data['stat'] == 'ok') { 
     28          $.jGrowl(data['result'], { 
     29            theme: 'success', life: 4000, sticky: false, 
     30            header: '{'Success'|translate}' 
     31          }); 
     32        } 
     33        else { 
     34          $.jGrowl(data['result'], { 
     35            theme: 'error', sticky: true, 
     36            header: '{'ERROR'|translate}' 
     37          }); 
     38        } 
     39         
     40        import_done++; 
     41        $("#progress").html(import_done +"/"+ import_selected); 
     42         
     43        if (import_done == import_selected) { 
     44          $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">'); 
     45          $("#import_form").submit(); 
     46        } 
     47      }, 
     48      error: function(data) { 
     49        $.jGrowl('{'an error happened'|translate|escape:javascript}', { 
     50          theme: 'error', sticky: true, 
     51          header: '{'ERROR'|translate}' 
     52        }); 
     53      } 
     54    }); 
     55  } 
    1356 
    14 {literal} 
    15 /* import queue */ 
    16 function performImport(photo, album, fills, pwa_album) { 
    17   queuedManager.add({ 
    18     type: 'GET', 
    19     dataType: 'json', 
    20     url: 'ws.php', 
    21     data: { method: 'pwg.images.addPicasa', id: photo, category: album, fills: fills, pwa_album: pwa_album, format: 'json' }, 
    22     success: function(data) { 
    23       if (data['stat'] == 'ok') { 
    24         jQuery.jGrowl(data['result'], { theme: 'success', header: successHead, life: 4000, sticky: false }); 
    25       } else { 
    26         jQuery.jGrowl(data['result'], { theme: 'error', header: errorHead, sticky: true }); 
    27       } 
    28        
    29       import_done++; 
    30       $("#progress").html(import_done +"/"+ import_selected); 
    31        
    32       if (import_done == import_selected) { 
    33         $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">'); 
    34         $("#import_form").submit(); 
    35       } 
    36     }, 
    37     error: function(data) { 
    38       jQuery.jGrowl(errorMsg, { theme: 'error', header: errorHead, sticky: true }); 
    39     } 
    40   }); 
    41 } 
    42  
    43  
    44 $(document).ready(function() { 
    45   var all_elements = {/literal}{$all_elements}{literal}; 
    4657   
    4758  /* begin import */ 
    48   jQuery('#beginImport').click(function() { 
     59  $('#beginImport').click(function() { 
    4960    $("#loader_import").fadeIn(); 
    5061     
    5162    if ($("input[name='album_mode']:checked").val() == 'identical') { 
    5263      album = "<!-- create -->"; 
    53     } else { 
     64    } 
     65    else { 
    5466      album = $("#albumSelect option:selected").val(); 
    5567    } 
     
    7486    if ($(this).val() == 'one_album') { 
    7587      $("#albumSelectWrapper").slideDown(); 
    76     } else { 
     88    } 
     89    else { 
    7790      $("#albumSelectWrapper").slideUp(); 
    7891    } 
    7992  }); 
    80 }); 
    81 {/literal} 
     93}(jQuery)); 
    8294{/footer_script} 
    8395 
     
    8597 
    8698  <fieldset> 
    87     <legend>{'Selection'|@translate}</legend> 
     99    <legend>{'Selection'|translate}</legend> 
    88100 
    89101  {if $nb_elements} 
    90     {'%d elements ready for importation'|@translate|@sprintf:$nb_elements} 
     102    {'%d elements ready for importation'|translate:$nb_elements} 
    91103  {else} 
    92     <div>{'No photo in the current set.'|@translate}</div> 
     104    <div>{'No photo in the current set.'|translate}</div> 
    93105  {/if} 
    94106  </fieldset> 
    95107   
    96108  <fieldset> 
    97     <legend>{'Import options'|@translate}</legend> 
     109    <legend>{'Import options'|translate}</legend> 
    98110     
    99111    <p> 
    100       <label><input type="radio" name="album_mode" value="identical" checked="checked"> {'Reproduce Google albums'|@translate}</label><br> 
    101       <label><input type="radio" name="album_mode" value="one_album"> {'Import all photos in this album'|@translate} :</label> 
     112      <label><input type="radio" name="album_mode" value="identical" checked="checked"> {'Reproduce Google albums'|translate}</label><br> 
     113      <label><input type="radio" name="album_mode" value="one_album"> {'Import all photos in this album'|translate} :</label> 
    102114    </p> 
    103115 
     
    106118        {html_options options=$category_parent_options} 
    107119      </select> 
    108       {'... or '|@translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|@translate}">{'create a new album'|@translate}</a> 
     120      {'... or '|translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|translate}">{'create a new album'|translate}</a> 
    109121    </p> 
    110122     
    111123    <p> 
    112       <b>{'Fill these fields from Google datas'|@translate}:</b> 
    113       <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|@translate}</label> 
    114       <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|@translate}</label> 
    115       <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|@translate}</label> 
    116       <label><input type="checkbox" name="fill_date" checked="checked"> {'Creation date'|@translate}</label> 
    117       <label><input type="checkbox" name="fill_description" checked="checked"> {'Description'|@translate}</label> 
    118       {if $GMAPS_LOADED}<label><input type="checkbox" name="fill_geotag" checked="checked"> {'Geolocalization'|@translate}</label>{/if} 
     124      <b>{'Fill these fields from Google datas'|translate}:</b> 
     125      <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|translate}</label> 
     126      <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|translate}</label> 
     127      <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|translate}</label> 
     128      <label><input type="checkbox" name="fill_date" checked="checked"> {'Creation date'|translate}</label> 
     129      <label><input type="checkbox" name="fill_description" checked="checked"> {'Description'|translate}</label> 
     130      <label><input type="checkbox" name="fill_geotag" checked="checked"> {'Geolocalization'|translate}</label> 
    119131    </p> 
    120132     
    121133    <p> 
    122       <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|@translate}" {if not $nb_elements}style="display:none;"{/if}> 
    123       <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> 
     134      <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|translate}" {if not $nb_elements}style="display:none;"{/if}> 
     135      <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> 
    124136    </p> 
    125137  </fieldset> 
  • extensions/Google2Piwigo/admin/template/import.list_photos.tpl

    r25788 r26198  
    11{footer_script require='jquery.ajaxmanager,jquery.jgrowl'} 
    2 /* global vars */ 
    3 var nb_thumbs_page = {$nb_thumbs_page}; 
    4 var nb_thumbs_set = {$nb_thumbs_set}; 
    5 var all_elements = [{if !empty($all_elements)}{','|@implode:$all_elements}{/if}]; 
    6  
    7 var errorHead   = '{'ERROR'|@translate|@escape:'javascript'}'; 
    8 var errorMsg    = '{'an error happened'|@translate|@escape:'javascript'}'; 
    9 var successHead = '{'Success'|@translate|@escape:'javascript'}'; 
    10 var selectedMessage_pattern = "{'%d of %d photos selected'|@translate}"; 
    11 var selectedMessage_none = "{'No photo selected, %d photos in current set'|@translate}"; 
    12 var selectedMessage_all = "{'All %d photos are selected'|@translate}"; 
    13 var applyOnDetails_pattern = "{'on the %d selected photos'|@translate}"; 
    14  
    15 var import_done = 0; 
    16 var import_selected = 0; 
    17 var queuedManager = jQuery.manageAjax.create('queued', {ldelim} 
    18   queue: true,   
    19   maxRequests: 1 
    20 }); 
    21  
    22 {literal} 
    23 /* Shift-click: select all photos between the click and the shift+click */ 
    24 jQuery(document).ready(function() { 
     2(function($){ 
     3  /* global vars */ 
     4  var nb_thumbs_set = {$nb_thumbs_set}; 
     5  var all_elements = [{if !empty($all_elements)}{','|@implode:$all_elements}{/if}]; 
     6  var import_done = 0; 
     7  var import_selected = 0; 
     8  var queuedManager = $.manageAjax.create('queued', {ldelim} 
     9    queue: true,   
     10    maxRequests: 1 
     11  }); 
     12 
     13  /* Shift-click: select all photos between the click and the shift+click */ 
    2514  var last_clicked=0; 
    2615  var last_clickedstatus=true; 
    27   jQuery.fn.enableShiftClick = function() { 
     16  $.fn.enableShiftClick = function() { 
    2817    var inputs = []; 
    2918    var count=0; 
     
    6049        return true; 
    6150      }); 
    62       $(this).click(function(event) {$(this).triggerHandler("shclick",event)}); 
    63     }); 
    64   } 
    65 }); 
    66  
    67 /* sprintf */ 
    68 function str_repeat(i, m) { 
    69     for (var o = []; m > 0; o[--m] = i); 
    70     return o.join(''); 
    71 } 
    72  
    73 function sprintf() { 
    74   var i = 0, a, f = arguments[i++], o = [], m, p, c, x, s = ''; 
    75   while (f) { 
    76     if (m = /^[^\x25]+/.exec(f)) { 
    77       o.push(m[0]); 
    78     } 
    79     else if (m = /^\x25{2}/.exec(f)) { 
    80       o.push('%'); 
    81     } 
    82     else if (m = /^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)) { 
    83       if (((a = arguments[m[1] || i++]) == null) || (a == undefined)) { 
    84         throw('Too few arguments.'); 
    85       } 
    86       if (/[^s]/.test(m[7]) && (typeof(a) != 'number')) { 
    87         throw('Expecting number but found ' + typeof(a)); 
    88       } 
    89       switch (m[7]) { 
    90         case 'b': a = a.toString(2); break; 
    91         case 'c': a = String.fromCharCode(a); break; 
    92         case 'd': a = parseInt(a); break; 
    93         case 'e': a = m[6] ? a.toExponential(m[6]) : a.toExponential(); break; 
    94         case 'f': a = m[6] ? parseFloat(a).toFixed(m[6]) : parseFloat(a); break; 
    95         case 'o': a = a.toString(8); break; 
    96         case 's': a = ((a = String(a)) && m[6] ? a.substring(0, m[6]) : a); break; 
    97         case 'u': a = Math.abs(a); break; 
    98         case 'x': a = a.toString(16); break; 
    99         case 'X': a = a.toString(16).toUpperCase(); break; 
    100       } 
    101       a = (/[def]/.test(m[7]) && m[2] && a >= 0 ? '+'+ a : a); 
    102       c = m[3] ? m[3] == '0' ? '0' : m[3].charAt(1) : ' '; 
    103       x = m[5] - String(a).length - s.length; 
    104       p = m[5] ? str_repeat(c, x) : ''; 
    105       o.push(s + (m[4] ? a + p : p + a)); 
    106     } 
    107     else { 
    108       throw('Huh ?!'); 
    109     } 
    110     f = f.substring(m[0].length); 
    111   } 
    112   return o.join(''); 
    113 } 
    114  
    115 /* update displaying */ 
    116 function checkPermitAction() { 
    117   var nbSelected = 0; 
    118   if ($("input[name=setSelected]").is(':checked')) { 
    119     nbSelected = nb_thumbs_set; 
    120   } else { 
    121     $(".thumbnails input[type=checkbox]").each(function() { 
    122       if ($(this).is(':checked')) nbSelected++; 
    123     }); 
    124   } 
    125  
    126   if (nbSelected == 0) { 
    127     $("#beginImport").hide(); 
    128   } else { 
    129     $("#beginImport").show(); 
    130   } 
    131  
    132   $("#applyOnDetails").text( 
    133     sprintf( 
    134       applyOnDetails_pattern, 
    135       nbSelected 
    136     ) 
    137   ); 
    138  
    139   // display the number of currently selected photos in the "Selection" fieldset 
    140   if (nbSelected == 0) { 
    141     $("#selectedMessage").text( 
     51      $(this).click(function(event) { $(this).triggerHandler("shclick",event); }); 
     52    }); 
     53  }; 
     54 
     55  /* update displaying */ 
     56  function checkPermitAction() { 
     57    var nbSelected = 0; 
     58    if ($("input[name=setSelected]").is(':checked')) { 
     59      nbSelected = nb_thumbs_set; 
     60    } 
     61    else { 
     62      $(".thumbnails input[type=checkbox]").each(function() { 
     63        if ($(this).is(':checked')) nbSelected++; 
     64      }); 
     65    } 
     66 
     67    if (nbSelected == 0) { 
     68      $("#beginImport").hide(); 
     69    } 
     70    else { 
     71      $("#beginImport").show(); 
     72    } 
     73 
     74    $("#applyOnDetails").text( 
    14275      sprintf( 
    143         selectedMessage_none, 
    144         nb_thumbs_set 
     76        '{'on the %d selected photos'|translate|escape:javascript}', 
     77        nbSelected 
    14578      ) 
    14679    ); 
    147   } else if (nbSelected == nb_thumbs_set) { 
    148     $("#selectedMessage").text( 
    149       sprintf( 
    150         selectedMessage_all, 
    151         nb_thumbs_set 
    152       ) 
    153     ); 
    154   } else { 
    155     $("#selectedMessage").text( 
    156       sprintf( 
    157         selectedMessage_pattern, 
    158         nbSelected, 
    159         nb_thumbs_set 
    160       ) 
    161     ); 
     80 
     81    // display the number of currently selected photos in the "Selection" fieldset 
     82    if (nbSelected == 0) { 
     83      $("#selectedMessage").text( 
     84        sprintf( 
     85          '{'No photo selected, %d photos in current set'|translate|escape:javascript}', 
     86          nb_thumbs_set 
     87        ) 
     88      ); 
     89    } 
     90    else if (nbSelected == nb_thumbs_set) { 
     91      $("#selectedMessage").text( 
     92        sprintf( 
     93          '{'All %d photos are selected'|translate|escape:javascript}', 
     94          nb_thumbs_set 
     95        ) 
     96      ); 
     97    } 
     98    else { 
     99      $("#selectedMessage").text( 
     100        sprintf( 
     101          '{'%d of %d photos selected'|translate|escape:javascript}', 
     102          nbSelected, 
     103          nb_thumbs_set 
     104        ) 
     105      ); 
     106    } 
    162107  } 
    163 } 
    164  
    165 /* import queue */ 
    166 function performImport(photo, album, fills, pwa_album) { 
    167   queuedManager.add({ 
    168     type: 'GET', 
    169     dataType: 'json', 
    170     url: 'ws.php', 
    171     data: { method: 'pwg.images.addPicasa', id: photo, category: album, fills: fills, pwa_album: pwa_album, format: 'json' }, 
    172     success: function(data) { 
    173       if (data['stat'] == 'ok') { 
    174         jQuery.jGrowl(data['result'], { theme: 'success', header: successHead, life: 4000, sticky: false }); 
    175         jQuery("#photo-"+photo).fadeOut(function(){ $(this).remove(); }); 
    176       } else { 
    177         jQuery.jGrowl(data['result'], { theme: 'error', header: errorHead, sticky: true }); 
     108 
     109  /* import queue */ 
     110  function performImport(photo, album, fills, pwa_album) { 
     111    queuedManager.add({ 
     112      type: 'GET', 
     113      dataType: 'json', 
     114      url: 'ws.php', 
     115      data: { 
     116        method: 'pwg.images.addPicasa', 
     117        id: photo, 
     118        category: album, 
     119        fills: fills, 
     120        pwa_album: pwa_album, 
     121        format: 'json' 
     122      }, 
     123      success: function(data) { 
     124        if (data['stat'] == 'ok') { 
     125          $.jGrowl(data['result'], { 
     126            theme: 'success', life: 4000, sticky: false, 
     127            header: '{'Success'|translate}' 
     128          }); 
     129          $("#photo-"+photo).fadeOut(function(){ $(this).remove(); }); 
     130        } 
     131        else { 
     132          $.jGrowl(data['result'], { 
     133            theme: 'error', sticky: true, 
     134            header: '{'ERROR'|translate}' 
     135          }); 
     136        } 
     137         
     138        import_done++; 
     139        $("#progress").html(import_done +"/"+ import_selected); 
     140         
     141        if (import_done == import_selected) { 
     142          $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">'); 
     143          $("#import_form").submit(); 
     144        } 
     145      }, 
     146      error: function(data) { 
     147        $.jGrowl('{'an error happened'|translate|escape:javascript}', { 
     148          theme: 'error', sticky: true, 
     149          header: '{'ERROR'|translate}' 
     150        }); 
    178151      } 
    179        
    180       import_done++; 
    181       $("#progress").html(import_done +"/"+ import_selected); 
    182        
    183       if (import_done == import_selected) { 
    184         $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">'); 
    185         $("#import_form").submit(); 
    186       } 
    187     }, 
    188     error: function(data) { 
    189       jQuery.jGrowl(errorMsg, { theme: 'error', header: errorHead, sticky: true }); 
    190     } 
    191   }); 
    192 } 
    193  
    194  
    195 $(document).ready(function() { 
     152    }); 
     153  } 
     154 
     155 
    196156  checkPermitAction(); 
    197157  $("a.preview-box").colorbox(); 
     
    207167  /* thumbnail click */ 
    208168  $(".wrap1 label").click(function (event) { 
    209     $("input[name=setSelected]").attr('checked', false); 
     169    $("input[name=setSelected]").prop('checked', false); 
    210170 
    211171    var wrap2 = $(this).children(".wrap2"); 
     
    226186  /* select all */ 
    227187  $("#selectAll").click(function () { 
    228     $("input[name=setSelected]").attr('checked', false); 
     188    $("input[name=setSelected]").prop('checked', false); 
    229189     
    230190    $(".thumbnails label").each(function() { 
     
    232192      var checkbox = $(this).children("input[type=checkbox]"); 
    233193 
    234       $(checkbox).attr('checked', true); 
     194      $(checkbox).prop('checked', true); 
    235195      $(wrap2).addClass("thumbSelected");  
    236196    }); 
     
    242202  /* select none */ 
    243203  $("#selectNone").click(function () { 
    244     $("input[name=setSelected]").attr('checked', false); 
     204    $("input[name=setSelected]").prop('checked', false); 
    245205     
    246206    $(".thumbnails label").each(function() { 
     
    248208      var checkbox = $(this).children("input[type=checkbox]"); 
    249209 
    250       $(checkbox).attr('checked', false); 
     210      $(checkbox).prop('checked', false); 
    251211      $(wrap2).removeClass("thumbSelected");  
    252212    }); 
     
    258218  /* select invert */ 
    259219  $("#selectInvert").click(function () { 
    260     $("input[name=setSelected]").attr('checked', false); 
     220    $("input[name=setSelected]").prop('checked', false); 
    261221     
    262222    $(".thumbnails label").each(function() { 
     
    264224      var checkbox = $(this).children("input[type=checkbox]"); 
    265225 
    266       $(checkbox).attr('checked', !$(checkbox).is(':checked')); 
     226      $(checkbox).prop('checked', !$(checkbox).is(':checked')); 
    267227 
    268228      if ($(checkbox).is(':checked')) { 
    269229        $(wrap2).addClass("thumbSelected");  
    270       } else { 
     230      } 
     231      else { 
    271232        $(wrap2).removeClass('thumbSelected');  
    272233      } 
     
    279240  /* select set */ 
    280241  $("#selectSet").click(function () { 
    281     $("input[name=setSelected]").attr('checked', true); 
     242    $("input[name=setSelected]").prop('checked', true); 
    282243     
    283244    $(".thumbnails label").each(function() { 
     
    285246      var checkbox = $(this).children("input[type=checkbox]"); 
    286247 
    287       $(checkbox).attr('checked', true); 
     248      $(checkbox).prop('checked', true); 
    288249      $(wrap2).addClass("thumbSelected");  
    289250    }); 
     
    294255  
    295256  /* begin import */ 
    296   jQuery('#beginImport').click(function() { 
     257  $('#beginImport').click(function() { 
    297258    $("#loader_import").fadeIn(); 
    298259    var album = $("#albumSelect option:selected").val(); 
    299     var pwa_album = "{/literal}{$album}{literal}"; 
     260    var pwa_album = "{$album}"; 
    300261     
    301262    var fills = ''; 
     
    304265    });  
    305266     
    306     if (jQuery('input[name="setSelected"]').attr('checked')) { 
     267    if ($('input[name="setSelected"]').prop('checked')) { 
    307268      import_selected = all_elements.length; 
    308269      $("#progress").html("0/"+ import_selected); 
     
    311272        performImport(all_elements[i], album, fills, pwa_album); 
    312273      } 
    313                 } else { 
     274                } 
     275    else { 
    314276      import_selected = $("input[name='selection[]']:checked").length; 
    315277      $("#progress").html("0/"+ import_selected); 
    316278       
    317                         jQuery("input[name='selection[]']:checked").each(function() { 
    318         performImport(jQuery(this).attr('value'), album, fills, pwa_album); 
     279                        $("input[name='selection[]']:checked").each(function() { 
     280        performImport($(this).attr('value'), album, fills, pwa_album); 
    319281      }); 
    320282    } 
     
    324286   
    325287  /* pagination loader */ 
    326   jQuery('#navigation a').click(function() { 
     288  $('#navigation a').click(function() { 
    327289    $("#loader_display").fadeIn(); 
    328290  }); 
    329 }); 
    330 {/literal} 
     291}(jQuery)); 
    331292{/footer_script} 
     293 
    332294 
    333295<div id="batchManagerGlobal"> 
     
    335297 
    336298  <fieldset> 
    337     <legend>{'Selection'|@translate}</legend> 
     299    <legend>{'Selection'|translate}</legend> 
    338300 
    339301  {if !empty($thumbnails)} 
    340302    <p id="checkActions"> 
    341       {'Select:'|@translate} 
     303      {'Select:'|translate} 
    342304    {if $nb_thumbs_set > $nb_thumbs_page} 
    343       <a href="#" id="selectAll">{'The whole page'|@translate}</a>, 
    344       <a href="#" id="selectSet">{'The whole set'|@translate}</a>, 
     305      <a href="#" id="selectAll">{'The whole page'|translate}</a>, 
     306      <a href="#" id="selectSet">{'The whole set'|translate}</a>, 
    345307    {else} 
    346       <a href="#" id="selectAll">{'All'|@translate}</a>, 
     308      <a href="#" id="selectAll">{'All'|translate}</a>, 
    347309    {/if} 
    348       <a href="#" id="selectNone">{'None'|@translate}</a>, 
    349       <a href="#" id="selectInvert">{'Invert'|@translate}</a> 
     310      <a href="#" id="selectNone">{'None'|translate}</a>, 
     311      <a href="#" id="selectInvert">{'Invert'|translate}</a> 
    350312 
    351313      <span id="selectedMessage"></span> 
    352314      <input type="checkbox" name="setSelected" style="display:none"> 
    353       <span id="loader_display" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|@translate}</i></span> 
     315      <span id="loader_display" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|translate}</i></span> 
    354316    </p> 
    355317 
     
    360322                                        <label> 
    361323                                                <span class="wrap2"> 
    362                                                 <div class="actions"><a href="{$thumbnail.src}" class="preview-box">{'Zoom'|@translate}</a> &middot; <a href="{$thumbnail.url}" target="_blank" title="{'Open Google page in a new tab'|@translate}">Picasa</a></div> 
     324                                                <div class="actions"><a href="{$thumbnail.src}" class="preview-box">{'Zoom'|translate}</a> &middot; <a href="{$thumbnail.url}" target="_blank" title="{'Open Google page in a new tab'|translate}">Picasa</a></div> 
    363325                                                        <span> 
    364326                                                                <img src="{$thumbnail.thumb}" alt="{$thumbnail.title}" title="{$thumbnail.title|@escape:'html'}" class="thumbnail"> 
     
    380342    {/if} 
    381343     
    382       <div style="float:right;margin-top:10px;">{'display'|@translate} 
     344      <div style="float:right;margin-top:10px;">{'display'|translate} 
    383345        <a href="{$U_DISPLAY}&amp;display=20">20</a> 
    384346        &middot; <a href="{$U_DISPLAY}&amp;display=50">50</a> 
    385347        &middot; <a href="{$U_DISPLAY}&amp;display=100">100</a> 
    386         &middot; <a href="{$U_DISPLAY}&amp;display=all">{'all'|@translate}</a> 
    387         {'photos per page'|@translate} 
     348        &middot; <a href="{$U_DISPLAY}&amp;display=all">{'all'|translate}</a> 
     349        {'photos per page'|translate} 
    388350      </div> 
    389351    </div> 
    390352 
    391353  {else} 
    392     <div>{'No photo in the current set.'|@translate}</div> 
     354    <div>{'No photo in the current set.'|translate}</div> 
    393355  {/if} 
    394356  </fieldset> 
    395357   
    396358  <fieldset> 
    397     <legend>{'Import options'|@translate}</legend> 
     359    <legend>{'Import options'|translate}</legend> 
    398360 
    399361    <p> 
    400       <label for="albumSelect"><b>{'Album'|@translate}:</b></label> 
     362      <label for="albumSelect"><b>{'Album'|translate}:</b></label> 
    401363      <select style="width:400px" name="associate" id="albumSelect" size="1"> 
    402364        {html_options options=$category_parent_options} 
    403365      </select> 
    404       {'... or '|@translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|@translate}">{'create a new album'|@translate}</a> 
     366      {'... or '|translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|translate}">{'create a new album'|translate}</a> 
    405367    </p> 
    406368     
    407369    <p> 
    408       <b>{'Fill these fields from Google datas'|@translate}:</b> 
    409       <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|@translate}</label> 
    410       <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|@translate}</label> 
    411       <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|@translate}</label> 
    412       <label><input type="checkbox" name="fill_taken" checked="checked"> {'Creation date'|@translate}</label> 
    413       <label><input type="checkbox" name="fill_description" checked="checked"> {'Description'|@translate}</label> 
    414       {if $GMAPS_LOADED}<label><input type="checkbox" name="fill_geotag" checked="checked"> {'Geolocalization'|@translate}</label>{/if} 
     370      <b>{'Fill these fields from Google datas'|translate}:</b> 
     371      <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|translate}</label> 
     372      <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|translate}</label> 
     373      <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|translate}</label> 
     374      <label><input type="checkbox" name="fill_taken" checked="checked"> {'Creation date'|translate}</label> 
     375      <label><input type="checkbox" name="fill_description" checked="checked"> {'Description'|translate}</label> 
     376      <label><input type="checkbox" name="fill_geotag" checked="checked"> {'Geolocalization'|translate}</label> 
    415377    </p> 
    416378 
    417379    <p> 
    418380      <input type="hidden" name="album" value="{$album}"> 
    419       <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|@translate}" style="display:none;"> 
    420       <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> 
     381      <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|translate}" style="display:none;"> 
     382      <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> 
    421383    </p> 
    422384  </fieldset> 
  • extensions/Google2Piwigo/admin/template/import.tpl

    r25788 r26198  
    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'} 
    56{combine_css path="themes/default/js/plugins/jquery.jGrowl.css"} 
    67 
    7 {combine_css path=$PICASA_WA_PATH|@cat:"admin/template/style.css"} 
     8{combine_css path=$PICASA_WA_PATH|cat:"admin/template/style.css"} 
    89 
    9 {footer_script}{literal} 
     10{footer_script} 
    1011$("input.login").click(function() { 
    11   window.location.href = "{/literal}{$picasa_login}{literal}"; 
     12  window.location.href = "{$picasa_login}"; 
    1213}); 
    1314$(".login_help").click(function() { 
    1415  $(".infos.tip").slideToggle(); 
    1516}); 
    16 {/literal}{/footer_script} 
     17{/footer_script} 
     18 
    1719 
    1820<div class="titrePage"> 
     
    2224{* <!-- LOGIN --> *} 
    2325{if $ACTION == 'login'} 
    24 <p><input type="submit" class="login" value="{'Login'|@translate}"></p> 
    25 <p><a href="#" class="login_help">{'Help! I get the error "The site [...] has not been registered."'|@translate}</a></p> 
     26<p><input type="submit" class="login" value="{'Login'|translate}"></p> 
     27<p><a href="#" class="login_help">{'Help! I get the error "The site [...] has not been registered."'|translate}</a></p> 
    2628 
    2729<div class="infos tip" style="display:none;"> 
     
    3032 
    3133{* <!-- MAIN MENU --> *} 
    32 {elseif $ACTION == 'main'} 
    33 {footer_script}{literal} 
     34{else if $ACTION == 'main'} 
     35{footer_script} 
    3436jQuery('input[type="submit"]').click(function() { 
    3537  window.location.href = $(this).attr("data"); 
     
    3840  $("#loader_import").fadeIn(); 
    3941}); 
    40 {/literal}{/footer_script} 
     42{/footer_script} 
    4143 
    4244<p> 
    43   <b>{'Logged in as'|@translate}</b> : {$username}<br><br> 
    44   <input type="submit" data="{$logout_url}" value="{'Logout'|@translate}"> 
     45  <b>{'Logged in as'|translate}</b> : {$username}<br><br> 
     46  <input type="submit" data="{$logout_url}" value="{'Logout'|translate}"> 
    4547</p> 
    4648<br> 
    4749<p> 
    48   <input type="submit" data="{$list_albums_url}" class="load" value="{'List my albums'|@translate}"> 
    49   <input type="submit" data="{$import_all_url}" class="load" value="{'Import all my pictures'|@translate}"> 
     50  <input type="submit" data="{$list_albums_url}" class="load" value="{'List my albums'|translate}"> 
     51  <input type="submit" data="{$import_all_url}" class="load" value="{'Import all my pictures'|translate}"> 
    5052  <br> 
    51   <span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|@translate}</i></span> 
     53  <span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|translate}</i></span> 
    5254</p> 
    5355 
    5456{* <!-- ALBUMS LIST --> *} 
    55 {elseif $ACTION == 'list_albums'} 
    56 {footer_script}{literal} 
     57{else if $ACTION == 'list_albums'} 
     58{footer_script} 
    5759jQuery('.load').click(function() { 
    5860  $("#loader_import").fadeIn(); 
    5961}); 
    60 {/literal}{/footer_script} 
     62{/footer_script} 
    6163 
    62 <h3>{'%d albums'|@translate|@sprintf:$total_albums}</h3> 
     64<h3>{'%d albums'|translate:$total_albums}</h3> 
    6365<ul id="albumsList"> 
    6466{foreach from=$albums item=album} 
    6567  <li> 
    66     <b><a href="{$album.U_LIST}" class="load">{$album.title}</a></b> <i>{'(%d photos)'|@translate|@sprintf:$album.photos}</i>  
    67     {if $album.description}- {$album.description|@truncate:100}{/if} 
     68    <b><a href="{$album.U_LIST}" class="load">{$album.title}</a></b> <i>{'(%d photos)'|translate:$album.photos}</i>  
     69    {if $album.description}- {$album.description|truncate:100}{/if} 
    6870  </li> 
    6971{/foreach} 
    7072</ul> 
    71 <span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|@translate}</i></span> 
     73<span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|translate}</i></span> 
    7274 
    7375{* <!-- PHOTOS LIST --> *} 
    74 {elseif $ACTION == 'list_photos'} 
     76{else if $ACTION == 'list_photos'} 
    7577{include file=$PICASA_WA_ABS_PATH|@cat:'admin/template/import.list_photos.tpl'} 
    7678 
    7779{* <!-- IMPORT ALL --> *} 
    78 {elseif $ACTION == 'list_all'} 
     80{else if $ACTION == 'list_all'} 
    7981{include file=$PICASA_WA_ABS_PATH|@cat:'admin/template/import.list_all.tpl'} 
    8082 
  • extensions/Google2Piwigo/include/functions.inc.php

    r20670 r26198  
    11<?php 
    2 if (!defined('PICASA_WA_PATH')) die('Hacking attempt!'); 
     2defined('PICASA_WA_PATH') or die('Hacking attempt!'); 
    33 
    44/** 
     
    116116  return false; 
    117117} 
    118  
    119 ?> 
  • extensions/Google2Piwigo/include/ws_functions.inc.php

    r20670 r26198  
    11<?php 
    2 if (!defined('PICASA_WA_PATH')) die('Hacking attempt!'); 
     2defined('PICASA_WA_PATH') or die('Hacking attempt!'); 
    33 
    44function picasa_wa_add_ws_method($arr) 
     
    1515      'fills' => array('default' => 'fill_name,fill_author,fill_tags,fill_date,fill_description'), 
    1616      ), 
    17     'Used by Picasa Web Albums' 
     17    'Used by Picasa Web Albums', 
     18    null, 
     19    array('hidden'=>true) 
    1820    ); 
    1921} 
     
    7274  $photo['path'] = PICASA_WA_CACHE . 'picasa-'.$photo['id'].'.'.get_extension($photo['url']); 
    7375   
    74   if ($photoEntry->getGeoRssWhere() !== null && !empty($pwg_loaded_plugins['rv_gmaps'])) 
     76  if ($photoEntry->getGeoRssWhere() !== null) 
    7577  { 
    7678    $photo['latlon'] = $photoEntry->getGeoRssWhere()->getPoint()->getPos()->getText(); 
     
    136138    if (in_array('fill_author', $params['fills']))      $updates['author'] = pwg_db_real_escape_string($photo['author']); 
    137139    if (in_array('fill_description', $params['fills'])) $updates['comment'] = pwg_db_real_escape_string($photo['description']); 
    138     if (in_array('fill_geotag', $params['fills']) and !empty($photo['latlon']) ) 
     140    if (in_array('fill_geotag', $params['fills']) and !empty($photo['latlon'])) 
    139141    { 
    140142      $latlon = explode(' ', $photo['latlon']); 
    141143      if (count($latlon) == 2) 
    142144      { 
    143         $updates['lat'] = pwg_db_real_escape_string($latlon[0]); 
    144         $updates['lon'] = pwg_db_real_escape_string($latlon[1]); 
     145        $updates['latitude'] = pwg_db_real_escape_string($latlon[0]); 
     146        $updates['longitude'] = pwg_db_real_escape_string($latlon[1]); 
    145147      } 
    146148    } 
     
    155157    } 
    156158     
    157     if ( !empty($photo['tags']) and in_array('fill_tags', $params['fills']) ) 
     159    if (!empty($photo['tags']) and in_array('fill_tags', $params['fills'])) 
    158160    { 
    159161      set_tags(get_tag_ids($photo['tags']), $photo['image_id']); 
     
    161163  } 
    162164   
    163   return sprintf(l10n('Photo "%s" imported'), $photo['title']); 
     165  return l10n('Photo "%s" imported', $photo['title']); 
    164166} 
    165  
    166 ?> 
  • extensions/Google2Piwigo/main.inc.php

    r24816 r26198  
    99*/ 
    1010 
    11 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
     11defined('PHPWG_ROOT_PATH') or die('Hacking attempt!'); 
    1212 
    1313global $conf; 
    1414 
    15 define('PICASA_WA_PATH',  PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/'); 
    16 define('PICASA_WA_ADMIN', get_root_url() . 'admin.php?page=plugin-' . basename(dirname(__FILE__))); 
     15define('PICASA_WA_ID',    basename(dirname(__FILE__))); 
     16define('PICASA_WA_PATH',  PHPWG_PLUGINS_PATH . PICASA_WA_ID . '/'); 
     17define('PICASA_WA_ADMIN', get_root_url() . 'admin.php?page=plugin-' . PICASA_WA_ID); 
    1718define('PICASA_WA_CACHE', PHPWG_ROOT_PATH . $conf['data_location'] . 'picasa_wa_cache/'); 
     19 
     20 
     21include_once(PICASA_WA_PATH . 'include/ws_functions.inc.php'); 
     22 
     23add_event_handler('ws_add_methods', 'picasa_wa_add_ws_method'); 
    1824 
    1925if (defined('IN_ADMIN')) 
    2026{ 
    2127  add_event_handler('get_admin_plugin_menu_links', 'picasa_wa_admin_menu'); 
     28 
    2229  add_event_handler('get_batch_manager_prefilters', 'picasa_wa_add_batch_manager_prefilters'); 
    2330  add_event_handler('perform_batch_manager_prefilters', 'picasa_wa_perform_batch_manager_prefilters', EVENT_HANDLER_PRIORITY_NEUTRAL, 2); 
    24   add_event_handler('loc_begin_admin_page', 'picasa_wa_prefilter_from_url'); 
    2531 
    2632  function picasa_wa_admin_menu($menu)  
    2733  { 
    28     array_push($menu, array( 
     34    $menu[] = array( 
    2935      'NAME' => 'Google2Piwigo', 
    3036      'URL' => PICASA_WA_ADMIN, 
    31     )); 
     37      ); 
    3238    return $menu; 
    3339  } 
     
    3541  function picasa_wa_add_batch_manager_prefilters($prefilters) 
    3642  { 
    37     array_push($prefilters, array( 
     43    $prefilters[] = array( 
    3844      'ID' => 'picasa', 
    3945      'NAME' => l10n('Imported from Google/Picasa'), 
    40     )); 
     46      ); 
    4147    return $prefilters; 
    4248  } 
     
    5157    WHERE file LIKE "picasa-%" 
    5258  ;'; 
    53       $filter_sets[] = array_from_query($query, 'id'); 
     59      $filter_sets[] = query2array($query, null, 'id'); 
    5460    } 
    5561     
    5662    return $filter_sets; 
    5763  } 
    58    
    59   function picasa_wa_prefilter_from_url() 
    60   { 
    61     global $page; 
    62     if ($page['page'] == 'batch_manager' && @$_GET['prefilter'] == 'picasa') 
    63     { 
    64       $_SESSION['bulk_manager_filter'] = array('prefilter' => 'picasa'); 
    65       unset($_GET['prefilter']); 
    66     } 
    67   } 
    6864} 
    69  
    70  
    71 include_once(PICASA_WA_PATH . 'include/ws_functions.inc.php'); 
    72  
    73 add_event_handler('ws_add_methods', 'picasa_wa_add_ws_method'); 
    74  
    75 ?> 
Note: See TracChangeset for help on using the changeset viewer.