diff options
Diffstat (limited to '')
-rw-r--r-- | admin/picture_coi.php | 97 | ||||
-rw-r--r-- | admin/picture_modify.php | 5 | ||||
-rw-r--r-- | admin/themes/default/template/picture_coi.tpl | 66 | ||||
-rw-r--r-- | admin/themes/default/template/picture_modify.tpl | 7 |
4 files changed, 174 insertions, 1 deletions
diff --git a/admin/picture_coi.php b/admin/picture_coi.php new file mode 100644 index 000000000..2a3a60023 --- /dev/null +++ b/admin/picture_coi.php @@ -0,0 +1,97 @@ +<?php +// +-----------------------------------------------------------------------+ +// | Piwigo - a PHP based photo gallery | +// +-----------------------------------------------------------------------+ +// | Copyright(C) 2008-2012 Piwigo Team http://piwigo.org | +// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | +// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +if(!defined("PHPWG_ROOT_PATH")) +{ + die('Hacking attempt!'); +} + +// +-----------------------------------------------------------------------+ +// | Check Access and exit when user status is not ok | +// +-----------------------------------------------------------------------+ +check_status(ACCESS_ADMINISTRATOR); + +check_input_parameter('image_id', $_GET, false, PATTERN_ID); + +if (isset($_POST['submit'])) +{ + $query = 'UPDATE '.IMAGES_TABLE; + if (strlen($_POST['l'])==0) + { + $query .= ' SET coi=NULL'; + } + else + { + $coi = fraction_to_char($_POST['l']) + .fraction_to_char($_POST['t']) + .fraction_to_char($_POST['r']) + .fraction_to_char($_POST['b']); + $query .= ' SET coi=\''.$coi.'\''; + } + $query .= ' WHERE id='.$_GET['image_id']; + pwg_query($query); +} + +$query = 'SELECT * FROM '.IMAGES_TABLE.' WHERE id='.$_GET['image_id']; +$row = pwg_db_fetch_assoc( pwg_query($query) ); + +if (isset($_POST['submit'])) +{ + delete_element_derivatives($row); +} + +$tpl_var = array( + 'ALT' => $row['file'], + 'U_IMG' => DerivativeImage::url(IMG_LARGE, $row), + 'U_EDIT' => get_root_url().'admin.php?page=picture_modify&image_id='.$_GET['image_id'], + ); + +if (!empty($row['coi'])) +{ + $tpl_var['coi'] = array( + 'l'=> char_to_fraction($row['coi'][0]), + 't'=> char_to_fraction($row['coi'][1]), + 'r'=> char_to_fraction($row['coi'][2]), + 'b'=> char_to_fraction($row['coi'][3]), + ); +} + +if (isset($_POST['submit'])) +{ + $uid = '&b='.time(); + $conf['question_mark_in_urls'] = $conf['php_extension_in_urls'] = true; + $conf['derivative_url_style']=2; //script + $tpl_var['U_SQUARE'] = DerivativeImage::url(IMG_SQUARE, $row).$uid; + $tpl_var['U_THUMB'] = DerivativeImage::url(IMG_THUMB, $row).$uid; +} +else +{ + $tpl_var['U_SQUARE'] = DerivativeImage::url(IMG_SQUARE, $row); + $tpl_var['U_THUMB'] = DerivativeImage::url(IMG_THUMB, $row); +} + +$template->assign($tpl_var); +$template->set_filename('picture_coi', 'picture_coi.tpl'); + +$template->assign_var_from_handle('ADMIN_CONTENT', 'picture_coi'); +?> diff --git a/admin/picture_modify.php b/admin/picture_modify.php index 66a3240d3..38b607cc7 100644 --- a/admin/picture_modify.php +++ b/admin/picture_modify.php @@ -303,6 +303,11 @@ $template->assign( ) ); +if (in_array(get_extension($row['path']),$conf['picture_ext'])) +{ + $template->assign('U_COI', get_root_url().'admin.php?page=picture_coi&image_id='.$_GET['image_id']); +} + // image level options $selected_level = isset($_POST['level']) ? $_POST['level'] : $row['level']; $template->assign( diff --git a/admin/themes/default/template/picture_coi.tpl b/admin/themes/default/template/picture_coi.tpl new file mode 100644 index 000000000..8287d3701 --- /dev/null +++ b/admin/themes/default/template/picture_coi.tpl @@ -0,0 +1,66 @@ +{html_head} +<link rel="stylesheet" type="text/css" href="themes/default/js/plugins/jquery.Jcrop.css" /> +{/html_head} +{combine_script id='jquery.jcrop' load='footer' require='jquery' path='themes/default/js/plugins/jquery.Jcrop.min.js'} + +<h2>{'Center of interest'|@translate}</h2> +<div> +<a href="{$U_EDIT}">{'Edit photo information'|@translate}</a> +</div> + +<div> +<img src="{$U_SQUARE}" alt="{$ALT}"> +<img src="{$U_THUMB}" alt="{$ALT}"> +</div> + +<div> +<form method="post"> +<input type="hidden" id="l" name="l" value="{if isset($coi)}{$coi.l}{/if}"> +<input type="hidden" id="t" name="t" value="{if isset($coi)}{$coi.t}{/if}"> +<input type="hidden" id="r" name="r" value="{if isset($coi)}{$coi.r}{/if}"> +<input type="hidden" id="b" name="b" value="{if isset($coi)}{$coi.b}{/if}"> + +<img id="jcrop" src="{$U_IMG}" alt="{$ALT}"> + +<p> +<input type="submit" name="submit" value="{'Submit'|@translate}"> +</p> +</form> +</div> + +{footer_script} +{literal} +function from_coi(f, total) { + return f*total; +} + +function to_coi(v, total) { + return v/total; +} + +function jOnChange(sel) { + var $img = jQuery("#jcrop"); + jQuery("#l").val( to_coi(sel.x, $img.width()) ); + jQuery("#t").val( to_coi(sel.y, $img.height()) ); + jQuery("#r").val( to_coi(sel.x2, $img.width()) ); + jQuery("#b").val( to_coi(sel.y2, $img.height()) ); +} +function jOnRelease() { + jQuery("#l,#t,#r,#b").val(""); +} + +{/literal} +jQuery("#jcrop").Jcrop( {ldelim} + boxWidth: 400, boxHeight: 400, + onChange: jOnChange, + onRelease: jOnRelease + } +{if isset($coi)} + ,function() {ldelim} + var $img = jQuery("#jcrop"); + this.animateTo( [from_coi({$coi.l}, $img.width()), from_coi({$coi.t}, $img.height()), from_coi({$coi.r}, $img.width()), from_coi({$coi.b}, $img.height()) ] ); + } +{/if} +); +{/footer_script} + diff --git a/admin/themes/default/template/picture_modify.tpl b/admin/themes/default/template/picture_modify.tpl index cddd1ba78..28e6bfc76 100644 --- a/admin/themes/default/template/picture_modify.tpl +++ b/admin/themes/default/template/picture_modify.tpl @@ -83,7 +83,12 @@ pwg_initialization_datepicker("#date_creation_day", "#date_creation_month", "#da </td> </tr> {/if} - +{if isset($U_COI)} + <tr> + <td></td> + <td><a href="{$U_COI}">{'Not cropped correctly?'|@translate}</a></td> + </tr> +{/if} </table> </fieldset> |