unset($item[0]['id']);
$item[0]['uid'] = 0;
$item[0]['origin'] = 0;
+ $item[0]['wall'] = 0;
$item[0]['contact-id'] = get_contact($item[0]['author-link'], 0);
+
+ if (in_array($item[0]['type'], array("net-comment", "wall-comment"))) {
+ $item[0]['type'] = 'remote-comment';
+ } elseif ($item[0]['type'] == 'wall') {
+ $item[0]['type'] = 'remote';
+ }
+
$public_shadow = item_store($item[0], false, false, true);
logger("Stored public shadow for thread ".$itemid." under id ".$public_shadow, LOGGER_DEBUG);
}
}
-function add_shadow_entry($item) {
+function add_shadow_entry($itemid) {
+
+ $items = q("SELECT * FROM `item` WHERE `id` = %d", intval($itemid));
+ $item = $items[0];
// Is this a shadow entry?
if ($item['uid'] == 0)
unset($item['id']);
$item['uid'] = 0;
+ $item['origin'] = 0;
+ $item['wall'] = 0;
$item['contact-id'] = get_contact($item['author-link'], 0);
+
+ if (in_array($item['type'], array("net-comment", "wall-comment"))) {
+ $item['type'] = 'remote-comment';
+ } elseif ($item['type'] == 'wall') {
+ $item['type'] = 'remote';
+ }
+
$public_shadow = item_store($item, false, false, true);
logger("Stored public shadow for comment ".$item['uri']." under id ".$public_shadow, LOGGER_DEBUG);
}
}
- create_tags_from_item($post_id);
- create_files_from_item($post_id);
-
if ($post_id == $parent) {
add_thread($post_id);
- q("COMMIT");
-
- add_shadow_thread($post_id);
} else {
update_thread($parent, true);
- q("COMMIT");
+ }
- // Insert an item entry for UID=0 for global entries
- // We have to remove or change some data before that,
- // so that the post appear like a regular received post.
- // Additionally there is some data that isn't a database field.
- $arr = $datarray;
-
- $arr['app'] = $arr['source'];
- unset($arr['source']);
-
- unset($arr['self']);
- unset($arr['wall']);
- unset($arr['origin']);
- unset($arr['api_source']);
- unset($arr['message_id']);
- unset($arr['profile_uid']);
- unset($arr['post_id']);
- unset($arr['dropitems']);
- unset($arr['commenter']);
- unset($arr['return']);
- unset($arr['preview']);
- unset($arr['post_id_random']);
- unset($arr['emailcc']);
- unset($arr['pubmail_enable']);
- unset($arr['category']);
- unset($arr['jsreload']);
-
- if (in_array($arr['type'], array("net-comment", "wall-comment"))) {
- $arr['type'] = 'remote-comment';
- } elseif ($arr['type'] == 'wall') {
- $arr['type'] = 'remote';
- }
- add_shadow_entry($arr);
+ q("COMMIT");
+
+ create_tags_from_item($post_id);
+ create_files_from_item($post_id);
+
+ // Insert an item entry for UID=0 for global entries
+ if ($post_id != $parent) {
+ add_shadow_thread($post_id);
+ } else {
+ add_shadow_entry($post_id);
}
// This is a real juggling act on shared hosting services which kill your processes