mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-07-06 18:01:31 +02:00
feature 1316 added: we now have the ability to only fill the single value
properties that are currently empty in the database instead of automatically replacing. feature 1312: as a matter of consistency, I have changed the replace_mode (that was only for multiple values properties) into multiple_value_mode + single_value_mode. git-svn-id: http://piwigo.org/svn/branches/2.0@4459 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -1665,13 +1665,6 @@ function ws_images_setInfo($params, &$service)
|
||||
return new PwgError(401, 'Access denied');
|
||||
}
|
||||
|
||||
// name
|
||||
// category_id
|
||||
// file_content
|
||||
// file_sum
|
||||
// thumbnail_content
|
||||
// thumbnail_sum
|
||||
|
||||
$params['image_id'] = (int)$params['image_id'];
|
||||
if ($params['image_id'] <= 0)
|
||||
{
|
||||
@@ -1691,9 +1684,7 @@ SELECT *
|
||||
}
|
||||
|
||||
// database registration
|
||||
$update = array(
|
||||
'id' => $params['image_id'],
|
||||
);
|
||||
$update = array();
|
||||
|
||||
$info_columns = array(
|
||||
'name',
|
||||
@@ -1703,18 +1694,38 @@ SELECT *
|
||||
'date_creation',
|
||||
);
|
||||
|
||||
$perform_update = false;
|
||||
foreach ($info_columns as $key)
|
||||
{
|
||||
if (isset($params[$key]))
|
||||
{
|
||||
$perform_update = true;
|
||||
$update[$key] = $params[$key];
|
||||
if ('fill_if_empty' == $params['single_value_mode'])
|
||||
{
|
||||
if (empty($image_row[$key]))
|
||||
{
|
||||
$update[$key] = $params[$key];
|
||||
}
|
||||
}
|
||||
elseif ('replace' == $params['single_value_mode'])
|
||||
{
|
||||
$update[$key] = $params[$key];
|
||||
}
|
||||
else
|
||||
{
|
||||
new PwgError(
|
||||
500,
|
||||
'[ws_images_setInfo]'
|
||||
.' invalid parameter single_value_mode "'.$params['single_value_mode'].'"'
|
||||
.', possible values are {fill_if_empty, replace}.'
|
||||
);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($perform_update)
|
||||
if (count(array_keys($update)) > 0)
|
||||
{
|
||||
$update['id'] = $params['image_id'];
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
mass_updates(
|
||||
IMAGES_TABLE,
|
||||
@@ -1731,7 +1742,7 @@ SELECT *
|
||||
ws_add_image_category_relations(
|
||||
$params['image_id'],
|
||||
$params['categories'],
|
||||
$params['replace_mode']
|
||||
('replace' == $params['multiple_value_mode'] ? true : false)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1742,20 +1753,30 @@ SELECT *
|
||||
|
||||
$tag_ids = explode(',', $params['tag_ids']);
|
||||
|
||||
if ($params['replace_mode'])
|
||||
if ('replace' == $params['multiple_value_mode'])
|
||||
{
|
||||
set_tags(
|
||||
$tag_ids,
|
||||
$params['image_id']
|
||||
);
|
||||
}
|
||||
else
|
||||
elseif ('append' == $params['multiple_value_mode'])
|
||||
{
|
||||
add_tags(
|
||||
$tag_ids,
|
||||
array($params['image_id'])
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
new PwgError(
|
||||
500,
|
||||
'[ws_images_setInfo]'
|
||||
.' invalid parameter multiple_value_mode "'.$params['multiple_value_mode'].'"'
|
||||
.', possible values are {replace, append}.'
|
||||
);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
invalidate_user_cache();
|
||||
|
||||
Reference in New Issue
Block a user