diff options
author | plegall <plg@piwigo.org> | 2009-06-24 23:01:35 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2009-06-24 23:01:35 +0000 |
commit | 9b16d67c225eac910104f3a9e197c28f3fd08785 (patch) | |
tree | a1d5d6937fedeaf647015824eec4bf0db510084d /include | |
parent | ed7f7a574eeb9b921d4b85c6e8607faac4971a47 (diff) |
merge r3453 from branch 2.0 to trunk
feature 1033 added: new API method pwg.categories.setInfo makes possible to
change the name and comment of a given category.
git-svn-id: http://piwigo.org/svn/trunk@3454 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'include')
-rw-r--r-- | include/ws_functions.inc.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/include/ws_functions.inc.php b/include/ws_functions.inc.php index 422cfd176..979e855ef 100644 --- a/include/ws_functions.inc.php +++ b/include/ws_functions.inc.php @@ -1733,6 +1733,59 @@ SELECT } } +function ws_categories_setInfo($params, &$service) +{ + global $conf; + if (!is_admin() || is_adviser() ) + { + return new PwgError(401, 'Access denied'); + } + + // category_id + // name + // comment + + $params['category_id'] = (int)$params['category_id']; + if ($params['category_id'] <= 0) + { + return new PwgError(WS_ERR_INVALID_PARAM, "Invalid category_id"); + } + + // database registration + $update = array( + 'id' => $params['category_id'], + ); + + $info_columns = array( + 'name', + 'comment', + ); + + $perform_update = false; + foreach ($info_columns as $key) + { + if (isset($params[$key])) + { + $perform_update = true; + $update[$key] = $params[$key]; + } + } + + if ($perform_update) + { + include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); + mass_updates( + CATEGORIES_TABLE, + array( + 'primary' => array('id'), + 'update' => array_diff(array_keys($update), array('id')) + ), + array($update) + ); + } + +} + function ws_logfile($string) { return true; |