if(count($self) && $contact['rel'] == CONTACT_IS_FOLLOWER) {
$arr = array();
- $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $importer['uid']);
+ $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $importer['uid']);
$arr['uid'] = $importer['uid'];
$arr['contact-id'] = $self[0]['id'];
$arr['wall'] = 1;
return;
}
- // allocate a guid on our system - we aren't fixing any collisions.
- // we're ignoring them
-
- $g = q("select * from guid where guid = '%s' limit 1",
- dbesc($guid)
- );
- if(! count($g)) {
- q("insert into guid ( guid ) values ( '%s' )",
- dbesc($guid)
- );
- }
-
$created = unxmlify($xml->created_at);
$private = ((unxmlify($xml->public) == 'false') ? 1 : 0);
} else {
// Maybe it is a reshare of a photo that will be delivered at a later time (testing)
logger('no content found: '.print_r($source_xml,true));
- $body = "";
+ return false;
}
- if ($body == "")
+ if (trim($body) == "")
return false;
$item["tag"] = '';
$person = find_diaspora_person_by_handle($orig_author);
- // allocate a guid on our system - we aren't fixing any collisions.
- // we're ignoring them
-
- $g = q("select * from guid where guid = '%s' limit 1",
- dbesc($guid)
- );
- if(! count($g)) {
- q("insert into guid ( guid ) values ( '%s' )",
- dbesc($guid)
- );
- }
-
$created = unxmlify($xml->created_at);
$private = ((unxmlify($xml->public) == 'false') ? 1 : 0);
return;
}
- // allocate a guid on our system - we aren't fixing any collisions.
- // we're ignoring them
-
- $g = q("select * from guid where guid = '%s' limit 1",
- dbesc($guid)
- );
- if(! count($g)) {
- q("insert into guid ( guid ) values ( '%s' )",
- dbesc($guid)
- );
- }
-
$created = unxmlify($xml->created_at);
$private = ((unxmlify($xml->public) == 'false') ? 1 : 0);
dbesc($person['name']),
dbesc($person['photo']),
dbesc($person['url']),
- intval($contact['id']),
+ intval($contact['id']),
dbesc($subject),
dbesc($body),
0,
'language' => $importer['language'],
'to_name' => $importer['username'],
'to_email' => $importer['email'],
- 'uid' =>$importer['importer_uid'],
+ 'uid' =>$importer['uid'],
'item' => array('subject' => $subject, 'body' => $body),
'source_name' => $person['name'],
'source_link' => $person['url'],
intval($importer['uid']),
dbesc($status_message_guid)
);
- if(! count($r)) {
+ if(!count($r)) {
if($attempt <= 3) {
q("INSERT INTO dsprphotoq (uid, msg, attempt) VALUES (%d, '%s', %d)",
intval($importer['uid']),
intval($attempt + 1)
);
}
+
+ $r = q("SELECT `id` FROM `item` WHERE `uid` = 0 AND `guid` = '%s' LIMIT 1", dbesc($status_message_guid));
+ if(!count($r)) {
+ // Fetching the missing item as a public shadow
+ // To-Do: Doing it for every post that is missing
+ $item = array();
+ $item["author-link"] = $contact['url'];
+ $item["owner-link"] = $contact['url'];
+
+ DiasporaFetchGuidSub($status_message_guid, $item);
+
+ logger("Storing missing item ".$status_message_guid." as public shadow", LOGGER_DEBUG);
+ }
+
logger('diaspora_photo: attempt = ' . $attempt . '; status message not found: ' . $status_message_guid . ' for photo: ' . $guid);
return;
}
}
function update_thread($itemid, $setmention = false) {
- $items = q("SELECT `uid`, `uri`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`,
+ $items = q("SELECT `uid`, `guid`, `title`, `body`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`,
`deleted`, `origin`, `forum_mode`, `network` FROM `item` WHERE `id` = %d AND (`parent` = %d OR `parent` = 0) LIMIT 1", intval($itemid), intval($itemid));
if (!$items)
$sql = "";
foreach ($item AS $field => $data)
- if ($field != "uri") {
+ if (!in_array($field, array("guid", "title", "body"))) {
if ($sql != "")
$sql .= ", ";
$result = q("UPDATE `thread` SET ".$sql." WHERE `iid` = %d", intval($itemid));
- logger("update_thread: Update thread for item ".$itemid." - ".print_r($result, true)." ".print_r($item, true), LOGGER_DEBUG);
+ logger("Update thread for item ".$itemid." - guid ".$item["guid"]." - ".print_r($result, true)." ".print_r($item, true), LOGGER_DEBUG);
// Updating a shadow item entry
- $items = q("SELECT `id`, `title`, `body`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`,
- `moderated`, `visible`, `spam`, `starred`, `bookmark`, `deleted`, `origin`, `forum_mode`, `network`
- FROM `item` WHERE `uri` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item["uri"]));
+ $items = q("SELECT `id` FROM `item` WHERE `guid` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item["guid"]));
if (!$items)
return;
- $item = $items[0];
-
- $result = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `network` = '%s' WHERE `id` = %d",
+ $result = q("UPDATE `item` SET `title` = '%s', `body` = '%s' WHERE `id` = %d",
dbesc($item["title"]),
dbesc($item["body"]),
- dbesc($item["network"]),
- intval($item["id"])
+ intval($items[0]["id"])
);
- logger("update_thread: Updating public shadow for post ".$item["id"]." Result: ".print_r($result, true), LOGGER_DEBUG);
-
- /*
- $sql = "";
-
- foreach ($item AS $field => $data)
- if ($field != "id") {
- if ($sql != "")
- $sql .= ", ";
-
- $sql .= "`".$field."` = '".dbesc($data)."'";
- }
- //logger("update_thread: Updating public shadow for post ".$item["id"]." SQL: ".$sql, LOGGER_DEBUG);
- $result = q("UPDATE `item` SET ".$sql." WHERE `id` = %d", intval($item["id"]));
- logger("update_thread: Updating public shadow for post ".$item["id"]." Result: ".print_r($result, true), LOGGER_DEBUG);
- */
+ logger("Updating public shadow for post ".$items[0]["id"]." - guid ".$item["guid"]." Result: ".print_r($result, true), LOGGER_DEBUG);
}
function delete_thread_uri($itemuri, $uid) {