mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-08-07 09:13:02 +02:00
multisize - added the coi (still to affine the admin ui + language)
multisize - derivatives can be revuild from a larger derviative instead of the original git-svn-id: http://piwigo.org/svn/trunk@13038 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -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');
|
||||
?>
|
||||
@@ -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(
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user