new: WebService method pwg.tags.getAdminList was added. The difference with

pwg.tags.getList is that this new method doesn't take permissions into
account, and so is available only for administrator connected users.


git-svn-id: http://piwigo.org/svn/trunk@2584 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall
2008-09-24 21:30:33 +00:00
parent 6df515a54f
commit 5adad7565c
3 changed files with 54 additions and 0 deletions
+27
View File
@@ -1192,6 +1192,33 @@ function ws_tags_getList($params, &$service)
return array('tags' => new PwgNamedArray($tags, 'tag', array('id','url_name','url', 'counter' )) );
}
/**
* returns the list of tags as you can see them in administration (web
* service method).
*
* Only admin can run this method and permissions are not taken into
* account.
*/
function ws_tags_getAdminList($params, &$service)
{
if (!is_admin())
{
return new PwgError(401, 'Access denied');
}
$tags = get_all_tags();
return array(
'tags' => new PwgNamedArray(
$tags,
'tag',
array(
'name',
'id',
'url_name',
)
)
);
}
/**
* returns a list of images for tags (web service method)
+20
View File
@@ -116,6 +116,26 @@ if ($opt{action} eq 'pwg.tags.list') {
print $t;
}
if ($opt{action} eq 'pwg.tags.getAdminList') {
$query = pwg_ws_get_query(
method => 'pwg.tags.getAdminList'
);
$result = $ua->get($query);
my $tags = from_json($result->content)->{result}{tags};
foreach my $tag (@{$tags}) {
# print join(',', keys %{$tag}), "\n"; exit();
printf(
'{%u} %s ',
$tag->{id},
$tag->{name}
);
}
print "\n";
}
if ($opt{action} eq 'pwg.categories.add') {
$form = {
method => 'pwg.categories.add',
+7
View File
@@ -211,6 +211,13 @@ function ws_addDefaultMethods( $arr )
),
'administration method only'
);
$service->addMethod(
'pwg.tags.getAdminList',
'ws_tags_getAdminList',
array(),
'administration method only'
);
}
add_event_handler('ws_add_methods', 'ws_addDefaultMethods');