Changeset 26387


Ignore:
Timestamp:
01/01/14 11:34:30 (5 years ago)
Author:
mistic100
Message:

update for 2.6

Location:
extensions/url_uploader
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/url_uploader/admin.php

    r20407 r26387  
    2222$tabsheet->select('url_uploader'); 
    2323$tabsheet->assign(); 
     24 
     25$page['active_menu'] = get_active_menu('photo'); 
    2426 
    2527 
     
    110112    if (isset($_POST['onUploadError']) and is_array($_POST['onUploadError']) and count($_POST['onUploadError']) > 0) 
    111113    { 
    112       array_push($page['errors'], sprintf(l10n('%d photos not imported'), count($_POST['onUploadError']))); 
     114      $page['errors'][] = l10n('%d photos not imported', count($_POST['onUploadError'])); 
    113115      foreach ($_POST['onUploadError'] as $error) 
    114116      { 
    115         array_push($page['errors'], $error); 
     117        $page['errors'][] = $error; 
    116118      } 
    117119    } 
     
    140142      ); 
    141143 
    142     array_push($page['thumbnails'], $thumbnail); 
     144    $page['thumbnails'][] = $thumbnail; 
    143145  } 
    144146 
     
    146148  { 
    147149    // nb uploaded 
    148     array_push($page['infos'], sprintf( 
    149       l10n('%d photos uploaded'), 
    150       count($page['thumbnails']) 
    151       )); 
     150    $page['infos'][] = l10n('%d photos uploaded', count($page['thumbnails'])); 
    152151 
    153152    // level 
    154153    if (0 != $_POST['level']) 
    155154    { 
    156       array_push($page['infos'], sprintf( 
    157         l10n('Privacy level set to "%s"'), 
    158         l10n(sprintf('Level %d', $_POST['level'])) 
    159         )); 
     155      $page['infos'][] = l10n('Privacy level set to "%s"', l10n(sprintf('Level %d', $_POST['level']))); 
    160156    } 
    161157 
     
    169165    $category_name = get_cat_display_name_from_id($category_id, 'admin.php?page=album-'); 
    170166     
    171     array_push($page['infos'], sprintf( 
    172       l10n('Album "%s" now contains %d photos'), 
    173       '<em>'.$category_name.'</em>', 
    174       $count 
    175       )); 
     167    $page['infos'][] = l10n('Album "%s" now contains %d photos', '<em>'.$category_name.'</em>', $count); 
    176168     
    177169    $page['batch_link'] = PHOTOS_ADD_BASE_URL.'&batch='.implode(',', $image_ids); 
     
    189181$upload_mode = isset($conf['url_uploader_mode']) ? $conf['url_uploader_mode'] : 'single'; 
    190182 
    191 if ( isset($_GET['upload_mode']) and $_GET['upload_mode']!=$upload_mode and in_array($_GET['upload_mode'], $upload_modes) ) 
     183if (isset($_GET['upload_mode']) and $_GET['upload_mode']!=$upload_mode and in_array($_GET['upload_mode'], $upload_modes)) 
    192184{ 
    193185  $upload_mode = $_GET['upload_mode']; 
     
    218210// send page content 
    219211$template->assign_var_from_handle('ADMIN_CONTENT', 'urluploader_content'); 
    220  
    221 ?> 
  • extensions/url_uploader/include/functions.inc.php

    r20064 r26387  
    1313      array_slice($sheets, 0, 1) + 
    1414      array('url_uploader' => array( 
    15         'caption' => l10n('URL Uploader'), 
     15        'caption' => '<span class="icon-link"></span>' . l10n('URL Uploader'), 
    1616        'url' => URLUPLOADER_ADMIN, 
    1717        )) + 
     
    5151  return $default; 
    5252} 
    53  
    54 ?> 
  • extensions/url_uploader/include/ws_functions.inc.php

    r20407 r26387  
    2020      'url_in_comment' => array('default' => true), 
    2121      ), 
    22     'Add image from remote URL.' 
     22    'Add image from remote URL.', 
     23    null, 
     24    array('admin_only'=>true) 
    2325    ); 
    2426} 
     
    3335  } 
    3436   
     37  load_language('plugin.lang', URLUPLOADER_PATH); 
     38   
    3539  $params = array_map('trim', $params); 
    3640   
     
    4145  if (empty($params['file_url'])) 
    4246  { 
    43     return new PwgError(WS_ERR_INVALID_PARAM, 'File URL is empty'); 
     47    return new PwgError(WS_ERR_INVALID_PARAM, l10n('File URL is empty')); 
    4448  } 
    4549  // check remote url 
    4650  if (!url_is_remote($params['file_url'])) 
    4751  { 
    48     return new PwgError(WS_ERR_INVALID_PARAM, 'Invalid file URL'); 
     52    return new PwgError(WS_ERR_INVALID_PARAM, l10n('Invalid file URL')); 
    4953  } 
    5054  // check file extension 
    5155  if (!in_array(strtolower(get_extension($params['file_url'])), $allowed_extensions)) 
    5256  { 
    53     return new PwgError(WS_ERR_INVALID_PARAM, 'Invalid file type'); 
     57    return new PwgError(WS_ERR_INVALID_PARAM, l10n('Invalid file type')); 
    5458  } 
    5559 
     
    6670  { 
    6771    @unlink($temp_filename); 
    68     return new PwgError(WS_ERR_INVALID_PARAM, 'Unable to download file'); 
     72    return new PwgError(WS_ERR_INVALID_PARAM, l10n('Unable to download file')); 
    6973  } 
    7074  // check mime-type 
     
    7276  { 
    7377    @unlink($temp_filename); 
    74     return new PwgError(WS_ERR_INVALID_PARAM, 'Invalid file type'); 
     78    return new PwgError(WS_ERR_INVALID_PARAM, l10n('Invalid file type')); 
    7579  } 
    7680 
     
    131135    ); 
    132136} 
    133  
    134 ?> 
  • extensions/url_uploader/main.inc.php

    r20064 r26387  
    1212 
    1313 
    14 // +-----------------------------------------------------------------------+ 
    15 // | Define plugin constants                                               | 
    16 // +-----------------------------------------------------------------------+ 
    17 defined('URLUPLOADER_ID') or define('URLUPLOADER_ID', basename(dirname(__FILE__))); 
     14define('URLUPLOADER_ID',      basename(dirname(__FILE__))); 
    1815define('URLUPLOADER_PATH' ,   PHPWG_PLUGINS_PATH . URLUPLOADER_ID . '/'); 
    1916define('URLUPLOADER_ADMIN',   get_root_url() . 'admin.php?page=plugin-' . URLUPLOADER_ID); 
    2017 
    2118 
    22 // +-----------------------------------------------------------------------+ 
    23 // | Add event handlers                                                    | 
    24 // +-----------------------------------------------------------------------+ 
    2519if (defined('IN_ADMIN')) 
    2620{ 
    27   // new tab on photo page 
    2821  add_event_handler('tabsheet_before_select', 'urluploader_tabsheet_before_select', EVENT_HANDLER_PRIORITY_NEUTRAL, 2); 
    2922} 
    3023 
    31 // add API function 
    3224add_event_handler('ws_add_methods', 'urluploader_ws_add_methods'); 
     25 
    3326 
    3427include_once(URLUPLOADER_PATH . 'include/functions.inc.php'); 
    3528include_once(URLUPLOADER_PATH . 'include/ws_functions.inc.php'); 
    36  
    37 ?> 
  • extensions/url_uploader/maintain.inc.php

    r19804 r26387  
    44function plugin_uninstall()  
    55{ 
    6   pwg_query('DELETE FROM `'. CONFIG_TABLE .'` WHERE param = "url_uploader_mode" LIMIT 1;'); 
     6  conf_delete_param('url_uploader_mode'); 
    77} 
    8  
    9 ?> 
  • extensions/url_uploader/template/photos_add.tpl

    r20407 r26387  
    1 {combine_css path=$URLUPLOADER_PATH|@cat:"template/style.css"} 
    2 {combine_script id="URI" load="footer" path=$URLUPLOADER_PATH|@cat:"template/URI.min.js"} 
    3 {combine_css path=$URLUPLOADER_PATH|@cat:"template/jquery.textarea-lines-numbers.css"} 
    4 {combine_script id="createTextareaWithLines" load="footer" require="jquery.ui.resizable" path=$URLUPLOADER_PATH|@cat:"template/jquery.textarea-lines-numbers.js"} 
     1{combine_css path=$URLUPLOADER_PATH|cat:'template/style.css'} 
     2{combine_script id='URI' load='footer' path=$URLUPLOADER_PATH|cat:'template/URI.min.js'} 
     3{combine_css path=$URLUPLOADER_PATH|cat:'template/jquery.textarea-lines-numbers.css'} 
     4{combine_script id='createTextareaWithLines' load='footer' require='jquery.ui.resizable' path=$URLUPLOADER_PATH|cat:'template/jquery.textarea-lines-numbers.js'} 
    55 
    66{if $upload_mode == 'multiple'} 
     
    88{combine_script id='jquery.jgrowl' load='footer' require='jquery' path='themes/default/js/plugins/jquery.jgrowl_minimized.js' } 
    99{combine_script id='jquery.ui.progressbar' load='footer'} 
    10 {combine_css path="admin/themes/default/uploadify.jGrowl.css"} 
     10{combine_css path='themes/default/js/plugins/jquery.jgrowl.css'} 
    1111{/if} 
    1212 
     
    1616 
    1717{footer_script} 
    18 var allowed_extensions = new Array('jpeg','jpg','png','gif'); 
    19 var errorHead   = '{'ERROR'|@translate|@escape:'javascript'}'; 
    20 var errorMsg    = '{'an error happened'|@translate|@escape:'javascript'}'; 
    21  
    22 var lang = new Array(); 
    23 lang['Invalid file URL'] = '{'Invalid file URL'|@translate|@escape:'javascript'}'; 
    24 lang['Invalid file type'] = '{'Invalid file type'|@translate|@escape:'javascript'}'; 
    25 lang['File URL is empty'] = '{'File URL is empty'|@translate|@escape:'javascript'}'; 
    26 lang['Unable to download file'] = '{'Unable to download file'|@translate|@escape:'javascript'}'; 
    27 lang['Pending'] = '{'Pending'|@translate|@escape:'javascript'}'; 
    28 lang['Delete this item'] = '{'Delete this item'|@translate|@escape:'javascript'}'; 
    29  
    30 {literal} 
    31 jQuery("#hideErrors").click(function() { 
    32     jQuery("#formErrors").hide(); 
     18(function($){ 
     19  var allowed_extensions = new Array('jpeg','jpg','png','gif'); 
     20 
     21  $('#hideErrors').click(function() { 
     22    $('#formErrors').hide(); 
    3323    return false; 
    3424  }); 
    3525   
    36 jQuery("#uploadWarningsSummary a.showInfo").click(function() { 
    37     jQuery("#uploadWarningsSummary").hide(); 
    38     jQuery("#uploadWarnings").show(); 
     26  $('#uploadWarningsSummary a.showInfo').click(function() { 
     27    $('#uploadWarningsSummary').hide(); 
     28    $('#uploadWarnings').show(); 
    3929    return false; 
    4030  }); 
    4131   
    42 jQuery("#showPermissions").click(function() { 
    43     jQuery(this).parent(".showFieldset").hide(); 
    44     jQuery("#permissions").show(); 
     32  $('#showPermissions').click(function() { 
     33    $(this).parent('.showFieldset').hide(); 
     34    $('#permissions').show(); 
    4535    return false; 
    4636  }); 
    47 {/literal} 
    48  
    49  
    50 {* <!-- MULTIPLE UPLOAD --> *} 
    51 {if $upload_mode == 'multiple'} 
    52 {literal} 
    53 function checkUploadStart() { 
    54   var nbErrors = 0; 
    55    
    56   jQuery("#formErrors").hide(); 
    57   jQuery("#formErrors li").hide(); 
    58  
    59   if (jQuery("#albumSelect option:selected").length == 0) { 
    60     jQuery("#formErrors #noAlbum").show(); 
    61     nbErrors++; 
     37 
     38  {* <!-- MULTIPLE UPLOAD --> *} 
     39  {if $upload_mode == 'multiple'} 
     40  function checkUploadStart() { 
     41    var nbErrors = 0; 
     42     
     43    $('#formErrors').hide(); 
     44    $('#formErrors li').hide(); 
     45 
     46    if ($('#albumSelect option:selected').length == 0) { 
     47      $('#formErrors #noAlbum').show(); 
     48      nbErrors++; 
     49    } 
     50     
     51    var nbFiles = $('table#links tr.pending').length; 
     52     
     53    if (nbFiles == 0) { 
     54      $('#formErrors #noPhoto').show(); 
     55      nbErrors++; 
     56    } 
     57 
     58    if (nbErrors != 0) { 
     59      $('#formErrors').show(); 
     60      return false; 
     61    } 
     62    else { 
     63      return true; 
     64    } 
    6265  } 
    63    
    64   var nbFiles = jQuery("table#links tr.pending").length; 
    65    
    66   if (nbFiles == 0) { 
    67     jQuery("#formErrors #noPhoto").show(); 
    68     nbErrors++; 
     66 
     67  function trim (str) { 
     68    return str.replace(/^\s+/g,'').replace(/\s+$/g,'') 
    6969  } 
    7070 
    71   if (nbErrors != 0) { 
    72     jQuery("#formErrors").show(); 
     71  $('input[name=add_links]').click(function() { 
     72    $input = $('textarea#urls'); 
     73     
     74    if ($input.val() != '') { 
     75      $('table#links').show(); 
     76       
     77      var lines = $input.val().split('\n'); 
     78      var html = ''; 
     79      $input.val(''); 
     80       
     81      for (i in lines) { 
     82        line = lines[i].split('|'); 
     83        item = {}; 
     84         
     85        // no name given 
     86        if (line.length == 1) { 
     87          uri = new URI(trim(line[0])); 
     88          item.name = ''; 
     89        } 
     90        // name given 
     91        else { 
     92          uri = new URI(trim(line[1])); 
     93          item.name = trim(line[0]); 
     94        } 
     95         
     96        uri.fragment(''); 
     97        item.url = uri.href(); 
     98        item.short_url = item.url; 
     99         
     100        // shortened url for display 
     101        if (item.url.length > 40) { 
     102          item.short_url = item.url.substring(0, 15) + ' ... ' + item.url.substring(item.url.length-15); 
     103        } 
     104         
     105        // check if consistent url 
     106        if (uri.is('relative')) { 
     107          item.status = 'error'; 
     108          item.info = '{'Invalid file URL'|translate|escape:javascript}'; 
     109        } 
     110        else { 
     111          // check if good extension 
     112          if (allowed_extensions.indexOf(uri.suffix().toLowerCase()) == -1) { 
     113            item.status = 'error'; 
     114            item.info = '{'Invalid file type'|translate|escape:javascript}'; 
     115          } 
     116          else { 
     117            item.status = 'pending'; 
     118            item.info = '{'Pending'|translate|escape:javascript}'; 
     119          } 
     120        } 
     121         
     122        // add link to table 
     123        html+= '<tr class="'+ item.status + '" data-name="'+ item.name +'" data-url="'+ item.url +'">'+ 
     124          '<td>'+ item.name +'</td>'+ 
     125          '<td><a href="'+ item.url +'">'+ item.short_url +'</a></td>'+ 
     126          '<td>'+ item.info +'</td>'+ 
     127          '<td><a class="delete" title="{'Delete this item'|translate|escape:javascript}">&nbsp;</a></td>'+ 
     128        '</tr>'; 
     129      } 
     130       
     131      $('table#links tbody').append(html); 
     132    } 
     133     
     134    $input.focus(); 
    73135    return false; 
     136  }); 
     137 
     138  $('table#links').on('click', 'a.delete', function() { 
     139    $(this).parents('tr').remove(); 
     140    $('textarea#urls').focus(); 
     141  }); 
     142 
     143  // AJAX MANAGER 
     144  var import_done = 0; 
     145  var import_selected = 0; 
     146  var queuedManager = $.manageAjax.create('queued', { 
     147    queue: true,   
     148    maxRequests: 1 
     149  }); 
     150 
     151  function performImport(file_url, category, name, level, url_in_comment, $target) { 
     152    queuedManager.add({ 
     153      type: 'GET', 
     154      dataType: 'json', 
     155      url: 'ws.php', 
     156      data: { 
     157        method: 'pwg.images.addRemote', 
     158        file_url: file_url, 
     159        category: category, 
     160        name: name, 
     161        level: level, 
     162        url_in_comment: url_in_comment, 
     163        format: 'json' 
     164      }, 
     165      success: function(data) { 
     166        if (data['stat'] == 'ok') { 
     167          $target.remove(); 
     168          $('#uploadedPhotos').parent('fieldset').show(); 
     169          $('#uploadedPhotos').prepend('<img src="'+ data['result']['thumbnail_url'] +'" class="thumbnail"> '); 
     170          $('#uploadForm').append('<input type="hidden" name="imageIds[]" value="'+ data['result']['image_id'] +'">'); 
     171        } 
     172        else { 
     173          $.jGrowl(name +' : '+ data['message'], {  
     174            theme: 'error', sticky: true,  
     175            header: '{'ERROR'|translate}' 
     176          }); 
     177             
     178          $target.children('td:nth-child(3)').html(lang[data['message']]); 
     179          $('#uploadForm').append('<input type="hidden" name="onUploadError[]" value="'+ file_url +' : '+ data['message'] +'">'); 
     180        } 
     181         
     182        import_done++; 
     183        $('#progressbar').progressbar({ value: import_done }); 
     184        $('#progressCurrent').text(import_done); 
     185         
     186        if (import_done == import_selected) { 
     187          $('#uploadForm').submit(); 
     188        } 
     189      }, 
     190      error: function(data) { 
     191        $.jGrowl(name +' : '+ '{'an error happened'|translate|escape:javascript}', {  
     192          theme: 'error', sticky: true,  
     193          header: '{'ERROR'|translate}' 
     194        }); 
     195         
     196        $target.children('td:nth-child(3)').html('{'an error happened'|translate|escape:javascript}'); 
     197      } 
     198    }); 
    74199  } 
    75   else { 
    76     return true; 
    77   } 
    78 } 
    79  
    80 function trim (myString) { 
    81   return myString.replace(/^\s+/g,'').replace(/\s+$/g,'') 
    82 } 
    83  
    84 jQuery("input[name='add_links']").click(function() { 
    85   $input = jQuery("textarea#urls"); 
    86    
    87   if ($input.val() != "") { 
    88     jQuery("table#links").show(); 
    89      
    90     lines = $input.val().split('\n'); 
    91     $input.val(""); 
    92      
    93     for (i in lines) { 
    94       line = lines[i].split('|'); 
    95       item = new Array; 
    96        
    97       // no name given 
    98       if (line.length == 1) { 
    99         uri = new URI(trim(line[0])); 
    100         item['name'] = ""; 
    101       } 
    102       // name given 
    103       else { 
    104         uri = new URI(trim(line[1])); 
    105         item['name']= trim(line[0]); 
    106       } 
    107        
    108       uri.fragment(""); 
    109       item['url'] = uri.href(); 
    110       item['short_url'] = item['url']; 
    111        
    112       // shortened url for display 
    113       if (item['url'].length > 40) { 
    114         item['short_url'] = item['url'].substring(0, 17) + ' ... ' + item['url'].substring(item['url'].length-17); 
    115       } 
    116        
    117       // check if consistent url 
    118       if (uri.is("relative")) { 
    119         item['status'] = 'error'; 
    120         item['info'] = lang['Invalid file URL']; 
    121       } 
    122       else { 
    123         // check if good extension 
    124         if (allowed_extensions.indexOf(uri.suffix().toLowerCase()) == -1) { 
    125           item['status'] = 'error'; 
    126           item['info'] = lang['Invalid file type']; 
    127         } 
    128         else { 
    129           item['status'] = 'pending'; 
    130           item['info'] = lang['Pending']; 
    131         } 
    132       } 
    133        
    134       // add link to table 
    135       jQuery("table#links tbody").append('<tr class="'+ item['status'] + '" data-name="'+ item['name'] +'" data-url="'+ item['url'] +'">'+ 
    136         '<td>'+ item['name'] +'</td>'+ 
    137         '<td><a href="'+ item['url'] +'">'+ item['short_url'] +'</a></td>'+ 
    138         '<td>'+ item['info'] +'</td>'+ 
    139         '<td><a class="delete" title="'+ lang['Delete this item'] +'">&nbsp;</a></td>'+ 
    140       '</tr>'); 
    141     } 
    142   } 
    143    
    144   $input.focus(); 
    145   return false; 
    146 }); 
    147  
    148 jQuery("table#links").on("click", "a.delete", function() { 
    149   $(this).parents("tr").remove(); 
    150   jQuery("textarea#urls").focus(); 
    151 }); 
    152  
    153 /* <!-- AJAX MANAGER --> */ 
    154 var import_done = 0; 
    155 var import_selected = 0; 
    156 var queuedManager = jQuery.manageAjax.create('queued', { 
    157   queue: true,   
    158   maxRequests: 1 
    159 }); 
    160  
    161 function performImport(file_url, category, name, level, url_in_comment, $target) { 
    162   queuedManager.add({ 
    163     type: 'GET', 
    164     dataType: 'json', 
    165     url: 'ws.php', 
    166     data: { method: 'pwg.images.addRemote', file_url: file_url, category: category, name: name, level: level, url_in_comment: url_in_comment, format: 'json' }, 
    167     success: function(data) { 
    168       if (data['stat'] == 'ok') { 
    169         $target.remove(); 
    170         jQuery("#uploadedPhotos").parent("fieldset").show(); 
    171         jQuery("#uploadedPhotos").prepend('<img src="'+ data['result']['thumbnail_url'] +'" class="thumbnail"> '); 
    172         jQuery("#uploadForm").append('<input type="hidden" name="imageIds[]" value="'+ data['result']['image_id'] +'">'); 
    173       } 
    174       else { 
    175         jQuery.jGrowl(name +' : '+ lang[data['message']], {  
    176           theme: 'error',  
    177           header: errorHead,  
    178           sticky: true  
    179           }); 
    180            
    181         $target.children("td:nth-child(3)").html(lang[data['message']]); 
    182         jQuery("#uploadForm").append('<input type="hidden" name="onUploadError[]" value="'+ file_url +' : '+ lang[data['message']] +'">'); 
    183       } 
    184        
    185       import_done++; 
    186       jQuery("#progressbar").progressbar({value: import_done}); 
    187       jQuery("#progressCurrent").text(import_done); 
    188        
    189       if (import_done == import_selected) { 
    190         $("#uploadForm").submit(); 
    191       } 
    192     }, 
    193     error: function(data) { 
    194       jQuery.jGrowl(name +' : '+ errorMsg, {  
    195         theme: 'error',  
    196         header: errorHead,  
    197         sticky: true  
    198         }); 
    199        
    200       $target.children("td:nth-child(3)").html(errorMsg); 
    201     } 
    202   }); 
    203 } 
    204  
    205 jQuery("input[name='submit_upload']").click(function() { 
    206   if (!checkUploadStart()) { 
     200 
     201  $('input[name=submit_upload]').click(function() { 
     202    if (!checkUploadStart()) { 
     203      return false; 
     204    } 
     205     
     206    import_selected = $('table#links tr.pending').length; 
     207     
     208    $('table#links a.delete').hide(); 
     209     
     210    $('#progressbar').progressbar({ max: import_selected, value:0 }); 
     211    $('#progressMax').text(import_selected); 
     212    $('#progressCurrent').text(0); 
     213    $('#uploadProgress').show(); 
     214     
     215    $('table#links tr.pending').each(function() { 
     216      performImport( 
     217        $(this).data('url'), 
     218        $('select[name=category] option:selected').val(), 
     219        $(this).data('name'), 
     220        $('select[name=level] option:selected').val(), 
     221        $('input[name=url_in_comment]').is(':checked'), 
     222        $(this) 
     223        ); 
     224    }); 
     225       
    207226    return false; 
    208   } 
    209    
    210   import_selected = jQuery("table#links tr.pending").length; 
    211    
    212   jQuery("table#links a.delete").hide(); 
    213    
    214   jQuery("#progressbar").progressbar({max: import_selected, value:0}); 
    215   jQuery("#progressMax").text(import_selected); 
    216   jQuery("#progressCurrent").text(0); 
    217   jQuery("#uploadProgress").show(); 
    218    
    219   jQuery("table#links tr.pending").each(function() { 
    220     performImport( 
    221       $(this).data('url'), 
    222       $("select[name=category] option:selected").val(), 
    223       $(this).data('name'), 
    224       $("select[name=level] option:selected").val(), 
    225       $("input[name=url_in_comment]").is(":checked"), 
    226       $(this) 
    227       ); 
    228   }); 
    229      
    230   return false; 
    231 }); 
    232  
    233 $("textarea#urls").textareaLinesNumbers({ 
    234   lines:999, 
    235   trailing:'.' 
    236 }); 
    237 {/literal} 
     227  }); 
     228 
     229  $('textarea#urls').textareaLinesNumbers({ 
     230    lines:999, 
     231    trailing:'.' 
     232  }); 
    238233 
    239234 
    240235{* <!-- SINGLE UPLOAD --> *} 
    241236{else} 
    242 {literal} 
    243 function checkUploadStart() { 
    244   var nbErrors = 0; 
    245    
    246   jQuery("#formErrors").hide(); 
    247   jQuery("#formErrors li").hide(); 
    248  
    249   if (jQuery("#albumSelect option:selected").length == 0) { 
    250     jQuery("#formErrors #noAlbum").show(); 
    251     nbErrors++; 
     237  function checkUploadStart() { 
     238    var nbErrors = 0; 
     239     
     240    $('#formErrors').hide(); 
     241    $('#formErrors li').hide(); 
     242 
     243    if ($('#albumSelect option:selected').length == 0) { 
     244      $('#formErrors #noAlbum').show(); 
     245      nbErrors++; 
     246    } 
     247     
     248    if ($('input[name=file_url]').val() == '') { 
     249      $('#formErrors #urlEmpty').show(); 
     250      nbErrors++; 
     251    } 
     252    else { 
     253      uri = new URI($('input[name=file_url]').val()); 
     254      if (uri.is('relative')) { 
     255        $('#formErrors #urlError').show(); 
     256        nbErrors++; 
     257      } 
     258      else if (allowed_extensions.indexOf(uri.suffix().toLowerCase()) == -1) { 
     259        $('#formErrors #typeError').show(); 
     260        nbErrors++; 
     261      } 
     262    } 
     263 
     264    if (nbErrors != 0) { 
     265      $('#formErrors').show(); 
     266      return false; 
     267    } 
     268    else { 
     269      return true; 
     270    } 
    252271  } 
    253    
    254   if (jQuery("input[name='file_url']").val() == "") { 
    255     jQuery("#formErrors #urlEmpty").show(); 
    256     nbErrors++; 
    257   } 
    258   else { 
    259     uri = new URI(jQuery("input[name='file_url']").val()); 
    260     if (uri.is('relative')) { 
    261       jQuery("#formErrors #urlError").show(); 
    262       nbErrors++; 
    263     } 
    264     else if (allowed_extensions.indexOf(uri.suffix().toLowerCase()) == -1) { 
    265       jQuery("#formErrors #typeError").show(); 
    266       nbErrors++; 
    267     } 
    268   } 
    269  
    270   if (nbErrors != 0) { 
    271     jQuery("#formErrors").show(); 
    272     return false; 
    273   } 
    274   else { 
    275     return true; 
    276   } 
    277 } 
    278  
    279 jQuery("input[name='submit_upload']").click(function() { 
    280   return checkUploadStart(); 
    281 }); 
    282 {/literal} 
     272 
     273  $('input[name=submit_upload]').click(function() { 
     274    return checkUploadStart(); 
     275  }); 
    283276{/if} 
    284277 
     278}(jQuery)); 
    285279{/footer_script} 
    286280 
    287281 
    288 {html_head}{literal} 
    289 <style type="text/css"> 
     282{html_style} 
    290283a.delete { 
    291284  background:url('admin/include/uploadify/cancel.png'); 
    292285} 
    293 </style> 
    294 {/literal}{/html_head} 
     286{/html_style} 
    295287 
    296288 
    297289<div class="titrePage"> 
    298   <h2>{'Upload Photos'|@translate} {$TABSHEET_TITLE}</h2> 
     290  <h2>{'Upload Photos'|translate} {$TABSHEET_TITLE}</h2> 
    299291</div> 
    300292 
     
    302294 
    303295{if count($setup_errors) > 0} 
    304 <div class="errors"> 
    305   <ul> 
    306   {foreach from=$setup_errors item=error} 
    307     <li>{$error}</li> 
    308   {/foreach} 
    309   </ul> 
    310 </div> 
     296  <div class="errors"> 
     297    <ul> 
     298    {foreach from=$setup_errors item=error} 
     299      <li>{$error}</li> 
     300    {/foreach} 
     301    </ul> 
     302  </div> 
    311303{else} 
    312304 
    313   {if count($setup_warnings) > 0} 
    314 <div class="warnings"> 
    315   <ul> 
    316     {foreach from=$setup_warnings item=warning} 
    317     <li>{$warning}</li> 
    318     {/foreach} 
    319   </ul> 
    320   <div class="hideButton" style="text-align:center"><a href="{$hide_warnings_link}">{'Hide'|@translate}</a></div> 
    321 </div> 
    322   {/if} 
     305{if count($setup_warnings) > 0} 
     306  <div class="warnings"> 
     307    <ul> 
     308      {foreach from=$setup_warnings item=warning} 
     309      <li>{$warning}</li> 
     310      {/foreach} 
     311    </ul> 
     312    <div class="hideButton" style="text-align:center"><a href="{$hide_warnings_link}">{'Hide'|translate}</a></div> 
     313  </div> 
     314{/if} 
    323315   
    324316{if !empty($thumbnails)} 
    325 <fieldset> 
    326   <legend>{'Uploaded Photos'|@translate}</legend> 
    327   <div> 
    328   {foreach from=$thumbnails item=thumbnail} 
    329     <a href="{$thumbnail.link}" class="externalLink"> 
    330       <img src="{$thumbnail.src}" alt="{$thumbnail.file}" title="{$thumbnail.title}" class="thumbnail"> 
    331     </a> 
    332   {/foreach} 
     317  <fieldset> 
     318    <legend>{'Uploaded Photos'|translate}</legend> 
     319    <div> 
     320    {foreach from=$thumbnails item=thumbnail} 
     321      <a href="{$thumbnail.link}" class="externalLink"> 
     322        <img src="{$thumbnail.src}" alt="{$thumbnail.file}" title="{$thumbnail.title}" class="thumbnail"> 
     323      </a> 
     324    {/foreach} 
     325    </div> 
     326     
     327    <p id="batchLink"><a href="{$batch_link}">{$batch_label}</a></p> 
     328  </fieldset> 
     329   
     330  <p style="margin:10px"><a href="{$another_upload_link}">{'Add another set of photos'|translate}</a></p> 
     331   
     332{else} 
     333  <div id="formErrors" class="errors" style="display:none"> 
     334    <ul> 
     335      <li id="noAlbum">{'Select an album'|translate}</li> 
     336      <li id="noPhoto">{'Select at least one photo'|translate}</li> 
     337      <li id="urlEmpty">{'File URL is empty'|translate}</li> 
     338      <li id="urlError">{'Invalid file URL'|translate}</li> 
     339      <li id="typeError">{'Invalid file type'|translate}</li> 
     340    </ul> 
     341    <div class="hideButton" style="text-align:center"><a href="#" id="hideErrors">{'Hide'|translate}</a></div> 
    333342  </div> 
    334   <p id="batchLink"><a href="{$batch_link}">{$batch_label}</a></p> 
    335 </fieldset> 
    336 <p style="margin:10px"><a href="{$another_upload_link}">{'Add another set of photos'|@translate}</a></p> 
    337 {else} 
    338  
    339 <div id="formErrors" class="errors" style="display:none"> 
    340   <ul> 
    341     <li id="noAlbum">{'Select an album'|@translate}</li> 
    342     <li id="noPhoto">{'Select at least one photo'|@translate}</li> 
    343     <li id="urlEmpty">{'File URL is empty'|@translate}</li> 
    344     <li id="urlError">{'Invalid file URL'|@translate}</li> 
    345     <li id="typeError">{'Invalid file type'|@translate}</li> 
    346   </ul> 
    347   <div class="hideButton" style="text-align:center"><a href="#" id="hideErrors">{'Hide'|@translate}</a></div> 
    348 </div> 
    349  
    350 <form id="uploadForm" enctype="multipart/form-data" method="post" action="{$form_action}" class="properties"> 
     343 
     344  <form id="uploadForm" enctype="multipart/form-data" method="post" action="{$form_action}" class="properties"> 
    351345    <fieldset> 
    352       <legend>{'Drop into album'|@translate}</legend> 
     346      <legend>{'Drop into album'|translate}</legend> 
    353347 
    354348      <span id="albumSelection"{if count($category_options) == 0} style="display:none"{/if}> 
     
    356350        {html_options options=$category_options selected=$category_options_selected} 
    357351      </select> 
    358       <br>{'... or '|@translate}</span><a href="#" class="addAlbumOpen" title="{'create a new album'|@translate}">{'create a new album'|@translate}</a> 
     352      <br>{'... or '|translate}</span><a href="#" class="addAlbumOpen" title="{'create a new album'|translate}">{'create a new album'|translate}</a> 
    359353       
    360354    </fieldset> 
    361355 
    362356    <fieldset> 
    363       <legend>{'Select files'|@translate}</legend> 
     357      <legend>{'Select files'|translate}</legend> 
    364358       
    365359      <p id="uploadWarningsSummary"> 
    366         {'Allowed file types: %s.'|@translate|@sprintf:$upload_file_types} 
     360        {'Allowed file types: %s.'|translate:$upload_file_types} 
    367361      {if isset($max_upload_resolution)} 
    368362        {$max_upload_resolution}Mpx 
    369         <a class="showInfo" title="{'Learn more'|@translate}">i</a> 
     363        <a class="showInfo" title="{'Learn more'|translate}">i</a> 
    370364      {/if} 
    371365      </p> 
    372366 
    373367      <p id="uploadWarnings"> 
    374         {'Allowed file types: %s.'|@translate|@sprintf:$upload_file_types} 
     368        {'Allowed file types: %s.'|translate:$upload_file_types} 
    375369      {if isset($max_upload_resolution)} 
    376         {'Approximate maximum resolution: %dM pixels (that\'s %dx%d pixels).'|@translate|@sprintf:$max_upload_resolution:$max_upload_width:$max_upload_height} 
     370        {'Approximate maximum resolution: %dM pixels (that\'s %dx%d pixels).'|translate:$max_upload_resolution:$max_upload_width:$max_upload_height} 
    377371      {/if} 
    378372      </p> 
    379373 
    380374{* <!-- SINGLE UPLOAD --> *} 
    381 {if $upload_mode == 'single'} 
     375    {if $upload_mode == 'single'} 
    382376      <ul> 
    383377        <li> 
    384378          <label> 
    385             <span class="property">{'File URL'|@translate}</span> 
     379            <span class="property">{'File URL'|translate}</span> 
    386380            <input type="text" name="file_url" size="70"> 
    387381          </label> 
     
    389383        <li> 
    390384          <label> 
    391             <span class="property">{'Photo name'|@translate}</span> 
     385            <span class="property">{'Photo name'|translate}</span> 
    392386            <input type="text" name="photo_name" size="40"> 
    393387          </label> 
     
    396390          <label> 
    397391            <span class="property"><input type="checkbox" name="url_in_comment" checked="checked"></span> 
    398             {'Add website URL in photo description'|@translate} 
     392            {'Add website URL in photo description'|translate} 
    399393          </label> 
    400394        </li> 
    401395      </ul>       
    402396       
    403       <p id="uploadModeInfos">{'Want to upload many files? Try the <a href="%s">multiple uploader</a> instead.'|@translate|@sprintf:$switch_url}</p> 
     397      <p id="uploadModeInfos">{'Want to upload many files? Try the <a href="%s">multiple uploader</a> instead.'|translate:$switch_url}</p> 
    404398 
    405399{* <!-- MULTIPLE UPLOAD --> *} 
    406 {else} 
    407  
     400    {else} 
    408401      <table id="links" class="table2" style="display:none;"> 
    409402        <thead> 
    410403          <tr class="throw"> 
    411             <th style="width:150px;">{'Photo name'|@translate}</th> 
    412             <th>{'File URL'|@translate}</th> 
    413             <th style="width:150px;">{'Status'|@translate}</th> 
     404            <th style="width:150px;">{'Photo name'|translate}</th> 
     405            <th>{'File URL'|translate}</th> 
     406            <th style="width:150px;">{'Status'|translate}</th> 
    414407            <th style="width:20px;"></th> 
    415408          </tr> 
     
    417410        <tbody> 
    418411        </tbody> 
    419         <tfoot> 
    420           <tr><th colspan="4"> 
    421           <label> 
    422             <input type="checkbox" name="url_in_comment" checked="checked"> 
    423             {'Add website URL in photo description'|@translate} 
    424           </label> 
    425           </th></tr> 
    426         </tfoot> 
    427412      </table> 
    428413       
    429414      <p> 
    430         {'One link by line, separate photo name and url with a &laquo; | &raquo;. Photo name is optional.'|@translate} 
     415        {'One link by line, separate photo name and url with a &laquo; | &raquo;. Photo name is optional.'|translate} 
    431416        <br> 
    432417        <textarea id="urls"></textarea> 
    433418      </p> 
    434       <input type="submit" name="add_links" value="{'Add links'|@translate}"> 
    435        
    436       <p id="uploadModeInfos">{'Multiple uploader doesn\'t work? Try the <a href="%s">single uploader</a> instead.'|@translate|@sprintf:$switch_url}</p> 
    437 {/if} 
     419       
     420      <p> 
     421        <label> 
     422          <input type="checkbox" name="url_in_comment" checked="checked"> 
     423          {'Add website URL in photo description'|translate} 
     424        </label> 
     425      </p> 
     426       
     427      <input type="submit" name="add_links" value="{'Add links'|translate}"> 
     428       
     429      <p id="uploadModeInfos">{'Multiple uploader doesn\'t work? Try the <a href="%s">single uploader</a> instead.'|translate:$switch_url}</p> 
     430    {/if} 
    438431    </fieldset> 
    439432 
    440     <p class="showFieldset"><a id="showPermissions" href="#">{'Manage Permissions'|@translate}</a></p> 
     433    <p class="showFieldset"><a id="showPermissions" href="#">{'Manage Permissions'|translate}</a></p> 
    441434 
    442435    <fieldset id="permissions" style="display:none"> 
    443       <legend>{'Who can see these photos?'|@translate}</legend> 
     436      <legend>{'Who can see these photos?'|translate}</legend> 
    444437 
    445438      <select name="level" size="1"> 
     
    449442     
    450443    <p> 
    451       <input class="submit" type="submit" name="submit_upload" value="{'Start Upload'|@translate}"> 
     444      <input class="submit" type="submit" name="submit_upload" value="{'Start Upload'|translate}"> 
    452445    </p> 
    453 </form> 
    454  
    455 <div id="uploadProgress" style="display:none"> 
    456 {'Photo %s of %s'|@translate|@sprintf:'<span id="progressCurrent">1</span>':'<span id="progressMax">10</span>'} 
    457 <br> 
    458 <div id="progressbar"></div> 
    459 </div> 
    460  
    461 <fieldset style="display:none"> 
    462   <legend>{'Uploaded Photos'|@translate}</legend> 
    463   <div id="uploadedPhotos"></div> 
    464 </fieldset> 
     446  </form> 
     447 
     448  <div id="uploadProgress" style="display:none"> 
     449    {'Photo %s of %s'|translate:'<span id="progressCurrent">1</span>':'<span id="progressMax">10</span>'} 
     450    <br> 
     451    <div id="progressbar"></div> 
     452  </div> 
     453 
     454  <fieldset style="display:none"> 
     455    <legend>{'Uploaded Photos'|translate}</legend> 
     456    <div id="uploadedPhotos"></div> 
     457  </fieldset> 
    465458 
    466459{/if} {* empty($thumbnails) *} 
Note: See TracChangeset for help on using the changeset viewer.