Skip to content

Commit

Permalink
feature 868 added: pwg.images.add checks if the same file has not alread
Browse files Browse the repository at this point in the history
been uploaded.


git-svn-id: http://piwigo.org/svn/trunk@2592 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
plegall committed Sep 25, 2008
1 parent 9ebc3be commit d04fd1d
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 0 deletions.
13 changes: 13 additions & 0 deletions include/ws_functions.inc.php
Expand Up @@ -902,6 +902,18 @@ function ws_images_add($params, &$service)
// fwrite($fh_log, 'input: '.$params['file_sum']."\n");
// fwrite($fh_log, 'input: '.$params['thumbnail_sum']."\n");

// does the image already exists ?
$query = '
SELECT
COUNT(*) AS counter
FROM '.IMAGES_TABLE.'
WHERE md5sum = \''.$params['file_sum'].'\'
;';
list($counter) = mysql_fetch_row(pwg_query($query));
if ($counter != 0) {
return new PwgError(500, 'file already exists');
}

// current date
list($dbnow) = mysql_fetch_row(pwg_query('SELECT NOW();'));
list($year, $month, $day) = preg_split('/[^\d]/', $dbnow, 4);
Expand Down Expand Up @@ -986,6 +998,7 @@ function ws_images_add($params, &$service)
'filesize' => floor(filesize($file_path)/1024),
'width' => $width,
'height' => $height,
'md5sum' => $params['file_sum'],
);

$info_columns = array(
Expand Down
46 changes: 46 additions & 0 deletions install/db/78-database.php
@@ -0,0 +1,46 @@
<?php
// +-----------------------------------------------------------------------+
// | Piwigo - a PHP based picture gallery |
// +-----------------------------------------------------------------------+
// | Copyright(C) 2008 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 images.md5sum column, for web API uploaded photos';

// +-----------------------------------------------------------------------+
// | Upgrade content |
// +-----------------------------------------------------------------------+

$query = 'ALTER TABLE '.IMAGES_TABLE.' add column `md5sum` char(32) default NULL';
pwg_query($query);

$upgrade_description = $query;

echo
"\n"
.'"'.$upgrade_description.'"'.' ended'
."\n"
;

?>
1 change: 1 addition & 0 deletions install/piwigo_structure.sql
Expand Up @@ -193,6 +193,7 @@ CREATE TABLE `piwigo_images` (
`storage_category_id` smallint(5) unsigned default NULL,
`high_filesize` mediumint(9) unsigned default NULL,
`level` tinyint unsigned NOT NULL default '0',
`md5sum` char(32) default NULL,
PRIMARY KEY (`id`),
KEY `images_i2` (`date_available`),
KEY `images_i3` (`average_rate`),
Expand Down

0 comments on commit d04fd1d

Please sign in to comment.