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['has_high'] = 'true';
|
||||||
$update['high_filesize'] = $high_infos['filesize'];
|
$update['high_filesize'] = $high_infos['filesize'];
|
||||||
|
$update['high_width'] = $high_infos['width'];
|
||||||
|
$update['high_height'] = $high_infos['height'];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$update['has_high'] = 'false';
|
$update['has_high'] = 'false';
|
||||||
$update['high_filesize'] = null;
|
$update['high_filesize'] = null;
|
||||||
|
$update['high_width'] = null;
|
||||||
|
$update['high_height'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($level))
|
if (isset($level))
|
||||||
|
|
@ -387,6 +391,8 @@ SELECT
|
||||||
{
|
{
|
||||||
$insert['has_high'] = 'true';
|
$insert['has_high'] = 'true';
|
||||||
$insert['high_filesize'] = $high_infos['filesize'];
|
$insert['high_filesize'] = $high_infos['filesize'];
|
||||||
|
$insert['high_width'] = $high_infos['width'];
|
||||||
|
$insert['high_height'] = $high_infos['height'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($level))
|
if (isset($level))
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ function get_metadata_attributes()
|
||||||
{
|
{
|
||||||
global $conf;
|
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'])
|
if ($conf['use_exif'])
|
||||||
{
|
{
|
||||||
|
|
@ -199,8 +199,13 @@ function get_element_metadata($file, $has_high = false)
|
||||||
if ($has_high)
|
if ($has_high)
|
||||||
{
|
{
|
||||||
$high_file = dirname($file).'/pwg_high/'.basename($file);
|
$high_file = dirname($file).'/pwg_high/'.basename($file);
|
||||||
|
|
||||||
$data['high_filesize'] = floor(filesize($high_file)/1024);
|
$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'])
|
if ($conf['use_exif'])
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ function RemoteSiteReader($url, $listing_url)
|
||||||
'tn_ext', 'representative_ext', 'has_high',
|
'tn_ext', 'representative_ext', 'has_high',
|
||||||
);
|
);
|
||||||
$this->metadata_attributes = array(
|
$this->metadata_attributes = array(
|
||||||
'filesize', 'width', 'height', 'high_filesize'
|
'filesize', 'width', 'height', 'high_filesize', 'high_width', 'high_height',
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!isset($listing_url))
|
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 '',
|
`path` varchar(255) NOT NULL default '',
|
||||||
`storage_category_id` smallint(5) unsigned default NULL,
|
`storage_category_id` smallint(5) unsigned default NULL,
|
||||||
`high_filesize` mediumint(9) 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',
|
`level` tinyint unsigned NOT NULL default '0',
|
||||||
`md5sum` char(32) default NULL,
|
`md5sum` char(32) default NULL,
|
||||||
`added_by` smallint(5) NOT NULL default '0',
|
`added_by` smallint(5) NOT NULL default '0',
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,8 @@ CREATE TABLE piwigo_images
|
||||||
"path" VARCHAR(255) default '' NOT NULL,
|
"path" VARCHAR(255) default '' NOT NULL,
|
||||||
"storage_category_id" INTEGER,
|
"storage_category_id" INTEGER,
|
||||||
"high_filesize" INTEGER,
|
"high_filesize" INTEGER,
|
||||||
|
"high_width" INTEGER,
|
||||||
|
"high_height" INTEGER,
|
||||||
"level" INTEGER default 0 NOT NULL,
|
"level" INTEGER default 0 NOT NULL,
|
||||||
"md5sum" CHAR(32),
|
"md5sum" CHAR(32),
|
||||||
"added_by" INTEGER default 0 NOT NULL,
|
"added_by" INTEGER default 0 NOT NULL,
|
||||||
|
|
|
||||||
|
|
@ -232,6 +232,8 @@ CREATE TABLE "piwigo_images"
|
||||||
"path" VARCHAR(255) default '' NOT NULL,
|
"path" VARCHAR(255) default '' NOT NULL,
|
||||||
"storage_category_id" INTEGER,
|
"storage_category_id" INTEGER,
|
||||||
"high_filesize" INTEGER,
|
"high_filesize" INTEGER,
|
||||||
|
"high_width" INTEGER,
|
||||||
|
"high_height" INTEGER,
|
||||||
"level" INTEGER default 0 NOT NULL,
|
"level" INTEGER default 0 NOT NULL,
|
||||||
"md5sum" CHAR(32),
|
"md5sum" CHAR(32),
|
||||||
"added_by" INTEGER default 0 NOT NULL,
|
"added_by" INTEGER default 0 NOT NULL,
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,8 @@ CREATE TABLE piwigo_images
|
||||||
"path" VARCHAR(255) default '' NOT NULL,
|
"path" VARCHAR(255) default '' NOT NULL,
|
||||||
"storage_category_id" INTEGER,
|
"storage_category_id" INTEGER,
|
||||||
"high_filesize" INTEGER,
|
"high_filesize" INTEGER,
|
||||||
|
"high_width" INTEGER,
|
||||||
|
"high_height" INTEGER,
|
||||||
"level" INTEGER default 0 NOT NULL,
|
"level" INTEGER default 0 NOT NULL,
|
||||||
"md5sum" CHAR(32),
|
"md5sum" CHAR(32),
|
||||||
"added_by" INTEGER default 0 NOT NULL,
|
"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
|
// filesize
|
||||||
if (!empty($picture['current']['filesize']))
|
if (!empty($picture['current']['filesize']))
|
||||||
{
|
{
|
||||||
|
|
@ -926,6 +951,13 @@ if (!empty($picture['current']['filesize']))
|
||||||
sprintf(l10n('%d Kb'), $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
|
// number of visits
|
||||||
$infos['INFO_VISITS'] = $picture['current']['hit'];
|
$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;
|
$high_file = $file_dir.'/'.$conf['high'].'/'.$file_base;
|
||||||
$element['high_filesize'] = floor(filesize($high_file) / 1024);
|
$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
|
// get EXIF meta datas
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue