$post_id = item_store($datarray);
- $datarray["id"] = $post_id;
+ if (!$post_id) {
+ logger("Item wasn't stored.");
+ goaway($return_path);
+ }
+
+ $datarray = dba::selectFirst('item', [], ['id' => $post_id]);
+
+ if (!DBM::is_result($datarray)) {
+ logger("Item with id ".$post_id." couldn't be fetched.");
+ goaway($return_path);
+ }
// update filetags in pconfig
file_tag_update_pconfig($uid, $categories_old, $categories_new, 'category');
continue;
}
- // You can always comment on Diaspora items
- if (($item['network'] == NETWORK_DIASPORA) && (local_user() == $item['uid'])) {
+ // You can always comment on Diaspora and OStatus items
+ // The empty network can happen with your local (self) contact
+ if (in_array($item['network'], ['', NETWORK_OSTATUS, NETWORK_DIASPORA]) && (local_user() == $item['uid'])) {
$item['writable'] = true;
}
'delete' => t('Delete'),
];
- $filer = (($conv->getProfileOwner() == local_user()) ? t("save to folder") : false);
+ $filer = (($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) ? t("save to folder") : false);
$diff_author = !link_compare($item['url'], $item['author-link']);
$profile_name = htmlentities(((strlen($item['author-name'])) && $diff_author) ? $item['author-name'] : $item['name']);
$tagger = '';
if ($this->isToplevel()) {
- if ($conv->getProfileOwner() == local_user()) {
+ if ($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) {
$isstarred = (($item['starred']) ? "starred" : "unstarred");
$star = [
'classundo' => $item['starred'] ? "" : "hidden",
'starred' => t('starred'),
];
+
$thread = dba::selectFirst('thread', ['ignored'], ['uid' => $item['uid'], 'iid' => $item['id']]);
if (DBM::is_result($thread)) {
$ignore = [
$owner_name_e = $this->getOwnerName();
// Disable features that aren't available in several networks
- /// @todo Add NETWORK_DIASPORA when it will pass this information
- if (!in_array($item["item_network"], [NETWORK_DFRN]) && isset($buttons["dislike"])) {
+ if (!in_array($item["item_network"], [NETWORK_DFRN, NETWORK_DIASPORA]) && isset($buttons["dislike"])) {
unset($buttons["dislike"]);
$isevent = false;
$tagger = '';