We don't store tags in the item table anymore
This commit is contained in:
parent
0ab9f2e265
commit
5ba1427806
2 changed files with 24 additions and 8 deletions
|
@ -118,7 +118,7 @@ class Item extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build the tag string out of the term entries
|
// Build the tag string out of the term entries
|
||||||
if (isset($row['id']) && isset($row['tag'])) {
|
if (isset($row['id']) && array_key_exists('tag', $row)) {
|
||||||
$row['tag'] = Term::tagTextFromItemId($row['id']);
|
$row['tag'] = Term::tagTextFromItemId($row['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -614,6 +614,13 @@ class Item extends BaseObject
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (array_key_exists('tag', $fields)) {
|
||||||
|
$tags = $fields['tag'];
|
||||||
|
unset($fields['tag']);
|
||||||
|
} else {
|
||||||
|
$tags = '';
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($fields)) {
|
if (!empty($fields)) {
|
||||||
$success = dba::update('item', $fields, $condition);
|
$success = dba::update('item', $fields, $condition);
|
||||||
|
|
||||||
|
@ -633,8 +640,8 @@ class Item extends BaseObject
|
||||||
}
|
}
|
||||||
self::updateContent($content_fields, ['uri' => $item['uri']]);
|
self::updateContent($content_fields, ['uri' => $item['uri']]);
|
||||||
|
|
||||||
if (array_key_exists('tag', $fields)) {
|
if (!empty($tags)) {
|
||||||
Term::insertFromTagFieldByItemId($item['id']);
|
Term::insertFromTagFieldByItemId($item['id'], $tags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (array_key_exists('file', $fields)) {
|
if (array_key_exists('file', $fields)) {
|
||||||
|
@ -777,7 +784,7 @@ class Item extends BaseObject
|
||||||
'object' => '', 'target' => '', 'tag' => '', 'postopts' => '', 'attach' => '', 'file' => ''];
|
'object' => '', 'target' => '', 'tag' => '', 'postopts' => '', 'attach' => '', 'file' => ''];
|
||||||
dba::update('item', $item_fields, ['id' => $item['id']]);
|
dba::update('item', $item_fields, ['id' => $item['id']]);
|
||||||
|
|
||||||
Term::insertFromTagFieldByItemId($item['id']);
|
Term::insertFromTagFieldByItemId($item['id'], '');
|
||||||
Term::insertFromFileFieldByItemId($item['id']);
|
Term::insertFromFileFieldByItemId($item['id']);
|
||||||
self::deleteThread($item['id'], $item['parent-uri']);
|
self::deleteThread($item['id'], $item['parent-uri']);
|
||||||
|
|
||||||
|
@ -1357,6 +1364,13 @@ class Item extends BaseObject
|
||||||
|
|
||||||
logger('' . print_r($item,true), LOGGER_DATA);
|
logger('' . print_r($item,true), LOGGER_DATA);
|
||||||
|
|
||||||
|
if (array_key_exists('tag', $item)) {
|
||||||
|
$tags = $item['tag'];
|
||||||
|
unset($item['tag']);
|
||||||
|
} else {
|
||||||
|
$tags = '';
|
||||||
|
}
|
||||||
|
|
||||||
// We are doing this outside of the transaction to avoid timing problems
|
// We are doing this outside of the transaction to avoid timing problems
|
||||||
self::insertContent($item);
|
self::insertContent($item);
|
||||||
|
|
||||||
|
@ -1488,8 +1502,8 @@ class Item extends BaseObject
|
||||||
* Due to deadlock issues with the "term" table we are doing these steps after the commit.
|
* Due to deadlock issues with the "term" table we are doing these steps after the commit.
|
||||||
* This is not perfect - but a workable solution until we found the reason for the problem.
|
* This is not perfect - but a workable solution until we found the reason for the problem.
|
||||||
*/
|
*/
|
||||||
if (array_key_exists('tag', $item)) {
|
if (!empty($tags)) {
|
||||||
Term::insertFromTagFieldByItemId($current_post);
|
Term::insertFromTagFieldByItemId($current_post, $tags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (array_key_exists('file', $item)) {
|
if (array_key_exists('file', $item)) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ class Term
|
||||||
return $tag_text;
|
return $tag_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function insertFromTagFieldByItemId($itemid)
|
public static function insertFromTagFieldByItemId($itemid, $tags)
|
||||||
{
|
{
|
||||||
$profile_base = System::baseUrl();
|
$profile_base = System::baseUrl();
|
||||||
$profile_data = parse_url($profile_base);
|
$profile_data = parse_url($profile_base);
|
||||||
|
@ -43,12 +43,14 @@ class Term
|
||||||
$profile_base_friendica = $profile_data['host'] . $profile_path . '/profile/';
|
$profile_base_friendica = $profile_data['host'] . $profile_path . '/profile/';
|
||||||
$profile_base_diaspora = $profile_data['host'] . $profile_path . '/u/';
|
$profile_base_diaspora = $profile_data['host'] . $profile_path . '/u/';
|
||||||
|
|
||||||
$fields = ['guid', 'uid', 'id', 'edited', 'deleted', 'created', 'received', 'title', 'body', 'tag', 'parent'];
|
$fields = ['guid', 'uid', 'id', 'edited', 'deleted', 'created', 'received', 'title', 'body', 'parent'];
|
||||||
$message = Item::selectFirst($fields, ['id' => $itemid]);
|
$message = Item::selectFirst($fields, ['id' => $itemid]);
|
||||||
if (!DBM::is_result($message)) {
|
if (!DBM::is_result($message)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$message['tag'] = $tags;
|
||||||
|
|
||||||
// Clean up all tags
|
// Clean up all tags
|
||||||
dba::delete('term', ['otype' => TERM_OBJ_POST, 'oid' => $itemid, 'type' => [TERM_HASHTAG, TERM_MENTION]]);
|
dba::delete('term', ['otype' => TERM_OBJ_POST, 'oid' => $itemid, 'type' => [TERM_HASHTAG, TERM_MENTION]]);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue