From fab6a3ad4f0ff3644a1dfef0b141c15fb7054e18 Mon Sep 17 00:00:00 2001 From: plegall Date: Fri, 10 Feb 2012 15:31:42 +0000 Subject: feature 2566 added: pwg.images.add can perform an update on an existing photo. The additional parameter is image_id and it can be used only combined with option resize=1. git-svn-id: http://piwigo.org/svn/branches/2.3@13083 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/ws_functions.inc.php | 24 +++++++++++++++++++++++- ws.php | 1 + 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/include/ws_functions.inc.php b/include/ws_functions.inc.php index aafa911c1..853c71c2c 100644 --- a/include/ws_functions.inc.php +++ b/include/ws_functions.inc.php @@ -1660,6 +1660,25 @@ SELECT if ($params['resize']) { ws_logfile('[pwg.images.add] resize activated'); + + // updating a photo is possible only combined with the resize option + $params['image_id'] = (int)$params['image_id']; + if ($params['image_id'] > 0) + { + include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); + + $query=' +SELECT * + FROM '.IMAGES_TABLE.' + WHERE id = '.$params['image_id'].' +;'; + + $image_row = pwg_db_fetch_assoc(pwg_query($query)); + if ($image_row == null) + { + return new PwgError(404, "image_id not found"); + } + } // temporary file path $type = 'file'; @@ -1672,7 +1691,10 @@ SELECT $image_id = add_uploaded_file( $file_path, - $params['original_filename'] + $params['original_filename'], + null, + null, + $params['image_id'] > 0 ? $params['image_id'] : null ); // add_uploaded_file doesn't remove the original file in the buffer diff --git a/ws.php b/ws.php index 4319bada9..e66c17ee0 100644 --- a/ws.php +++ b/ws.php @@ -242,6 +242,7 @@ function ws_addDefaultMethods( $arr ) ), 'resize' => array('default' => false), 'check_uniqueness' => array('default' => true), + 'image_id' => array('default' => null), ), 'POST method only.
categories is a string list "category_id[,rank];category_id[,rank]" The rank is optional and is equivalent to "auto" if not given.' -- cgit v1.2.3