]> git.mxchange.org Git - friendica.git/commitdiff
Fix: some selected item fields hadn't been selected
authorMichael <heluecht@pirati.ca>
Wed, 15 Apr 2020 05:28:54 +0000 (05:28 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 15 Apr 2020 05:28:54 +0000 (05:28 +0000)
database.sql
src/Model/Item.php
src/Worker/DBClean.php
static/dbstructure.config.php

index 4956798ba290e2d9c67029d543749b68db73e586..d7772920d8bcc20929112d41a922396d249c977f 100644 (file)
@@ -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
 --
index a9a6eede233961fac54580a82fdc266e872acb16..d24340d76494657e1c47bab33ac68a31d26c59b2 100644 (file)
@@ -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]);
                        }
                }
 
index 0316b9ebf6ebdef744938dac6ce698f63c0f6321..e0cdd7034757a73bc89acc5528d62a976923f961 100644 (file)
@@ -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);
 
index 707e39468ea722c453be0575500f6d1b8a33329e..94d5a36025073847ef4e054cc6050a30757c4f9a 100755 (executable)
@@ -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" => [