if ($thr_parent || $thr_parent_uri) {
if ($thr_parent) {
- $parent_item = dba::selectFirst('item', [], ['id' => $thr_parent]);
+ $parent_item = Item::selectFirst([], ['id' => $thr_parent]);
} elseif ($thr_parent_uri) {
- $parent_item = dba::selectFirst('item', [], ['uri' => $thr_parent_uri, 'uid' => $profile_uid]);
+ $parent_item = Item::selectFirst([], ['uri' => $thr_parent_uri, 'uid' => $profile_uid]);
}
// if this isn't the real parent of the conversation, find it
$thr_parent_contact = Contact::getDetailsByURL($parent_item["author-link"]);
if ($parent_item['id'] != $parent_item['parent']) {
- $parent_item = dba::selectFirst('item', [], ['id' => $parent_item['parent']]);
+ $parent_item = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $parent_item['parent']]);
}
}
$orig_post = null;
if ($post_id) {
- $orig_post = dba::selectFirst('item', [], ['id' => $post_id]);
+ $orig_post = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
}
$user = dba::selectFirst('user', [], ['uid' => $profile_uid]);
return;
}
+ $categories = '';
+
if ($orig_post) {
$str_group_allow = $orig_post['allow_gid'];
$str_contact_allow = $orig_post['allow_cid'];
$str_contact_deny = $user['deny_cid'];
} else {
// use the posted permissions
- $str_group_allow = perms2str($_REQUEST['group_allow']);
- $str_contact_allow = perms2str($_REQUEST['contact_allow']);
- $str_group_deny = perms2str($_REQUEST['group_deny']);
- $str_contact_deny = perms2str($_REQUEST['contact_deny']);
+ $str_group_allow = perms2str(defaults($_REQUEST, 'group_allow', ''));
+ $str_contact_allow = perms2str(defaults($_REQUEST, 'contact_allow', ''));
+ $str_group_deny = perms2str(defaults($_REQUEST, 'group_deny', ''));
+ $str_contact_deny = perms2str(defaults($_REQUEST, 'contact_deny', ''));
}
- $title = notags(trim($_REQUEST['title']));
- $location = notags(trim($_REQUEST['location']));
- $coord = notags(trim($_REQUEST['coord']));
- $verb = notags(trim($_REQUEST['verb']));
- $emailcc = notags(trim($_REQUEST['emailcc']));
- $body = escape_tags(trim($_REQUEST['body']));
- $network = notags(trim(defaults($_REQUEST, 'network', NETWORK_DFRN)));
- $guid = get_guid(32);
+ $title = notags(trim(defaults($_REQUEST, 'title' , '')));
+ $location = notags(trim(defaults($_REQUEST, 'location', '')));
+ $coord = notags(trim(defaults($_REQUEST, 'coord' , '')));
+ $verb = notags(trim(defaults($_REQUEST, 'verb' , '')));
+ $emailcc = notags(trim(defaults($_REQUEST, 'emailcc' , '')));
+ $body = escape_tags(trim(defaults($_REQUEST, 'body' , '')));
+ $network = notags(trim(defaults($_REQUEST, 'network' , NETWORK_DFRN)));
+ $guid = System::createGUID(32);
$postopts = defaults($_REQUEST, 'postopts', '');
// If this is a comment, set the permissions from the parent.
if ($parent_item) {
-
// for non native networks use the network of the original post as network of the item
if (($parent_item['network'] != NETWORK_DIASPORA)
&& ($parent_item['network'] != NETWORK_OSTATUS)
}
}
- if (strlen($categories)) {
+ if (!empty($categories)) {
// get the "fileas" tags for this post
$filedas = file_tag_file_to_list($categories, 'file');
}
// save old and new categories, so we can determine what needs to be deleted from pconfig
$categories_old = $categories;
- $categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
+ $categories = file_tag_list_to_file(trim(defaults($_REQUEST, 'category', '')), 'category');
$categories_new = $categories;
- if (strlen($filedas)) {
+ if (!empty($filedas)) {
// append the fileas stuff to the new categories list
$categories .= file_tag_list_to_file($filedas, 'file');
}
$network = NETWORK_DFRN;
}
- $gravity = ($parent ? 6 : 0);
+ $gravity = ($parent ? GRAVITY_COMMENT : GRAVITY_PARENT);
// even if the post arrived via API we are considering that it
// originated on this site by default for determining relayability.
$notify_type = ($parent ? 'comment-new' : 'wall-new');
- $uri = ($message_id ? $message_id : item_new_uri($a->get_hostname(), $profile_uid, $guid));
+ $uri = ($message_id ? $message_id : Item::newURI($api_source ? $profile_uid : $uid, $guid));
// Fallback so that we alway have a parent uri
if (!$thr_parent_uri || !$parent) {
// This field is for storing the raw conversation data
$datarray['protocol'] = PROTOCOL_DFRN;
- $r = dba::fetch_first("SELECT `conversation-uri`, `conversation-href` FROM `conversation` WHERE `item-uri` = ?", $datarray['parent-uri']);
- if (DBM::is_result($r)) {
- if ($r['conversation-uri'] != '') {
- $datarray['conversation-uri'] = $r['conversation-uri'];
+ $conversation = dba::selectFirst('conversation', ['conversation-uri', 'conversation-href'], ['item-uri' => $datarray['parent-uri']]);
+ if (DBM::is_result($conversation)) {
+ if ($conversation['conversation-uri'] != '') {
+ $datarray['conversation-uri'] = $conversation['conversation-uri'];
}
- if ($r['conversation-href'] != '') {
- $datarray['conversation-href'] = $r['conversation-href'];
+ if ($conversation['conversation-href'] != '') {
+ $datarray['conversation-href'] = $conversation['conversation-href'];
}
}
if ($orig_post) {
$datarray['edit'] = true;
+ } else {
+ $datarray['edit'] = false;
}
// Check for hashtags in the body and repair or add hashtag links
// We set the datarray ID to -1 because in preview mode the dataray
// doesn't have an ID.
$datarray["id"] = -1;
+ $datarray["item_id"] = -1;
+ $datarray["author-network"] = NETWORK_DFRN;
+
$o = conversation($a,[array_merge($contact_record,$datarray)],'search', false, true);
logger('preview: ' . $o);
echo json_encode(['preview' => $o]);
goaway($return_path);
}
- $datarray = dba::selectFirst('item', [], ['id' => $post_id]);
+ $datarray = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
if (!DBM::is_result($datarray)) {
logger("Item with id ".$post_id." couldn't be fetched.");