bug:1791 display hd dimensions instead of websize dimensions
git-svn-id: http://piwigo.org/svn/trunk@10157 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
6e3a69f232
commit
797ddead2a
10 changed files with 112 additions and 3 deletions
|
|
@ -347,11 +347,15 @@ SELECT
|
|||
{
|
||||
$update['has_high'] = 'true';
|
||||
$update['high_filesize'] = $high_infos['filesize'];
|
||||
$update['high_width'] = $high_infos['width'];
|
||||
$update['high_height'] = $high_infos['height'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$update['has_high'] = 'false';
|
||||
$update['high_filesize'] = null;
|
||||
$update['high_width'] = null;
|
||||
$update['high_height'] = null;
|
||||
}
|
||||
|
||||
if (isset($level))
|
||||
|
|
@ -387,6 +391,8 @@ SELECT
|
|||
{
|
||||
$insert['has_high'] = 'true';
|
||||
$insert['high_filesize'] = $high_infos['filesize'];
|
||||
$insert['high_width'] = $high_infos['width'];
|
||||
$insert['high_height'] = $high_infos['height'];
|
||||
}
|
||||
|
||||
if (isset($level))
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ function get_metadata_attributes()
|
|||
{
|
||||
global $conf;
|
||||
|
||||
$update_fields = array('filesize', 'width', 'height', 'high_filesize');
|
||||
$update_fields = array('filesize', 'width', 'height', 'high_filesize', 'high_width', 'high_height');
|
||||
|
||||
if ($conf['use_exif'])
|
||||
{
|
||||
|
|
@ -199,8 +199,13 @@ function get_element_metadata($file, $has_high = false)
|
|||
if ($has_high)
|
||||
{
|
||||
$high_file = dirname($file).'/pwg_high/'.basename($file);
|
||||
|
||||
$data['high_filesize'] = floor(filesize($high_file)/1024);
|
||||
|
||||
if ($high_size = @getimagesize($high_file))
|
||||
{
|
||||
$data['high_width'] = $high_size[0];
|
||||
$data['high_height'] = $high_size[1];
|
||||
}
|
||||
}
|
||||
|
||||
if ($conf['use_exif'])
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ function RemoteSiteReader($url, $listing_url)
|
|||
'tn_ext', 'representative_ext', 'has_high',
|
||||
);
|
||||
$this->metadata_attributes = array(
|
||||
'filesize', 'width', 'height', 'high_filesize'
|
||||
'filesize', 'width', 'height', 'high_filesize', 'high_width', 'high_height',
|
||||
);
|
||||
|
||||
if (!isset($listing_url))
|
||||
|
|
|
|||
52
install/db/100-database.php
Normal file
52
install/db/100-database.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Piwigo - a PHP based photo gallery |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Copyright(C) 2008-2011 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!');
|
||||
}
|
||||
|
||||
$upgrade_description = 'add high_width and high_height fields into IMAGES_TABLE';
|
||||
|
||||
if ('mysql' == $conf['dblayer'])
|
||||
{
|
||||
$query = 'ALTER TABLE '.IMAGES_TABLE.'
|
||||
ADD COLUMN `high_width` smallint(9) unsigned default NULL,
|
||||
ADD COLUMN `high_height` smallint(9) unsigned default NULL;';
|
||||
}
|
||||
|
||||
if (in_array($conf['dblayer'], array('pgsql', 'sqlite', 'pdo-sqlite')))
|
||||
{
|
||||
$query = 'ALTER TABLE '.IMAGES_TABLE.'
|
||||
ADD COLUMN "high_width" INTEGER,
|
||||
ADD COLUMN "high_height" INTEGER;';
|
||||
}
|
||||
|
||||
pwg_query($query);
|
||||
|
||||
echo
|
||||
"\n"
|
||||
. $upgrade_description
|
||||
."\n"
|
||||
;
|
||||
?>
|
||||
|
|
@ -192,6 +192,8 @@ CREATE TABLE `piwigo_images` (
|
|||
`path` varchar(255) NOT NULL default '',
|
||||
`storage_category_id` smallint(5) unsigned default NULL,
|
||||
`high_filesize` mediumint(9) unsigned default NULL,
|
||||
`high_width` smallint(9) unsigned default NULL,
|
||||
`high_height` smallint(9) unsigned default NULL,
|
||||
`level` tinyint unsigned NOT NULL default '0',
|
||||
`md5sum` char(32) default NULL,
|
||||
`added_by` smallint(5) NOT NULL default '0',
|
||||
|
|
|
|||
|
|
@ -188,6 +188,8 @@ CREATE TABLE piwigo_images
|
|||
"path" VARCHAR(255) default '' NOT NULL,
|
||||
"storage_category_id" INTEGER,
|
||||
"high_filesize" INTEGER,
|
||||
"high_width" INTEGER,
|
||||
"high_height" INTEGER,
|
||||
"level" INTEGER default 0 NOT NULL,
|
||||
"md5sum" CHAR(32),
|
||||
"added_by" INTEGER default 0 NOT NULL,
|
||||
|
|
|
|||
|
|
@ -232,6 +232,8 @@ CREATE TABLE "piwigo_images"
|
|||
"path" VARCHAR(255) default '' NOT NULL,
|
||||
"storage_category_id" INTEGER,
|
||||
"high_filesize" INTEGER,
|
||||
"high_width" INTEGER,
|
||||
"high_height" INTEGER,
|
||||
"level" INTEGER default 0 NOT NULL,
|
||||
"md5sum" CHAR(32),
|
||||
"added_by" INTEGER default 0 NOT NULL,
|
||||
|
|
|
|||
|
|
@ -188,6 +188,8 @@ CREATE TABLE piwigo_images
|
|||
"path" VARCHAR(255) default '' NOT NULL,
|
||||
"storage_category_id" INTEGER,
|
||||
"high_filesize" INTEGER,
|
||||
"high_width" INTEGER,
|
||||
"high_height" INTEGER,
|
||||
"level" INTEGER default 0 NOT NULL,
|
||||
"md5sum" CHAR(32),
|
||||
"added_by" INTEGER default 0 NOT NULL,
|
||||
|
|
|
|||
32
picture.php
32
picture.php
|
|
@ -919,6 +919,31 @@ if ($picture['current']['is_picture'] and isset($picture['current']['width']) )
|
|||
}
|
||||
}
|
||||
|
||||
// hd size in pixels
|
||||
if ($picture['current']['is_picture'] AND $picture['current']['has_high'])
|
||||
{
|
||||
if (!empty($picture['current']['high_width']))
|
||||
{
|
||||
$infos['INFO_DIMENSIONS'] = $picture['current']['high_width'].'*'.$picture['current']['high_height'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$hi_size = @getimagesize($hi_url);
|
||||
if ($hi_size !== false)
|
||||
{
|
||||
pwg_query('
|
||||
UPDATE ' . IMAGES_TABLE . '
|
||||
SET
|
||||
high_width = \'' . $hi_size[0].'\',
|
||||
high_height = \''.$hi_size[1] .'\'
|
||||
WHERE id = ' . $picture['current']['id'] . ';
|
||||
');
|
||||
|
||||
$infos['INFO_DIMENSIONS'] = $hi_size[0].'*'.$hi_size[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// filesize
|
||||
if (!empty($picture['current']['filesize']))
|
||||
{
|
||||
|
|
@ -926,6 +951,13 @@ if (!empty($picture['current']['filesize']))
|
|||
sprintf(l10n('%d Kb'), $picture['current']['filesize']);
|
||||
}
|
||||
|
||||
// hd filesize
|
||||
if ($picture['current']['has_high'] and !empty($picture['current']['high_filesize']))
|
||||
{
|
||||
$infos['INFO_FILESIZE'] =
|
||||
sprintf(l10n('%d Kb'), $picture['current']['high_filesize']);
|
||||
}
|
||||
|
||||
// number of visits
|
||||
$infos['INFO_VISITS'] = $picture['current']['hit'];
|
||||
|
||||
|
|
|
|||
|
|
@ -738,6 +738,12 @@ function pwg_scan_file($file_full, &$line)
|
|||
|
||||
$high_file = $file_dir.'/'.$conf['high'].'/'.$file_base;
|
||||
$element['high_filesize'] = floor(filesize($high_file) / 1024);
|
||||
|
||||
if ($high_size = @getimagesize($high_file))
|
||||
{
|
||||
$element['high_width'] = $high_size[0];
|
||||
$element['high_height'] = $high_size[1];
|
||||
}
|
||||
}
|
||||
|
||||
// get EXIF meta datas
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue