aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/ws_functions.inc.php27
-rw-r--r--ws.php4
2 files changed, 31 insertions, 0 deletions
diff --git a/include/ws_functions.inc.php b/include/ws_functions.inc.php
index 0ecd8b930..f628cf520 100644
--- a/include/ws_functions.inc.php
+++ b/include/ws_functions.inc.php
@@ -2302,6 +2302,33 @@ function ws_categories_add($params, &$service)
{
return new PwgError(500, $creation_output['error']);
}
+
+ $updates = array();
+ if ( !empty($params['status']) and in_array($params['status'], array('private','public')) )
+ {
+ $updates['status'] = $params['status'];
+ }
+ if ( !empty($params['visible']) and in_array($params['visible'], array('true','false')) )
+ {
+ $updates['visible'] = $params['visible'];
+ }
+ if ( !empty($params['commentable']) and in_array($params['commentable'], array('true','false')) )
+ {
+ $updates['commentable'] = $params['commentable'];
+ }
+ if ( !empty($params['comment']) )
+ {
+ $updates['comment'] = strip_tags($params['comment']);
+ }
+
+ if (!empty($updates))
+ {
+ single_update(
+ CATEGORIES_TABLE,
+ $updates,
+ array('id'=>$creation_output['id'])
+ );
+ }
invalidate_user_cache();
diff --git a/ws.php b/ws.php
index 998ee1d6c..c0081cf77 100644
--- a/ws.php
+++ b/ws.php
@@ -308,6 +308,10 @@ function ws_addDefaultMethods( $arr )
array(
'name' => array(),
'parent' => array('default' => null),
+ 'comment' => array('default' => null),
+ 'visible' => array('default' => boolean_to_string($conf['newcat_default_visible'])),
+ 'status' => array('default' => $conf['newcat_default_status']),
+ 'commentable' => array('default' => 'true'),
),
'administration method only'
);