Merge pull request 'Bluesky/Tumblr: Improved statistics' (#1530) from heluecht/friendica-addons:stats2 into 2024.06-rc
Reviewed-on: https://git.friendi.ca/friendica/friendica-addons/pulls/1530stable^2
commit
4ad7d61893
|
@ -294,9 +294,9 @@ function bluesky_block(array &$hook_data)
|
||||||
|
|
||||||
$activity = bluesky_xrpc_post($hook_data['uid'], 'com.atproto.repo.createRecord', $post);
|
$activity = bluesky_xrpc_post($hook_data['uid'], 'com.atproto.repo.createRecord', $post);
|
||||||
if (!empty($activity->uri)) {
|
if (!empty($activity->uri)) {
|
||||||
$cdata = Contact::getPublicAndUserContactID($hook_data['contact']['id'], $hook_data['uid']);
|
$ucid = Contact::getUserContactId($hook_data['contact']['id'], $hook_data['uid']);
|
||||||
if (!empty($cdata['user'])) {
|
if ($ucid) {
|
||||||
Contact::remove($cdata['user']);
|
Contact::remove($ucid);
|
||||||
}
|
}
|
||||||
Logger::debug('Successfully blocked contact', ['url' => $hook_data['contact']['url'], 'uri' => $activity->uri]);
|
Logger::debug('Successfully blocked contact', ['url' => $hook_data['contact']['url'], 'uri' => $activity->uri]);
|
||||||
}
|
}
|
||||||
|
@ -975,6 +975,7 @@ function bluesky_upload_blob(int $uid, array $photo): ?stdClass
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementOutbound(Protocol::BLUESKY);
|
||||||
Logger::debug('Uploaded blob', ['return' => $data, 'uid' => $uid, 'retrial' => $retrial, 'height' => $new_height, 'width' => $new_width, 'size' => $new_size, 'orig-height' => $height, 'orig-width' => $width, 'orig-size' => $size]);
|
Logger::debug('Uploaded blob', ['return' => $data, 'uid' => $uid, 'retrial' => $retrial, 'height' => $new_height, 'width' => $new_width, 'size' => $new_size, 'orig-height' => $height, 'orig-width' => $width, 'orig-size' => $size]);
|
||||||
return $data->blob;
|
return $data->blob;
|
||||||
}
|
}
|
||||||
|
@ -1048,8 +1049,8 @@ function bluesky_process_reason(stdClass $reason, string $uri, int $uid)
|
||||||
$item['owner-link'] = $item['author-link'];
|
$item['owner-link'] = $item['author-link'];
|
||||||
$item['owner-avatar'] = $item['author-avatar'];
|
$item['owner-avatar'] = $item['author-avatar'];
|
||||||
if (Item::insert($item)) {
|
if (Item::insert($item)) {
|
||||||
$cdata = Contact::getPublicAndUserContactID($contact['id'], $uid);
|
$pcid = Contact::getPublicContactId($contact['id'], $uid);
|
||||||
Item::update(['post-reason' => Item::PR_ANNOUNCEMENT, 'causer-id' => $cdata['public']], ['uri' => $uri, 'uid' => $uid]);
|
Item::update(['post-reason' => Item::PR_ANNOUNCEMENT, 'causer-id' => $pcid], ['uri' => $uri, 'uid' => $uid]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1537,8 +1538,7 @@ function bluesky_fetch_missing_post(string $uri, int $uid, int $fetch_uid, int $
|
||||||
Logger::debug('Reply count', ['level' => $level, 'uid' => $uid, 'uri' => $uri]);
|
Logger::debug('Reply count', ['level' => $level, 'uid' => $uid, 'uri' => $uri]);
|
||||||
|
|
||||||
if ($causer != 0) {
|
if ($causer != 0) {
|
||||||
$cdata = Contact::getPublicAndUserContactID($causer, $uid);
|
$causer = Contact::getPublicContactId($causer, $uid);
|
||||||
$causer = $cdata['public'] ?? 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return bluesky_process_thread($data->thread, $uid, $fetch_uid, $post_reason, $causer, $level, $last_poll);
|
return bluesky_process_thread($data->thread, $uid, $fetch_uid, $post_reason, $causer, $level, $last_poll);
|
||||||
|
@ -1936,7 +1936,11 @@ function bluesky_create_token(int $uid, string $password): string
|
||||||
|
|
||||||
function bluesky_xrpc_post(int $uid, string $url, $parameters): ?stdClass
|
function bluesky_xrpc_post(int $uid, string $url, $parameters): ?stdClass
|
||||||
{
|
{
|
||||||
return bluesky_post($uid, '/xrpc/' . $url, json_encode($parameters), ['Content-type' => 'application/json', 'Authorization' => ['Bearer ' . bluesky_get_token($uid)]]);
|
$data = bluesky_post($uid, '/xrpc/' . $url, json_encode($parameters), ['Content-type' => 'application/json', 'Authorization' => ['Bearer ' . bluesky_get_token($uid)]]);
|
||||||
|
if (!empty($data)) {
|
||||||
|
Item::incrementOutbound(Protocol::BLUESKY);
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
function bluesky_post(int $uid, string $url, string $params, array $headers): ?stdClass
|
function bluesky_post(int $uid, string $url, string $params, array $headers): ?stdClass
|
||||||
|
@ -1946,7 +1950,6 @@ function bluesky_post(int $uid, string $url, string $params, array $headers): ?s
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Item::incrementOutbound(Protocol::BLUESKY);
|
|
||||||
try {
|
try {
|
||||||
$curlResult = DI::httpClient()->post($pds . $url, $params, $headers);
|
$curlResult = DI::httpClient()->post($pds . $url, $params, $headers);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
@ -1983,7 +1986,6 @@ function bluesky_xrpc_get(int $uid, string $url, array $parameters = []): ?stdCl
|
||||||
|
|
||||||
function bluesky_get(string $url, string $accept_content = HttpClientAccept::DEFAULT, array $opts = []): ?stdClass
|
function bluesky_get(string $url, string $accept_content = HttpClientAccept::DEFAULT, array $opts = []): ?stdClass
|
||||||
{
|
{
|
||||||
Item::incrementInbound(Protocol::BLUESKY);
|
|
||||||
try {
|
try {
|
||||||
$curlResult = DI::httpClient()->get($url, $accept_content, $opts);
|
$curlResult = DI::httpClient()->get($url, $accept_content, $opts);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
@ -1996,5 +1998,6 @@ function bluesky_get(string $url, string $accept_content = HttpClientAccept::DEF
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::BLUESKY);
|
||||||
return json_decode($curlResult->getBodyString());
|
return json_decode($curlResult->getBodyString());
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,6 +133,7 @@ function tumblr_item_by_link(array &$hookData)
|
||||||
Logger::debug('Got post', ['blog' => $matches[1], 'id' => $matches[2], 'result' => $result->response->posts]);
|
Logger::debug('Got post', ['blog' => $matches[1], 'id' => $matches[2], 'result' => $result->response->posts]);
|
||||||
if (!empty($result->response->posts)) {
|
if (!empty($result->response->posts)) {
|
||||||
$hookData['item_id'] = tumblr_process_post($result->response->posts[0], $hookData['uid'], Item::PR_FETCHED);
|
$hookData['item_id'] = tumblr_process_post($result->response->posts[0], $hookData['uid'], Item::PR_FETCHED);
|
||||||
|
Item::incrementInbound(Protocol::TUMBLR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,9 +204,9 @@ function tumblr_block(array &$hook_data)
|
||||||
$hook_data['result'] = ($result->meta->status <= 399);
|
$hook_data['result'] = ($result->meta->status <= 399);
|
||||||
|
|
||||||
if ($hook_data['result']) {
|
if ($hook_data['result']) {
|
||||||
$cdata = Contact::getPublicAndUserContactID($hook_data['contact']['id'], $hook_data['uid']);
|
$ucid = Contact::getUserContactId($hook_data['contact']['id'], $hook_data['uid']);
|
||||||
if (!empty($cdata['user'])) {
|
if ($ucid) {
|
||||||
Contact::remove($cdata['user']);
|
Contact::remove($ucid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -238,9 +239,7 @@ function tumblr_get_contact_uuid(array $contact): string
|
||||||
* existence of this method is checked to figure out if the addon offers a
|
* existence of this method is checked to figure out if the addon offers a
|
||||||
* module.
|
* module.
|
||||||
*/
|
*/
|
||||||
function tumblr_module()
|
function tumblr_module() {}
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
function tumblr_content()
|
function tumblr_content()
|
||||||
{
|
{
|
||||||
|
@ -756,6 +755,7 @@ function tumblr_fetch_tags(int $uid, int $last_poll)
|
||||||
$post = Post::selectFirst(['uri-id'], ['id' => $id]);
|
$post = Post::selectFirst(['uri-id'], ['id' => $id]);
|
||||||
$stored = Post\Category::storeFileByURIId($post['uri-id'], $uid, Post\Category::SUBCRIPTION, $tag);
|
$stored = Post\Category::storeFileByURIId($post['uri-id'], $uid, Post\Category::SUBCRIPTION, $tag);
|
||||||
Logger::debug('Stored tag subscription for user', ['uri-id' => $post['uri-id'], 'uid' => $uid, 'tag' => $tag, 'stored' => $stored]);
|
Logger::debug('Stored tag subscription for user', ['uri-id' => $post['uri-id'], 'uid' => $uid, 'tag' => $tag, 'stored' => $stored]);
|
||||||
|
Item::incrementInbound(Protocol::TUMBLR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -795,6 +795,7 @@ function tumblr_fetch_dashboard(int $uid, int $last_poll)
|
||||||
Logger::debug('Importing post', ['uid' => $uid, 'created' => date(DateTimeFormat::MYSQL, $post->timestamp), 'id' => $post->id_string]);
|
Logger::debug('Importing post', ['uid' => $uid, 'created' => date(DateTimeFormat::MYSQL, $post->timestamp), 'id' => $post->id_string]);
|
||||||
|
|
||||||
tumblr_process_post($post, $uid, Item::PR_NONE, $last_poll);
|
tumblr_process_post($post, $uid, Item::PR_NONE, $last_poll);
|
||||||
|
Item::incrementInbound(Protocol::TUMBLR);
|
||||||
|
|
||||||
DI::pConfig()->set($uid, 'tumblr', 'last_id', $last);
|
DI::pConfig()->set($uid, 'tumblr', 'last_id', $last);
|
||||||
}
|
}
|
||||||
|
@ -1167,6 +1168,7 @@ function tumblr_get_contact_fields(stdClass $blog, int $uid, bool $update): arra
|
||||||
Logger::notice('Error fetching blog info', ['meta' => $info->meta, 'response' => $info->response, 'errors' => $info->errors]);
|
Logger::notice('Error fetching blog info', ['meta' => $info->meta, 'response' => $info->response, 'errors' => $info->errors]);
|
||||||
return $fields;
|
return $fields;
|
||||||
}
|
}
|
||||||
|
Item::incrementInbound(Protocol::TUMBLR);
|
||||||
|
|
||||||
$avatar = $info->response->blog->avatar;
|
$avatar = $info->response->blog->avatar;
|
||||||
if (!empty($avatar)) {
|
if (!empty($avatar)) {
|
||||||
|
@ -1231,6 +1233,8 @@ function tumblr_get_blogs(int $uid): array
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::TUMBLR);
|
||||||
|
|
||||||
$blogs = [];
|
$blogs = [];
|
||||||
foreach ($userinfo->response->user->blogs as $blog) {
|
foreach ($userinfo->response->user->blogs as $blog) {
|
||||||
$blogs[$blog->uuid] = $blog->name;
|
$blogs[$blog->uuid] = $blog->name;
|
||||||
|
@ -1287,10 +1291,11 @@ function tumblr_get_contact_by_url(string $url, int $uid): ?array
|
||||||
if ($info->meta->status > 399) {
|
if ($info->meta->status > 399) {
|
||||||
Logger::notice('Error fetching blog info', ['meta' => $info->meta, 'response' => $info->response, 'errors' => $info->errors, 'blog' => $blog, 'uid' => $uid]);
|
Logger::notice('Error fetching blog info', ['meta' => $info->meta, 'response' => $info->response, 'errors' => $info->errors, 'blog' => $blog, 'uid' => $uid]);
|
||||||
return null;
|
return null;
|
||||||
} else {
|
|
||||||
Logger::debug('Got data', ['blog' => $blog, 'meta' => $info->meta]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Logger::debug('Got data', ['blog' => $blog, 'meta' => $info->meta]);
|
||||||
|
Item::incrementInbound(Protocol::TUMBLR);
|
||||||
|
|
||||||
$baseurl = 'https://tumblr.com';
|
$baseurl = 'https://tumblr.com';
|
||||||
$url = $baseurl . '/' . $info->response->blog->name;
|
$url = $baseurl . '/' . $info->response->blog->name;
|
||||||
|
|
||||||
|
@ -1326,7 +1331,6 @@ function tumblr_get_contact_by_url(string $url, int $uid): ?array
|
||||||
*/
|
*/
|
||||||
function tumblr_get(int $uid, string $url, array $parameters = []): stdClass
|
function tumblr_get(int $uid, string $url, array $parameters = []): stdClass
|
||||||
{
|
{
|
||||||
Item::incrementInbound(Protocol::TUMBLR);
|
|
||||||
$url = 'https://api.tumblr.com/v2/' . $url;
|
$url = 'https://api.tumblr.com/v2/' . $url;
|
||||||
|
|
||||||
if ($uid == 0) {
|
if ($uid == 0) {
|
||||||
|
|
Loading…
Reference in New Issue