+
+ // If we don't know the reply, we might know the conversation!
+ // This will happen if a known remote user replies to an
+ // unknown remote user - within a known conversation.
+ if (empty($notice->conversation) and !empty($options['conversation'])) {
+ $conv = Conversation::getKV('uri', $options['conversation']);
+ if ($conv instanceof Conversation) {
+ common_debug('Conversation stitched together from (probably) reply to unknown remote user. Activity creation time ('.$notice->created.') should maybe be compared to conversation creation time ('.$conv->created.').');
+ $notice->conversation = $conv->id;
+ } else {
+ // Conversation URI was not found, so we must create it. But we can't create it
+ // until we have a Notice ID because of the database layout...
+ $notice->tmp_conv_uri = $options['conversation'];
+ }
+ } else {
+ // If we're not using the attached conversation URI let's remove it
+ // so we don't mistake ourselves later, when creating our own Conversation.
+ // This implies that the notice knows which conversation it belongs to.
+ $options['conversation'] = null;
+ }