]> git.mxchange.org Git - friendica.git/commitdiff
Store the interaction date as well.
authorMichael <heluecht@pirati.ca>
Tue, 10 Mar 2020 22:04:03 +0000 (22:04 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 10 Mar 2020 22:04:03 +0000 (22:04 +0000)
database.sql
src/Model/Item.php
static/dbstructure.config.php

index f33f8921183406c3544e256b019644a96b0115ae..4956798ba290e2d9c67029d543749b68db73e586 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
--- Friendica 2020.03-dev (Dalmatian Bellflower)
--- DB_UPDATE_VERSION 1337
+-- Friendica 2020.03-rc (Dalmatian Bellflower)
+-- DB_UPDATE_VERSION 1338
 -- ------------------------------------------
 
 
@@ -254,6 +254,17 @@ CREATE TABLE IF NOT EXISTS `contact` (
         INDEX `issued-id` (`issued-id`(64))
 ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contact table';
 
+--
+-- TABLE contact-relation
+--
+CREATE TABLE IF NOT EXISTS `contact-relation` (
+       `cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact the related contact had interacted with',
+       `relation-cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'related contact who had interacted with the contact',
+       `last-interaction` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last interaction',
+        PRIMARY KEY(`cid`,`relation-cid`),
+        INDEX `relation-cid` (`relation-cid`)
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Contact relations';
+
 --
 -- TABLE conv
 --
index 319abf6b2a7f432fdb81f85f12719aa7d5e585d9..b9aeff4c94941b7f2a817d053fbec50c01c953b8 100644 (file)
@@ -1753,10 +1753,7 @@ class Item
 
                                // Update the contact relations
                                if ($item['author-id'] != $parent['author-id']) {
-                                       $fields = ['cid' => $parent['author-id'], 'relation-cid' => $item['author-id']];
-                                       if (!DBA::exists('contact-relation', $fields)) {
-                                               DBA::insert('contact-relation', $fields, true);
-                                       }
+                                       dba::update('contact-relation', ['last-interaction' => $item['created']], ['cid' => $parent['author-id'], 'relation-cid' => $item['author-id']], true);
                                }
                        } else {
                                /*
index 94a6e6ec28027fe94305c035e8b9cf9256d4ea89..b8daa4eee025e6f40e493610df353f5edbb28088 100755 (executable)
@@ -322,6 +322,7 @@ return [
                "fields" => [
                        "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact the related contact had interacted with"],
                        "relation-cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "related contact who had interacted with the contact"],
+                       "last-interaction" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last interaction"],
                ],
                "indexes" => [
                        "PRIMARY" => ["cid", "relation-cid"],