}
$item = $items[0];
+ $uid = $item['uid'];
- if (!can_write_wall($a, $item['uid']) && ($item['uid'] != 0)) {
- logger('like: unable to write on wall ' . $item['uid']);
+ if (!can_write_wall($a, $uid) && (($uid != 0) || !local_user())) {
+ logger('like: unable to write on wall ' . $uid);
return false;
}
// Retrieves the local post owner
- if ($item['uid'] != 0) {
+ if ($uid != 0) {
$owners = q("SELECT `contact`.* FROM `contact`
WHERE `contact`.`self`
AND `contact`.`uid` = %d",
- intval($item['uid'])
+ intval($uid)
);
if (DBM::is_result($owners)) {
$owner_self_contact = $owners[0];
} else {
- logger('like: unknown owner ' . $item['uid']);
+ logger('like: unknown owner ' . $uid);
return false;
}
} else {
+ $uid = local_user();
$owner_self_contact = ['uid' => 0, 'nick' => 'feed-item'];
}
}
// Contact-id is the uid-dependant author contact
- if (local_user() == $item['uid']) {
+ if (local_user() == $uid) {
$item_contact_id = $owner_self_contact['id'];
$item_contact = $owner_self_contact;
} else {
- $item_contact_id = Contact::getIdForURL($author_contact['url'], $item['uid']);
+ $item_contact_id = Contact::getIdForURL($author_contact['url'], $uid);
$contacts = q("SELECT * FROM `contact` WHERE `id` = %d",
intval($item_contact_id)
AND (`parent` = '%s' OR `parent-uri` = '%s' OR `thr-parent` = '%s')
LIMIT 1",
intval($author_contact['id']),
- intval($item['uid']),
+ intval($uid),
dbesc($item_id), dbesc($item_id), dbesc($item['uri'])
);
$new_item = array(
'guid' => get_guid(32),
- 'uri' => item_new_uri($a->get_hostname(), $item['uid']),
- 'uid' => $item['uid'],
+ 'uri' => item_new_uri($a->get_hostname(), $uid),
+ 'uid' => $uid,
'contact-id' => $item_contact_id,
'type' => 'activity',
'wall' => $item['wall'],
// @todo: Explain this block
if (! $item['visible']) {
- q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d",
- intval($item['id']),
- intval($item['uid'])
+ q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d",
+ intval($item['id'])
);
}