Changeset 13319


Ignore:
Timestamp:
02/23/12 15:25:41 (8 years ago)
Author:
plg
Message:

new option to compute rotation angle from EXIF orientation tag

Location:
extensions/rotateImage
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/rotateImage/language/en_UK/plugin.lang.php

    r12481 r13319  
    77$lang['90° left'] = '90° left'; 
    88$lang['180°'] = '180°'; 
     9$lang['auto (EXIF orientation tag)'] = 'auto (EXIF orientation tag)'; 
    910?> 
  • extensions/rotateImage/language/fr_FR/plugin.lang.php

    r12417 r13319  
    77$lang['90° left'] = '90° à gauche'; 
    88$lang['180°'] = '180°'; 
     9$lang['auto (EXIF orientation tag)'] = 'automatique (selon le tag d\'orientation EXIF)'; 
    910?> 
  • extensions/rotateImage/rotate_image.tpl

    r13314 r13319  
    11{footer_script} 
    22var rotateImagesMessage = "{'Images rotation in progress...'|@translate}"; 
     3var autoRotateOptionText = "{'auto (EXIF orientation tag)'|@translate}"; 
    34var ri_pwg_token = '{$RI_PWG_TOKEN}'; 
    45{literal} 
     6jQuery(document).ready(function() { 
     7  function autoRotateOption() { 
     8    if (jQuery("#rotate_hd").is(':checked')) { 
     9      jQuery("<option/>") 
     10        .attr("id", "autoRotateOption") 
     11        .attr("value", "auto") 
     12        .attr("selected", "selected") 
     13        .text(autoRotateOptionText) 
     14        .appendTo('select[name="rotate_angle"]') 
     15      ; 
     16    } 
     17    else { 
     18      jQuery("#autoRotateOption").remove(); 
     19    } 
     20  } 
     21 
     22  autoRotateOption(); 
     23  jQuery('#rotate_hd').click(function() { 
     24    autoRotateOption(); 
     25  }); 
     26 
    527  jQuery('#applyAction').click(function(e) { 
    628    if (elements.length != 0) 
     
    6789    return false; 
    6890  }); 
    69  
     91}); 
    7092{/literal}{/footer_script} 
    7193 
    7294<div id="rotate_image" class="bulkAction"> 
    73   <table style="margin-left:20px;"> 
    74     <tr> 
    75       <th id="thumb_width_th">{'Angle'|@translate}</th> 
    76       <td> 
    77       <select name="rotate_angle"> 
    78         {foreach from=$angles item=angle} 
    79           <option value="{$angle.value}" {if $saved_angle eq $angle.value}selected="selected"{/if}>{$angle.name}</option> 
    80         {/foreach} 
    81       </select> 
    82       </td> 
    83     </tr> 
    84     {if $library != 'gd'} 
    85     <tr> 
    86       <th><label for="rotate_hd">{'Also rotate HD image'|@translate}</label></th> 
    87       <td><input type="checkbox" name="rotate_hd" id="rotate_hd" checked="checked"></td> 
    88     </tr> 
    89     {/if} 
    90   </table> 
     95{if $library != 'gd'} 
     96  <p><label> 
     97    <input type="checkbox" name="rotate_hd" id="rotate_hd" checked="checked"> 
     98    <strong>{'Also rotate HD image'|@translate}</strong> 
     99  </label></p> 
     100{/if} 
     101  <p><label> 
     102    <strong>{'Angle'|@translate}</strong> 
     103    <br> 
     104    <select name="rotate_angle"> 
     105{foreach from=$angles item=angle} 
     106      <option value="{$angle.value}" {if $saved_angle eq $angle.value}selected="selected"{/if}>{$angle.name}</option> 
     107{/foreach} 
     108    </select> 
     109  </label></p> 
    91110</div> 
  • extensions/rotateImage/ws_functions.inc.php

    r13316 r13319  
    3737  include_once(PHPWG_ROOT_PATH.'admin/include/image.class.php'); 
    3838  $image_id=(int)$params['image_id']; 
    39   $angle=(int)$params['angle']; 
    40   $rotate_hd = get_boolean($params['rotate_hd']); 
     39   
    4140  $query=' 
    4241SELECT id, path, tn_ext, has_high 
     
    5049  } 
    5150 
    52   if ($rotate_hd and get_boolean($image['has_high'])) { 
     51  // rotation angle 
     52  if ('auto' == $params['angle']) { 
     53    $angle = $params['angle']; 
     54  } 
     55  else { 
     56    $angle = (int)$params['angle']; 
     57  } 
     58 
     59  if (get_boolean($params['rotate_hd']) and get_boolean($image['has_high'])) { 
    5360    $to_rotate_path = file_path_for_type($image['path'], 'high'); 
    5461    $quality = $conf['upload_form_hd_quality']; 
    5562    $regenerate_websize = true; 
     63 
     64    if ('auto' == $angle) { 
     65      $angle = pwg_image::get_rotation_angle($to_rotate_path); 
     66    } 
    5667  } 
    5768  else { 
Note: See TracChangeset for help on using the changeset viewer.