Skip to content

Commit

Permalink
bug:1791 display hd dimensions instead of websize dimensions
Browse files Browse the repository at this point in the history
git-svn-id: http://piwigo.org/svn/trunk@10157 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
mistic100 committed Apr 8, 2011
1 parent 6e3a69f commit 797ddea
Show file tree
Hide file tree
Showing 10 changed files with 112 additions and 3 deletions.
6 changes: 6 additions & 0 deletions admin/include/functions_upload.inc.php
Expand Up @@ -347,11 +347,15 @@ function add_uploaded_file($source_filepath, $original_filename=null, $categorie
{
$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))
Expand Down Expand Up @@ -387,6 +391,8 @@ function add_uploaded_file($source_filepath, $original_filename=null, $categorie
{
$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))
Expand Down
9 changes: 7 additions & 2 deletions admin/site_reader_local.php
Expand Up @@ -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'])
{
Expand Down Expand Up @@ -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'])
Expand Down
2 changes: 1 addition & 1 deletion admin/site_reader_remote.php
Expand Up @@ -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))
Expand Down
52 changes: 52 additions & 0 deletions install/db/100-database.php
@@ -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"
;
?>
2 changes: 2 additions & 0 deletions install/piwigo_structure-mysql.sql
Expand Up @@ -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',
Expand Down
2 changes: 2 additions & 0 deletions install/piwigo_structure-pdo-sqlite.sql
Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions install/piwigo_structure-pgsql.sql
Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions install/piwigo_structure-sqlite.sql
Expand Up @@ -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,
Expand Down
32 changes: 32 additions & 0 deletions picture.php
Expand Up @@ -919,13 +919,45 @@ function default_picture_content($content, $element_info)
}
}

// 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']))
{
$infos['INFO_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'];

Expand Down
6 changes: 6 additions & 0 deletions tools/create_listing_file.php
Expand Up @@ -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
Expand Down

0 comments on commit 797ddea

Please sign in to comment.