Skip to content

Commit

Permalink
Issue 13909: Filter channels by network (#13924)
Browse files Browse the repository at this point in the history
  • Loading branch information
annando committed Feb 20, 2024
1 parent d95c9d2 commit 71384e6
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 4 deletions.
4 changes: 3 additions & 1 deletion database.sql
@@ -1,6 +1,6 @@
-- ------------------------------------------
-- Friendica 2024.03-rc (Yellow Archangel)
-- DB_UPDATE_VERSION 1553
-- DB_UPDATE_VERSION 1554
-- ------------------------------------------


Expand Down Expand Up @@ -1352,6 +1352,7 @@ CREATE TABLE IF NOT EXISTS `post-engagement` (
`searchtext` mediumtext COMMENT 'Simplified text for the full text search',
`size` int unsigned COMMENT 'Body size',
`created` datetime COMMENT '',
`network` char(4) COMMENT '',
`restricted` boolean NOT NULL DEFAULT '0' COMMENT 'If true, this post is either unlisted or not from a federated network',
`comments` mediumint unsigned COMMENT 'Number of comments',
`activities` mediumint unsigned COMMENT 'Number of activities (like, dislike, ...)',
Expand Down Expand Up @@ -2123,6 +2124,7 @@ CREATE VIEW `post-searchindex-user-view` AS SELECT
`post-thread-user`.`commented` AS `commented`,
`post-thread-user`.`received` AS `received`,
`post-thread-user`.`created` AS `created`,
`post-thread-user`.`network` AS `network`,
`post-searchindex`.`language` AS `restricted`,
0 AS `comments`,
0 AS `activities`
Expand Down
1 change: 1 addition & 0 deletions doc/database/db_post-engagement.md
Expand Up @@ -16,6 +16,7 @@ Fields
| searchtext | Simplified text for the full text search | mediumtext | YES | | NULL | |
| size | Body size | int unsigned | YES | | NULL | |
| created | | datetime | YES | | NULL | |
| network | | char(4) | YES | | NULL | |
| restricted | If true, this post is either unlisted or not from a federated network | boolean | NO | | 0 | |
| comments | Number of comments | mediumint unsigned | YES | | NULL | |
| activities | Number of activities (like, dislike, ...) | mediumint unsigned | YES | | NULL | |
Expand Down
1 change: 1 addition & 0 deletions src/Model/Post/Engagement.php
Expand Up @@ -118,6 +118,7 @@ public static function storeFromItem(array $item): int
'searchtext' => $searchtext,
'size' => self::getContentSize($parent),
'created' => $parent['created'],
'network' => $parent['network'],
'restricted' => !in_array($item['network'], Protocol::FEDERATED) || ($parent['private'] != Item::PUBLIC),
'comments' => DBA::count('post', ['parent-uri-id' => $item['parent-uri-id'], 'gravity' => Item::GRAVITY_COMMENT]),
'activities' => DBA::count('post', [
Expand Down
2 changes: 0 additions & 2 deletions src/Module/Conversation/Network.php
Expand Up @@ -65,8 +65,6 @@ class Network extends Timeline
/** @var int */
protected $circleId;
/** @var string */
protected $network;
/** @var string */
protected $dateFrom;
/** @var string */
protected $dateTo;
Expand Down
6 changes: 6 additions & 0 deletions src/Module/Conversation/Timeline.php
Expand Up @@ -74,6 +74,8 @@ class Timeline extends BaseModule
protected $raw;
/** @var string */
protected $order;
/** @var string */
protected $network;

/** @var App\Mode $mode */
protected $mode;
Expand Down Expand Up @@ -372,6 +374,10 @@ private function getRawChannelItems(array $request)

$this->setMaxMinByOrder($request);

if (!empty($this->network)) {
$condition = DBA::mergeConditions($condition, ['network' => $this->network]);
}

if (($this->selectedTab != ChannelEntity::LANGUAGE) && !is_numeric($this->selectedTab)) {
$condition = $this->addLanguageCondition($uid, $condition);
}
Expand Down
3 changes: 2 additions & 1 deletion static/dbstructure.config.php
Expand Up @@ -56,7 +56,7 @@

// This file is required several times during the test in DbaDefinition which justifies this condition
if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1553);
define('DB_UPDATE_VERSION', 1554);
}

return [
Expand Down Expand Up @@ -1373,6 +1373,7 @@
"searchtext" => ["type" => "mediumtext", "comment" => "Simplified text for the full text search"],
"size" => ["type" => "int unsigned", "comment" => "Body size"],
"created" => ["type" => "datetime", "comment" => ""],
"network" => ["type" => "char(4)", "comment" => ""],
"restricted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "If true, this post is either unlisted or not from a federated network"],
"comments" => ["type" => "mediumint unsigned", "comment" => "Number of comments"],
"activities" => ["type" => "mediumint unsigned", "comment" => "Number of activities (like, dislike, ...)"],
Expand Down
1 change: 1 addition & 0 deletions static/dbview.config.php
Expand Up @@ -154,6 +154,7 @@
"commented" => ["post-thread-user", "commented"],
"received" => ["post-thread-user", "received"],
"created" => ["post-thread-user", "created"],
"network" => ["post-thread-user", "network"],
"restricted" => ["post-searchindex", "language"],
"comments" => "0",
"activities" => "0",
Expand Down
7 changes: 7 additions & 0 deletions update.php
Expand Up @@ -1429,3 +1429,10 @@ function update_1552()

return Update::SUCCESS;
}

function update_1554()
{
DBA::e("UPDATE `post-engagement` INNER JOIN `post` ON `post`.`uri-id` = `post-engagement`.`uri-id` SET `post-engagement`.`network` = `post`.`network`");

return Update::SUCCESS;
}

0 comments on commit 71384e6

Please sign in to comment.