Merge pull request #4130 from Rudloff/feature/update_profile_api
Basic support for account/update_profile API (fixes #4094)
This commit is contained in:
commit
06f32aaaa6
2 changed files with 55 additions and 1 deletions
18
doc/api.md
18
doc/api.md
|
@ -692,6 +692,23 @@ On error:
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### account/update_profile (POST; AUTH)
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
* name (optional): full name of the user
|
||||||
|
* description (optional): a description of the user
|
||||||
|
|
||||||
|
#### Unsupported parameters
|
||||||
|
|
||||||
|
* url
|
||||||
|
* location
|
||||||
|
* profile_link_color
|
||||||
|
* include_entities
|
||||||
|
* skip_status
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### friendships/incoming (*; AUTH)
|
### friendships/incoming (*; AUTH)
|
||||||
|
|
||||||
#### Unsupported parameters
|
#### Unsupported parameters
|
||||||
|
@ -1205,7 +1222,6 @@ The following API calls from the Twitter API are not implemented in either Frien
|
||||||
* friendships/lookup
|
* friendships/lookup
|
||||||
* account/settings
|
* account/settings
|
||||||
* account/update_delivery_device
|
* account/update_delivery_device
|
||||||
* account/update_profile
|
|
||||||
* blocks/ids
|
* blocks/ids
|
||||||
* users/show
|
* users/show
|
||||||
* users/search
|
* users/search
|
||||||
|
|
|
@ -4472,6 +4472,44 @@ api_register_func('api/friendica/photo/delete', 'api_fr_photo_delete', true, API
|
||||||
api_register_func('api/friendica/photo', 'api_fr_photo_detail', true);
|
api_register_func('api/friendica/photo', 'api_fr_photo_detail', true);
|
||||||
api_register_func('api/account/update_profile_image', 'api_account_update_profile_image', true, API_METHOD_POST);
|
api_register_func('api/account/update_profile_image', 'api_account_update_profile_image', true, API_METHOD_POST);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update user profile
|
||||||
|
*
|
||||||
|
* @param string $type Known types are 'atom', 'rss', 'xml' and 'json'
|
||||||
|
*
|
||||||
|
* @return array|string
|
||||||
|
*/
|
||||||
|
function api_account_update_profile($type)
|
||||||
|
{
|
||||||
|
$local_user = api_user();
|
||||||
|
$api_user = api_get_user(get_app());
|
||||||
|
|
||||||
|
if (!empty($_POST['name'])) {
|
||||||
|
dba::update('profile', ['name' => $_POST['name']], ['uid' => $local_user]);
|
||||||
|
dba::update('user', ['username' => $_POST['name']], ['uid' => $local_user]);
|
||||||
|
dba::update('contact', ['name' => $_POST['name']], ['uid' => $local_user, 'self' => 1]);
|
||||||
|
dba::update('contact', ['name' => $_POST['name']], ['id' => $api_user['id']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['description'])) {
|
||||||
|
dba::update('profile', ['about' => $_POST['description']], ['uid' => $local_user]);
|
||||||
|
dba::update('contact', ['about' => $_POST['description']], ['uid' => $local_user, 'self' => 1]);
|
||||||
|
dba::update('contact', ['about' => $_POST['description']], ['id' => $api_user['id']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
Worker::add(PRIORITY_LOW, 'ProfileUpdate', api_user());
|
||||||
|
// Update global directory in background
|
||||||
|
$url = $_SESSION['my_url'];
|
||||||
|
if ($url && strlen(Config::get('system', 'directory'))) {
|
||||||
|
Worker::add(PRIORITY_LOW, "Directory", $url);
|
||||||
|
}
|
||||||
|
|
||||||
|
return api_account_verify_credentials($type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @TODO move to top of file or somewhere better
|
||||||
|
api_register_func('api/account/update_profile', 'api_account_update_profile', true, API_METHOD_POST);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param string $acl_string
|
* @param string $acl_string
|
||||||
|
|
Loading…
Reference in a new issue