Fix: some selected item fields hadn't been selected
This commit is contained in:
parent
b5637b8cfc
commit
496d882d06
4 changed files with 7 additions and 74 deletions
15
database.sql
15
database.sql
|
@ -1,5 +1,5 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 2020.03-rc (Dalmatian Bellflower)
|
||||
-- Friendica 2020.06-dev (Red Hot Poker)
|
||||
-- DB_UPDATE_VERSION 1338
|
||||
-- ------------------------------------------
|
||||
|
||||
|
@ -1152,19 +1152,6 @@ CREATE TABLE IF NOT EXISTS `session` (
|
|||
INDEX `expire` (`expire`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='web session storage';
|
||||
|
||||
--
|
||||
-- TABLE sign
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `sign` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT 'item.id',
|
||||
`signed_text` mediumtext COMMENT '',
|
||||
`signature` text COMMENT '',
|
||||
`signer` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `iid` (`iid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Diaspora signatures';
|
||||
|
||||
--
|
||||
-- TABLE term
|
||||
--
|
||||
|
|
|
@ -342,10 +342,6 @@ class Item
|
|||
}
|
||||
}
|
||||
|
||||
if (array_key_exists('signed_text', $row) && array_key_exists('interaction', $row) && !is_null($row['interaction'])) {
|
||||
$row['signed_text'] = $row['interaction'];
|
||||
}
|
||||
|
||||
if (array_key_exists('ignored', $row) && array_key_exists('internal-user-ignored', $row) && !is_null($row['internal-user-ignored'])) {
|
||||
$row['ignored'] = $row['internal-user-ignored'];
|
||||
}
|
||||
|
@ -672,7 +668,8 @@ class Item
|
|||
{
|
||||
$fields = [];
|
||||
|
||||
$fields['item'] = ['id', 'uid', 'parent', 'uri', 'parent-uri', 'thr-parent', 'guid',
|
||||
$fields['item'] = ['id', 'uid', 'parent', 'uri', 'parent-uri', 'thr-parent',
|
||||
'guid', 'uri-id', 'parent-uri-id', 'thr-parent-id',
|
||||
'contact-id', 'owner-id', 'author-id', 'type', 'wall', 'gravity', 'extid',
|
||||
'created', 'edited', 'commented', 'received', 'changed', 'psid',
|
||||
'resource-id', 'event-id', 'tag', 'attach', 'post-type', 'file',
|
||||
|
@ -714,9 +711,7 @@ class Item
|
|||
'nofinish' => 'event-nofinish','adjust' => 'event-adjust',
|
||||
'ignore' => 'event-ignore', 'id' => 'event-id'];
|
||||
|
||||
$fields['sign'] = ['signed_text', 'signature', 'signer'];
|
||||
|
||||
$fields['diaspora-interaction'] = ['interaction'];
|
||||
$fields['diaspora-interaction'] = ['interaction', 'interaction' => 'signed_text'];
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
@ -801,10 +796,6 @@ class Item
|
|||
$joins .= " LEFT JOIN `event` ON `event-id` = `event`.`id`";
|
||||
}
|
||||
|
||||
if (strpos($sql_commands, "`sign`.") !== false) {
|
||||
$joins .= " LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id`";
|
||||
}
|
||||
|
||||
if (strpos($sql_commands, "`diaspora-interaction`.") !== false) {
|
||||
$joins .= " LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `item`.`uri-id`";
|
||||
}
|
||||
|
@ -858,10 +849,6 @@ class Item
|
|||
$selected[] = 'internal-user-ignored';
|
||||
}
|
||||
|
||||
if (in_array('signed_text', $selected)) {
|
||||
$selected[] = 'interaction';
|
||||
}
|
||||
|
||||
$legacy_fields = array_merge(ItemDeliveryData::LEGACY_FIELD_LIST, self::MIXED_CONTENT_FIELDLIST);
|
||||
|
||||
$selection = [];
|
||||
|
@ -2000,10 +1987,6 @@ class Item
|
|||
|
||||
if (!empty($dsprsig->signed_text) && empty($dsprsig->signature) && empty($dsprsig->signer)) {
|
||||
DBA::insert('diaspora-interaction', ['uri-id' => $item['uri-id'], 'interaction' => $dsprsig->signed_text], true);
|
||||
} else {
|
||||
// The other fields are used by very old Friendica servers, so we currently store them differently
|
||||
DBA::insert('sign', ['iid' => $current_post, 'signed_text' => $dsprsig->signed_text,
|
||||
'signature' => $dsprsig->signature, 'signer' => $dsprsig->signer]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ class DBClean {
|
|||
* 3: Orphaned data from thread table.
|
||||
* 4: Orphaned data from notify table.
|
||||
* 5: Orphaned data from notify-threads table.
|
||||
* 6: Orphaned data from sign table.
|
||||
* 6: Legacy functionality (removed)
|
||||
* 7: Orphaned data from term table.
|
||||
* 8: Expired threads.
|
||||
* 9: Old global item entries from expired threads.
|
||||
|
@ -224,31 +224,8 @@ class DBClean {
|
|||
DI::config()->set('system', 'finished-dbclean-5', true);
|
||||
}
|
||||
} elseif ($stage == 6) {
|
||||
$last_id = DI::config()->get('system', 'dbclean-last-id-6', 0);
|
||||
|
||||
Logger::log("Deleting orphaned data from sign table. Last ID: ".$last_id);
|
||||
$r = DBA::p("SELECT `iid`, `id` FROM `sign`
|
||||
WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `sign`.`iid`) AND `id` >= ?
|
||||
ORDER BY `id` LIMIT ?", $last_id, $limit);
|
||||
$count = DBA::numRows($r);
|
||||
if ($count > 0) {
|
||||
Logger::log("found sign orphans: ".$count);
|
||||
while ($orphan = DBA::fetch($r)) {
|
||||
$last_id = $orphan["id"];
|
||||
DBA::delete('sign', ['iid' => $orphan["iid"]]);
|
||||
}
|
||||
Worker::add(PRIORITY_MEDIUM, 'DBClean', 6, $last_id);
|
||||
} else {
|
||||
Logger::log("No sign orphans found");
|
||||
}
|
||||
DBA::close($r);
|
||||
Logger::log("Done deleting ".$count." orphaned data from sign table. Last ID: ".$last_id);
|
||||
|
||||
DI::config()->set('system', 'dbclean-last-id-6', $last_id);
|
||||
|
||||
if ($count < $limit) {
|
||||
DI::config()->set('system', 'finished-dbclean-6', true);
|
||||
}
|
||||
// The legacy functionality had been removed
|
||||
DI::config()->set('system', 'finished-dbclean-6', true);
|
||||
} elseif ($stage == 7) {
|
||||
$last_id = DI::config()->get('system', 'dbclean-last-id-7', 0);
|
||||
|
||||
|
|
|
@ -1268,20 +1268,6 @@ return [
|
|||
"expire" => ["expire"],
|
||||
]
|
||||
],
|
||||
"sign" => [
|
||||
"comment" => "Diaspora signatures",
|
||||
"fields" => [
|
||||
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
|
||||
"iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "item.id"],
|
||||
"signed_text" => ["type" => "mediumtext", "comment" => ""],
|
||||
"signature" => ["type" => "text", "comment" => ""],
|
||||
"signer" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
|
||||
],
|
||||
"indexes" => [
|
||||
"PRIMARY" => ["id"],
|
||||
"iid" => ["UNIQUE", "iid"],
|
||||
]
|
||||
],
|
||||
"term" => [
|
||||
"comment" => "item taxonomy (categories, tags, etc.) table",
|
||||
"fields" => [
|
||||
|
|
Loading…
Reference in a new issue