Fix pixture posts to connectors / fix delivery counter for connector posts

This commit is contained in:
Michael 2019-06-11 19:35:03 +00:00
parent f4d20c577b
commit 16b9d9f199
2 changed files with 13 additions and 5 deletions

View File

@ -252,7 +252,9 @@ class BBCode extends BaseObject
if (preg_match_all("(\[url=([$URLSearchString]*)\]\s*\[img\]([$URLSearchString]*)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) { if (preg_match_all("(\[url=([$URLSearchString]*)\]\s*\[img\]([$URLSearchString]*)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) {
if ((count($pictures) == 1) && !$has_title) { if ((count($pictures) == 1) && !$has_title) {
if (!empty($item['object-type']) && ($item['object-type'] == ACTIVITY_OBJ_IMAGE)) { if (!empty($item['object-type']) && ($item['object-type'] == ACTIVITY_OBJ_IMAGE)) {
$data = ['url' => $pictures[0][1], 'type' => 'photo']; // Replace the preview picture with the real picture
$url = str_replace('-1.', '-0.', $pictures[0][2]);
$data = ['url' => $url, 'type' => 'photo'];
} else { } else {
// Checking, if the link goes to a picture // Checking, if the link goes to a picture
$data = ParseUrl::getSiteinfoCached($pictures[0][1], true); $data = ParseUrl::getSiteinfoCached($pictures[0][1], true);

View File

@ -529,13 +529,19 @@ class Notifier
if (!empty($target_item)) { if (!empty($target_item)) {
Logger::log('Calling hooks for ' . $cmd . ' ' . $target_id, Logger::DEBUG); Logger::log('Calling hooks for ' . $cmd . ' ' . $target_id, Logger::DEBUG);
if (in_array($cmd, [Delivery::POST, Delivery::POKE])) {
ItemDeliveryData::update($target_item['id'], ['queue_count' => $delivery_queue_count]);
}
Hook::fork($a->queue['priority'], 'notifier_normal', $target_item); Hook::fork($a->queue['priority'], 'notifier_normal', $target_item);
Hook::callAll('notifier_end', $target_item); Hook::callAll('notifier_end', $target_item);
// Workaround for pure connector posts
if ($delivery_queue_count == 0) {
ItemDeliveryData::incrementQueueDone($target_item['id']);
$delivery_queue_count = 1;
}
if (in_array($cmd, [Delivery::POST, Delivery::POKE])) {
ItemDeliveryData::update($target_item['id'], ['queue_count' => $delivery_queue_count]);
}
} }
return; return;