aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2009-06-24 23:01:35 +0000
committerplegall <plg@piwigo.org>2009-06-24 23:01:35 +0000
commit9b16d67c225eac910104f3a9e197c28f3fd08785 (patch)
treea1d5d6937fedeaf647015824eec4bf0db510084d /include
parented7f7a574eeb9b921d4b85c6e8607faac4971a47 (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.php53
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;