mirror of
https://github.com/friendica/friendica
synced 2025-05-03 23:04:10 +02:00
post/thread views are renamed, search bugs fixed
This commit is contained in:
parent
574f778411
commit
1792046a4f
20 changed files with 83 additions and 77 deletions
|
@ -516,8 +516,8 @@ class Event
|
|||
}
|
||||
|
||||
// Query for the event by event id
|
||||
$events = DBA::toArray(DBA::p("SELECT `event`.*, `post-view`.`id` AS `itemid` FROM `event`
|
||||
LEFT JOIN `post-view` ON `post-view`.`event-id` = `event`.`id` AND `post-view`.`uid` = `event`.`uid`
|
||||
$events = DBA::toArray(DBA::p("SELECT `event`.*, `post-user-view`.`id` AS `itemid` FROM `event`
|
||||
LEFT JOIN `post-user-view` ON `post-user-view`.`event-id` = `event`.`id` AND `post-user-view`.`uid` = `event`.`uid`
|
||||
WHERE `event`.`uid` = %d AND `event`.`id` = %d $sql_extra",
|
||||
$owner_uid, $event_id));
|
||||
|
||||
|
@ -555,8 +555,8 @@ class Event
|
|||
|
||||
// Query for the event by date.
|
||||
// @todo Slow query (518 seconds to run), to be optimzed
|
||||
$events = DBA::toArray(DBA::p("SELECT `event`.*, `post-view`.`id` AS `itemid` FROM `event`
|
||||
LEFT JOIN `post-view` ON `post-view`.`event-id` = `event`.`id` AND `post-view`.`uid` = `event`.`uid`
|
||||
$events = DBA::toArray(DBA::p("SELECT `event`.*, `post-user-view`.`id` AS `itemid` FROM `event`
|
||||
LEFT JOIN `post-user-view` ON `post-user-view`.`event-id` = `event`.`id` AND `post-user-view`.`uid` = `event`.`uid`
|
||||
WHERE `event`.`uid` = ? AND `event`.`ignore` = ?
|
||||
AND ((NOT `adjust` AND (`finish` >= ? OR (`nofinish` AND `start` >= ?)) AND `start` <= ?)
|
||||
OR (`adjust` AND (`finish` >= ? OR (`nofinish` AND `start` >= ?)) AND `start` <= ?))" . $sql_extra,
|
||||
|
|
|
@ -160,7 +160,7 @@ class Group
|
|||
public static function countUnseen()
|
||||
{
|
||||
$stmt = DBA::p("SELECT `group`.`id`, `group`.`name`,
|
||||
(SELECT COUNT(*) FROM `post-view`
|
||||
(SELECT COUNT(*) FROM `post-user-view`
|
||||
WHERE `uid` = ?
|
||||
AND `unseen`
|
||||
AND `contact-id` IN
|
||||
|
|
|
@ -1190,7 +1190,7 @@ class Item
|
|||
*/
|
||||
public static function distribute($itemid, $signed_text = '')
|
||||
{
|
||||
$condition = ["`id` IN (SELECT `parent` FROM `post-view` WHERE `id` = ?)", $itemid];
|
||||
$condition = ["`id` IN (SELECT `parent` FROM `post-user-view` WHERE `id` = ?)", $itemid];
|
||||
$parent = Post::selectFirst(['owner-id'], $condition);
|
||||
if (!DBA::isResult($parent)) {
|
||||
Logger::warning('Item not found', ['condition' => $condition]);
|
||||
|
|
|
@ -132,7 +132,7 @@ class Post
|
|||
* @throws \Exception
|
||||
*/
|
||||
public static function exists($condition) {
|
||||
return DBA::exists('post-view', $condition);
|
||||
return DBA::exists('post-user-view', $condition);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -153,7 +153,7 @@ class Post
|
|||
*/
|
||||
public static function count(array $condition = [], array $params = [])
|
||||
{
|
||||
return DBA::count('post-view', $condition, $params);
|
||||
return DBA::count('post-user-view', $condition, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -211,7 +211,7 @@ class Post
|
|||
/**
|
||||
* Select rows from the given view
|
||||
*
|
||||
* @param string $view View (post-view or post-thread-view)
|
||||
* @param string $view View (post-user-view or post-thread-user-view)
|
||||
* @param array $selected Array of selected fields, empty for all
|
||||
* @param array $condition Array of fields for condition
|
||||
* @param array $params Array of several parameters
|
||||
|
@ -224,7 +224,7 @@ class Post
|
|||
if (empty($selected)) {
|
||||
$selected = array_merge(Item::DISPLAY_FIELDLIST, Item::ITEM_FIELDLIST);
|
||||
|
||||
if ($view == 'post-thread-view') {
|
||||
if ($view == 'post-thread-user-view') {
|
||||
$selected = array_merge($selected, ['ignored']);
|
||||
}
|
||||
}
|
||||
|
@ -246,7 +246,7 @@ class Post
|
|||
*/
|
||||
public static function select(array $selected = [], array $condition = [], $params = [])
|
||||
{
|
||||
return self::selectView('post-view', $selected, $condition, $params);
|
||||
return self::selectView('post-user-view', $selected, $condition, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -261,13 +261,13 @@ class Post
|
|||
*/
|
||||
public static function selectThread(array $selected = [], array $condition = [], $params = [])
|
||||
{
|
||||
return self::selectView('post-thread-view', $selected, $condition, $params);
|
||||
return self::selectView('post-thread-user-view', $selected, $condition, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Select rows from the given view for a given user
|
||||
*
|
||||
* @param string $view View (post-view or post-thread-view)
|
||||
* @param string $view View (post-user-view or post-thread-user-view)
|
||||
* @param integer $uid User ID
|
||||
* @param array $selected Array of selected fields, empty for all
|
||||
* @param array $condition Array of fields for condition
|
||||
|
@ -329,7 +329,7 @@ class Post
|
|||
*/
|
||||
public static function selectForUser($uid, array $selected = [], array $condition = [], $params = [])
|
||||
{
|
||||
return self::selectViewForUser('post-view', $uid, $selected, $condition, $params);
|
||||
return self::selectViewForUser('post-user-view', $uid, $selected, $condition, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -345,7 +345,7 @@ class Post
|
|||
*/
|
||||
public static function selectThreadForUser($uid, array $selected = [], array $condition = [], $params = [])
|
||||
{
|
||||
return self::selectViewForUser('post-thread-view', $uid, $selected, $condition, $params);
|
||||
return self::selectViewForUser('post-thread-user-view', $uid, $selected, $condition, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -443,7 +443,7 @@ class Post
|
|||
$update_fields = DBStructure::getFieldsForTable('post-user', $fields);
|
||||
if (!empty($update_fields)) {
|
||||
$affected_count = 0;
|
||||
$posts = DBA::select('post-view', ['post-user-id'], $condition);
|
||||
$posts = DBA::select('post-user-view', ['post-user-id'], $condition);
|
||||
while ($rows = DBA::toArray($posts, false, 100)) {
|
||||
$puids = array_column($rows, 'post-user-id');
|
||||
if (!DBA::update('post-user', $update_fields, ['id' => $puids])) {
|
||||
|
@ -460,7 +460,7 @@ class Post
|
|||
$update_fields = DBStructure::getFieldsForTable('post-content', $fields);
|
||||
if (!empty($update_fields)) {
|
||||
$affected_count = 0;
|
||||
$posts = DBA::select('post-view', ['uri-id'], $condition, ['group_by' => ['uri-id']]);
|
||||
$posts = DBA::select('post-user-view', ['uri-id'], $condition, ['group_by' => ['uri-id']]);
|
||||
while ($rows = DBA::toArray($posts, false, 100)) {
|
||||
$uriids = array_column($rows, 'uri-id');
|
||||
if (!DBA::update('post-content', $update_fields, ['uri-id' => $uriids])) {
|
||||
|
@ -477,7 +477,7 @@ class Post
|
|||
$update_fields = DBStructure::getFieldsForTable('post', $fields);
|
||||
if (!empty($update_fields)) {
|
||||
$affected_count = 0;
|
||||
$posts = DBA::select('post-view', ['uri-id'], $condition, ['group_by' => ['uri-id']]);
|
||||
$posts = DBA::select('post-user-view', ['uri-id'], $condition, ['group_by' => ['uri-id']]);
|
||||
while ($rows = DBA::toArray($posts, false, 100)) {
|
||||
$uriids = array_column($rows, 'uri-id');
|
||||
if (!DBA::update('post', $update_fields, ['uri-id' => $uriids])) {
|
||||
|
@ -494,7 +494,7 @@ class Post
|
|||
$update_fields = Post\DeliveryData::extractFields($fields);
|
||||
if (!empty($update_fields)) {
|
||||
$affected_count = 0;
|
||||
$posts = DBA::select('post-view', ['uri-id'], $condition, ['group_by' => ['uri-id']]);
|
||||
$posts = DBA::select('post-user-view', ['uri-id'], $condition, ['group_by' => ['uri-id']]);
|
||||
while ($rows = DBA::toArray($posts, false, 100)) {
|
||||
$uriids = array_column($rows, 'uri-id');
|
||||
if (!DBA::update('post-delivery-data', $update_fields, ['uri-id' => $uriids])) {
|
||||
|
@ -511,7 +511,7 @@ class Post
|
|||
$update_fields = DBStructure::getFieldsForTable('post-thread', $fields);
|
||||
if (!empty($update_fields)) {
|
||||
$affected_count = 0;
|
||||
$posts = DBA::select('post-view', ['uri-id'], $thread_condition, ['group_by' => ['uri-id']]);
|
||||
$posts = DBA::select('post-user-view', ['uri-id'], $thread_condition, ['group_by' => ['uri-id']]);
|
||||
while ($rows = DBA::toArray($posts, false, 100)) {
|
||||
$uriids = array_column($rows, 'uri-id');
|
||||
if (!DBA::update('post-thread', $update_fields, ['uri-id' => $uriids])) {
|
||||
|
@ -528,7 +528,7 @@ class Post
|
|||
$update_fields = DBStructure::getFieldsForTable('post-thread-user', $fields);
|
||||
if (!empty($update_fields)) {
|
||||
$affected_count = 0;
|
||||
$posts = DBA::select('post-view', ['post-user-id'], $thread_condition);
|
||||
$posts = DBA::select('post-user-view', ['post-user-id'], $thread_condition);
|
||||
while ($rows = DBA::toArray($posts, false, 100)) {
|
||||
$thread_puids = array_column($rows, 'post-user-id');
|
||||
if (!DBA::update('post-thread-user', $update_fields, ['post-user-id' => $thread_puids])) {
|
||||
|
|
|
@ -109,8 +109,8 @@ class Content
|
|||
public static function getURIIdListBySearch(string $search, int $uid = 0, int $start = 0, int $limit = 100, int $last_uriid = 0)
|
||||
{
|
||||
$condition = ["`uri-id` IN (SELECT `uri-id` FROM `post-content` WHERE MATCH (`title`, `content-warning`, `body`) AGAINST (? IN BOOLEAN MODE))
|
||||
AND (NOT `private` OR (`private` AND `uid` = ?)) AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||
$search, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0];
|
||||
AND (`uid` = ? OR (`uid` = ? AND NOT `global`)) AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||
$search, 0, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0];
|
||||
|
||||
if (!empty($last_uriid)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`uri-id` < ?", $last_uriid]);
|
||||
|
@ -118,7 +118,6 @@ class Content
|
|||
|
||||
$params = [
|
||||
'order' => ['uri-id' => true],
|
||||
'group_by' => ['uri-id'],
|
||||
'limit' => [$start, $limit]
|
||||
];
|
||||
|
||||
|
@ -136,8 +135,8 @@ class Content
|
|||
public static function countBySearch(string $search, int $uid = 0)
|
||||
{
|
||||
$condition = ["`uri-id` IN (SELECT `uri-id` FROM `post-content` WHERE MATCH (`title`, `content-warning`, `body`) AGAINST (? IN BOOLEAN MODE))
|
||||
AND (NOT `private` OR (`private` AND `uid` = ?)) AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||
$search, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0];
|
||||
AND (`uid` = ? OR (`uid` = ? AND NOT `global`)) AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||
$search, 0, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0];
|
||||
return Post::count($condition);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -149,7 +149,7 @@ class UserNotification
|
|||
|
||||
// Add every user who participated so far in this thread
|
||||
// This can only happen with participations on global items. (means: uid = 0)
|
||||
$users = DBA::p("SELECT DISTINCT(`contact-uid`) AS `uid` FROM `post-view`
|
||||
$users = DBA::p("SELECT DISTINCT(`contact-uid`) AS `uid` FROM `post-user-view`
|
||||
WHERE `contact-uid` != 0 AND `parent-uri-id` = ? AND `uid` = ?", $item['parent-uri-id'], $uid);
|
||||
while ($user = DBA::fetch($users)) {
|
||||
$uids[] = $user['uid'];
|
||||
|
|
|
@ -455,12 +455,11 @@ class Tag
|
|||
*/
|
||||
public static function countByTag(string $search, int $uid = 0)
|
||||
{
|
||||
$condition = ["`name` = ? AND (NOT `private` OR (`private` AND `uid` = ?))
|
||||
AND `uri-id` IN (SELECT `uri-id` FROM `post-view` WHERE `network` IN (?, ?, ?, ?))",
|
||||
$search, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS];
|
||||
$params = ['group_by' => ['uri-id']];
|
||||
$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
|
||||
AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||
$search, 0, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0];
|
||||
|
||||
return DBA::count('tag-search-view', $condition, $params);
|
||||
return DBA::count('tag-search-view', $condition);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -475,9 +474,9 @@ class Tag
|
|||
*/
|
||||
public static function getURIIdListByTag(string $search, int $uid = 0, int $start = 0, int $limit = 100, int $last_uriid = 0)
|
||||
{
|
||||
$condition = ["`name` = ? AND (NOT `private` OR (`private` AND `uid` = ?))
|
||||
AND `uri-id` IN (SELECT `uri-id` FROM `post-view` WHERE `network` IN (?, ?, ?, ?))",
|
||||
$search, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS];
|
||||
$condition = ["`name` = ? AND (`uid` = ? OR (`uid` = ? AND NOT `global`))
|
||||
AND (`network` IN (?, ?, ?, ?) OR (`uid` = ? AND `uid` != ?))",
|
||||
$search, 0, $uid, Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, $uid, 0];
|
||||
|
||||
if (!empty($last_uriid)) {
|
||||
$condition = DBA::mergeConditions($condition, ["`uri-id` < ?", $last_uriid]);
|
||||
|
@ -485,7 +484,6 @@ class Tag
|
|||
|
||||
$params = [
|
||||
'order' => ['uri-id' => true],
|
||||
'group_by' => ['uri-id'],
|
||||
'limit' => [$start, $limit]
|
||||
];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue