Merge branch 'fix-twitterbridge' into 'nightly'

Fix TwitterBridge imported notices not displaying in timeline

See merge request !130
This commit is contained in:
mmn 2017-04-06 10:20:41 +00:00
commit 24910f2363
2 changed files with 36 additions and 8 deletions

View File

@ -570,4 +570,28 @@ class TwitterBridgePlugin extends Plugin
return true;
}
/**
* Set the object_type field of previously imported Twitter notices to
* ActivityObject::NOTE if they are unset. Null object_type caused a notice
* not to show on the timeline.
*/
public function onEndUpgrade()
{
printfnq("Ensuring all Twitter notices have an object_type...");
$notice = new Notice();
$notice->whereAdd("source='twitter'");
$notice->whereAdd('object_type IS NULL');
if ($notice->find()) {
while ($notice->fetch()) {
$orig = Notice::getKV('id', $notice->id);
$notice->object_type = ActivityObject::NOTE;
$notice->update($orig);
}
}
printfnq("DONE.\n");
}
}

View File

@ -137,7 +137,10 @@ class TwitterImport
'twitter',
array('repeat_of' => $original->id,
'uri' => $statusUri,
'is_local' => Notice::GATEWAY));
'is_local' => Notice::GATEWAY,
'object_type' => ActivityObject::NOTE,
'verb' => ActivityVerb::POST
));
common_log(LOG_INFO, "Saved {$repeat->id} as a repeat of {$original->id}");
Notice_to_status::saveNew($repeat->id, $statusId);
return $repeat;
@ -146,18 +149,19 @@ class TwitterImport
$notice = new Notice();
$notice->profile_id = $profile->id;
$notice->uri = $statusUri;
$notice->url = $statusUri;
$notice->verb = ActivityVerb::POST;
$notice->created = strftime(
$notice->profile_id = $profile->id;
$notice->uri = $statusUri;
$notice->url = $statusUri;
$notice->verb = ActivityVerb::POST;
$notice->object_type = ActivityObject::NOTE;
$notice->created = strftime(
'%Y-%m-%d %H:%M:%S',
strtotime($status->created_at)
);
$notice->source = 'twitter';
$notice->source = 'twitter';
$notice->reply_to = null;
$notice->reply_to = null;
$replyTo = twitter_id($status, 'in_reply_to_status_id');
if (!empty($replyTo)) {