Merge pull request #4101 from Rudloff/feature/block_api
Implement the blocks/list API
This commit is contained in:
commit
86922c4821
2 changed files with 43 additions and 2 deletions
14
doc/api.md
14
doc/api.md
|
@ -278,6 +278,19 @@ Friendica doesn't allow showing the friends of other users.
|
||||||
|
|
||||||
* include_entities: "true" shows entities for pictures and links (Default: false)
|
* include_entities: "true" shows entities for pictures and links (Default: false)
|
||||||
|
|
||||||
|
---
|
||||||
|
### blocks/list (*; AUTH)
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* include_entities: "true" shows entities for pictures and links (Default: false)
|
||||||
|
* count: Items per page (default: 20).
|
||||||
|
* page: page number
|
||||||
|
|
||||||
|
#### Unsupported parameters
|
||||||
|
* cursor
|
||||||
|
* skip_status
|
||||||
|
|
||||||
---
|
---
|
||||||
### statuses/friends_timeline (*; AUTH)
|
### statuses/friends_timeline (*; AUTH)
|
||||||
#### Parameters
|
#### Parameters
|
||||||
|
@ -941,7 +954,6 @@ The following API calls from the Twitter API are not implemented in either Frien
|
||||||
* account/update_delivery_device
|
* account/update_delivery_device
|
||||||
* account/update_profile
|
* account/update_profile
|
||||||
* account/update_profile_background_image
|
* account/update_profile_background_image
|
||||||
* blocks/list
|
|
||||||
* blocks/ids
|
* blocks/ids
|
||||||
* users/lookup
|
* users/lookup
|
||||||
* users/show
|
* users/show
|
||||||
|
|
|
@ -3055,12 +3055,19 @@ function api_statuses_f($qtype)
|
||||||
$sql_extra = " AND false ";
|
$sql_extra = " AND false ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($qtype == 'blocks') {
|
||||||
|
$sql_blocked = 'AND `blocked`';
|
||||||
|
} else {
|
||||||
|
$sql_blocked = 'AND NOT `blocked`';
|
||||||
|
}
|
||||||
|
|
||||||
$r = q(
|
$r = q(
|
||||||
"SELECT `nurl`
|
"SELECT `nurl`
|
||||||
FROM `contact`
|
FROM `contact`
|
||||||
WHERE `uid` = %d
|
WHERE `uid` = %d
|
||||||
AND NOT `self`
|
AND NOT `self`
|
||||||
AND (NOT `blocked` OR `pending`)
|
$sql_blocked
|
||||||
|
AND NOT `pending`
|
||||||
$sql_extra
|
$sql_extra
|
||||||
ORDER BY `nick`
|
ORDER BY `nick`
|
||||||
LIMIT %d, %d",
|
LIMIT %d, %d",
|
||||||
|
@ -3123,6 +3130,28 @@ function api_statuses_followers($type)
|
||||||
api_register_func('api/statuses/friends', 'api_statuses_friends', true);
|
api_register_func('api/statuses/friends', 'api_statuses_friends', true);
|
||||||
api_register_func('api/statuses/followers', 'api_statuses_followers', true);
|
api_register_func('api/statuses/followers', 'api_statuses_followers', true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the list of blocked users
|
||||||
|
*
|
||||||
|
* @see https://developer.twitter.com/en/docs/accounts-and-users/mute-block-report-users/api-reference/get-blocks-list
|
||||||
|
*
|
||||||
|
* @param string $type Either "json" or "xml"
|
||||||
|
*
|
||||||
|
* @return boolean|string|array
|
||||||
|
* @throws UnauthorizedException
|
||||||
|
*/
|
||||||
|
function api_blocks_list($type)
|
||||||
|
{
|
||||||
|
$data = api_statuses_f('blocks');
|
||||||
|
if ($data === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return api_format_data("users", $type, $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @TODO move to top of file or somewhere better
|
||||||
|
api_register_func('api/blocks/list', 'api_blocks_list', true);
|
||||||
|
|
||||||
function api_statusnet_config($type)
|
function api_statusnet_config($type)
|
||||||
{
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
Loading…
Reference in a new issue