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)
|
||||
|
||||
#### Unsupported parameters
|
||||
|
@ -1205,7 +1222,6 @@ The following API calls from the Twitter API are not implemented in either Frien
|
|||
* friendships/lookup
|
||||
* account/settings
|
||||
* account/update_delivery_device
|
||||
* account/update_profile
|
||||
* blocks/ids
|
||||
* users/show
|
||||
* 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/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
|
||||
|
|
Loading…
Reference in a new issue