aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/ws_functions.inc.php24
-rw-r--r--ws.php1
2 files changed, 24 insertions, 1 deletions
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.
<br><b>categories</b> is a string list "category_id[,rank];category_id[,rank]" The rank is optional and is equivalent to "auto" if not given.'