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");
+ }
}
'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;
$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)) {