]> git.mxchange.org Git - friendica.git/commitdiff
New view chat combines all contact tables
authorMichael <heluecht@pirati.ca>
Sat, 10 Jul 2021 21:55:03 +0000 (21:55 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 10 Jul 2021 21:55:03 +0000 (21:55 +0000)
database.sql
static/dbstructure.config.php
static/dbview.config.php

index 8f9fc8f0d5c5e5de806698e35535eaa65f6ea4b3..b9c3b32578758959ae9a1b20d60dcf61b5f8fd7d 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
 -- Friendica 2021.09-dev (Siberian Iris)
--- DB_UPDATE_VERSION 1427
+-- DB_UPDATE_VERSION 1428
 -- ------------------------------------------
 
 
@@ -2395,6 +2395,188 @@ CREATE VIEW `owner-view` AS SELECT
                        INNER JOIN `contact` ON `contact`.`uid` = `user`.`uid` AND `contact`.`self`
                        INNER JOIN `profile` ON `profile`.`uid` = `user`.`uid`;
 
+--
+-- VIEW account-view
+--
+DROP VIEW IF EXISTS `account-view`;
+CREATE VIEW `account-view` AS SELECT 
+       `contact`.`id` AS `id`,
+       `contact`.`url` AS `url`,
+       `contact`.`nurl` AS `nurl`,
+       `contact`.`uri-id` AS `uri-id`,
+       `contact`.`addr` AS `addr`,
+       `contact`.`alias` AS `alias`,
+       `contact`.`name` AS `name`,
+       `contact`.`nick` AS `nick`,
+       `contact`.`about` AS `about`,
+       `contact`.`keywords` AS `keywords`,
+       `contact`.`xmpp` AS `xmpp`,
+       `contact`.`avatar` AS `avatar`,
+       `contact`.`photo` AS `photo`,
+       `contact`.`thumb` AS `thumb`,
+       `contact`.`micro` AS `micro`,
+       `contact`.`header` AS `header`,
+       `contact`.`created` AS `created`,
+       `contact`.`updated` AS `updated`,
+       `contact`.`network` AS `network`,
+       `contact`.`protocol` AS `protocol`,
+       `contact`.`location` AS `location`,
+       `contact`.`attag` AS `attag`,
+       `contact`.`pubkey` AS `pubkey`,
+       `contact`.`prvkey` AS `prvkey`,
+       `contact`.`subscribe` AS `subscribe`,
+       `contact`.`last-update` AS `last-update`,
+       `contact`.`success_update` AS `success_update`,
+       `contact`.`failure_update` AS `failure_update`,
+       `contact`.`failed` AS `failed`,
+       `contact`.`last-item` AS `last-item`,
+       `contact`.`last-discovery` AS `last-discovery`,
+       `contact`.`contact-type` AS `contact-type`,
+       `contact`.`manually-approve` AS `manually-approve`,
+       `contact`.`unsearchable` AS `unsearchable`,
+       `contact`.`sensitive` AS `sensitive`,
+       `contact`.`baseurl` AS `baseurl`,
+       `contact`.`gsid` AS `gsid`,
+       `contact`.`info` AS `info`,
+       `contact`.`bdyear` AS `bdyear`,
+       `contact`.`bd` AS `bd`,
+       `contact`.`poco` AS `poco`,
+       `contact`.`name-date` AS `name-date`,
+       `contact`.`uri-date` AS `uri-date`,
+       `contact`.`avatar-date` AS `avatar-date`,
+       `contact`.`term-date` AS `term-date`,
+       `contact`.`hidden` AS `global-ignored`,
+       `contact`.`blocked` AS `global-blocked`,
+       `contact`.`hidden` AS `hidden`,
+       `contact`.`archive` AS `archive`,
+       `contact`.`deleted` AS `deleted`,
+       `contact`.`blocked` AS `blocked`,
+       `contact`.`request` AS `dfrn-request`,
+       `contact`.`notify` AS `dfrn-notify`,
+       `contact`.`poll` AS `dfrn-poll`,
+       `contact`.`confirm` AS `dfrn-confirm`,
+       `fcontact`.`guid` AS `diaspora-guid`,
+       `fcontact`.`batch` AS `diaspora-batch`,
+       `fcontact`.`notify` AS `diaspora-notify`,
+       `fcontact`.`poll` AS `diaspora-poll`,
+       `fcontact`.`alias` AS `diaspora-alias`,
+       `apcontact`.`uuid` AS `ap-uuid`,
+       `apcontact`.`type` AS `ap-type`,
+       `apcontact`.`following` AS `ap-following`,
+       `apcontact`.`followers` AS `ap-followers`,
+       `apcontact`.`inbox` AS `ap-inbox`,
+       `apcontact`.`outbox` AS `ap-outbox`,
+       `apcontact`.`sharedinbox` AS `ap-sharedinbox`,
+       `apcontact`.`generator` AS `ap-generator`,
+       `apcontact`.`following_count` AS `ap-following_count`,
+       `apcontact`.`followers_count` AS `ap-followers_count`,
+       `apcontact`.`statuses_count` AS `ap-statuses_count`
+       FROM `contact`
+                       LEFT JOIN `apcontact` ON `apcontact`.`uri-id` = `contact`.`uri-id`
+                       LEFT JOIN `fcontact` ON `fcontact`.`uri-id` = contact.`uri-id`
+                       WHERE `contact`.`uid` = 0;
+
+--
+-- VIEW account-user-view
+--
+DROP VIEW IF EXISTS `account-user-view`;
+CREATE VIEW `account-user-view` AS SELECT 
+       `ucontact`.`id` AS `id`,
+       `ucontact`.`uid` AS `uid`,
+       `contact`.`url` AS `url`,
+       `contact`.`nurl` AS `nurl`,
+       `contact`.`uri-id` AS `uri-id`,
+       `contact`.`addr` AS `addr`,
+       `contact`.`alias` AS `alias`,
+       `contact`.`name` AS `name`,
+       `contact`.`nick` AS `nick`,
+       `contact`.`about` AS `about`,
+       `contact`.`keywords` AS `keywords`,
+       `contact`.`xmpp` AS `xmpp`,
+       `contact`.`avatar` AS `avatar`,
+       `contact`.`photo` AS `photo`,
+       `contact`.`thumb` AS `thumb`,
+       `contact`.`micro` AS `micro`,
+       `contact`.`header` AS `header`,
+       `contact`.`created` AS `created`,
+       `contact`.`updated` AS `updated`,
+       `ucontact`.`self` AS `self`,
+       `ucontact`.`remote_self` AS `remote_self`,
+       `ucontact`.`rel` AS `rel`,
+       `contact`.`network` AS `network`,
+       `ucontact`.`protocol` AS `protocol`,
+       `contact`.`location` AS `location`,
+       `contact`.`attag` AS `attag`,
+       `contact`.`pubkey` AS `pubkey`,
+       `contact`.`prvkey` AS `prvkey`,
+       `contact`.`subscribe` AS `subscribe`,
+       `contact`.`last-update` AS `last-update`,
+       `contact`.`success_update` AS `success_update`,
+       `contact`.`failure_update` AS `failure_update`,
+       `contact`.`failed` AS `failed`,
+       `contact`.`last-item` AS `last-item`,
+       `contact`.`last-discovery` AS `last-discovery`,
+       `contact`.`contact-type` AS `contact-type`,
+       `contact`.`manually-approve` AS `manually-approve`,
+       `contact`.`unsearchable` AS `unsearchable`,
+       `contact`.`sensitive` AS `sensitive`,
+       `contact`.`baseurl` AS `baseurl`,
+       `contact`.`gsid` AS `gsid`,
+       `contact`.`info` AS `info`,
+       `contact`.`bdyear` AS `bdyear`,
+       `contact`.`bd` AS `bd`,
+       `contact`.`poco` AS `poco`,
+       `contact`.`name-date` AS `name-date`,
+       `contact`.`uri-date` AS `uri-date`,
+       `contact`.`avatar-date` AS `avatar-date`,
+       `contact`.`term-date` AS `term-date`,
+       `contact`.`hidden` AS `global-ignored`,
+       `contact`.`blocked` AS `global-blocked`,
+       `ucontact`.`hidden` AS `hidden`,
+       `ucontact`.`archive` AS `archive`,
+       `ucontact`.`pending` AS `pending`,
+       `ucontact`.`deleted` AS `deleted`,
+       `ucontact`.`notify_new_posts` AS `notify_new_posts`,
+       `ucontact`.`fetch_further_information` AS `fetch_further_information`,
+       `ucontact`.`ffi_keyword_denylist` AS `ffi_keyword_denylist`,
+       `ucontact`.`rating` AS `rating`,
+       `ucontact`.`readonly` AS `readonly`,
+       `ucontact`.`blocked` AS `blocked`,
+       `ucontact`.`block_reason` AS `block_reason`,
+       `ucontact`.`subhub` AS `subhub`,
+       `ucontact`.`hub-verify` AS `hub-verify`,
+       `ucontact`.`reason` AS `reason`,
+       `ucontact`.`duplex` AS `dfrn-duplex`,
+       `ucontact`.`ret-aes` AS `dfrn-ret-aes`,
+       `ucontact`.`site-pubkey` AS `dfrn-site-pubkey`,
+       `ucontact`.`issued-id` AS `dfrn-issued-id`,
+       `ucontact`.`dfrn-id` AS `dfrn-id`,
+       `ucontact`.`aes_allow` AS `dfrn-aes_allow`,
+       `contact`.`request` AS `dfrn-request`,
+       `contact`.`notify` AS `dfrn-notify`,
+       `contact`.`poll` AS `dfrn-poll`,
+       `contact`.`confirm` AS `dfrn-confirm`,
+       `fcontact`.`guid` AS `diaspora-guid`,
+       `fcontact`.`batch` AS `diaspora-batch`,
+       `fcontact`.`notify` AS `diaspora-notify`,
+       `fcontact`.`poll` AS `diaspora-poll`,
+       `fcontact`.`alias` AS `diaspora-alias`,
+       `apcontact`.`uuid` AS `ap-uuid`,
+       `apcontact`.`type` AS `ap-type`,
+       `apcontact`.`following` AS `ap-following`,
+       `apcontact`.`followers` AS `ap-followers`,
+       `apcontact`.`inbox` AS `ap-inbox`,
+       `apcontact`.`outbox` AS `ap-outbox`,
+       `apcontact`.`sharedinbox` AS `ap-sharedinbox`,
+       `apcontact`.`generator` AS `ap-generator`,
+       `apcontact`.`following_count` AS `ap-following_count`,
+       `apcontact`.`followers_count` AS `ap-followers_count`,
+       `apcontact`.`statuses_count` AS `ap-statuses_count`
+       FROM `contact` AS `ucontact`
+                       INNER JOIN `contact` ON `contact`.`uri-id` = `ucontact`.`uri-id` AND `contact`.`uid` = 0
+                       LEFT JOIN `apcontact` ON `apcontact`.`uri-id` = `ucontact`.`uri-id`
+                       LEFT JOIN `fcontact` ON `fcontact`.`uri-id` = `ucontact`.`uri-id` AND `fcontact`.`network` = 'dspr';
+
 --
 -- VIEW pending-view
 --
index 7eec39a9848653711664745aca3df3d3750934ef..66bed073d9d3c02c4b0a201c2dc9facedd11ca37 100644 (file)
@@ -55,7 +55,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1427);
+       define('DB_UPDATE_VERSION', 1428);
 }
 
 return [
index f4ff02a268488b1652d8e84ed6573d44e67fd308..18cdc16e8762cad9eb304fcd23292fac9c469646 100644 (file)
                        INNER JOIN `contact` ON `contact`.`uid` = `user`.`uid` AND `contact`.`self`
                        INNER JOIN `profile` ON `profile`.`uid` = `user`.`uid`"
        ],
+       "account-view" => [
+               "fields" => [
+                       "id" => ["contact", "id"],
+                       "url" => ["contact", "url"],
+                       "nurl" => ["contact", "nurl"],
+                       "uri-id" => ["contact", "uri-id"],
+                       "addr" => ["contact", "addr"],
+                       "alias" => ["contact", "alias"],
+                       "name" => ["contact", "name"],
+                       "nick" => ["contact", "nick"],
+                       "about" => ["contact", "about"],
+                       "keywords" => ["contact", "keywords"],
+                       "xmpp" => ["contact", "xmpp"],
+                       "avatar" => ["contact", "avatar"],
+                       "photo" => ["contact", "photo"],
+                       "thumb" => ["contact", "thumb"],
+                       "micro" => ["contact", "micro"],
+                       "header" => ["contact", "header"],
+                       "created" => ["contact", "created"],
+                       "updated" => ["contact", "updated"],
+                       "network" => ["contact", "network"],
+                       "protocol" => ["contact", "protocol"],
+                       "location" => ["contact", "location"],
+                       "attag" => ["contact", "attag"],
+                       "pubkey" => ["contact", "pubkey"],
+                       "prvkey" => ["contact", "prvkey"],
+                       "subscribe" => ["contact", "subscribe"],
+                       "last-update" => ["contact", "last-update"],
+                       "success_update" => ["contact", "success_update"],
+                       "failure_update" => ["contact", "failure_update"],
+                       "failed" => ["contact", "failed"],
+                       "last-item" => ["contact", "last-item"],
+                       "last-discovery" => ["contact", "last-discovery"],
+                       "contact-type" => ["contact", "contact-type"],
+                       "manually-approve" => ["contact", "manually-approve"],
+                       "unsearchable" => ["contact", "unsearchable"],
+                       "sensitive" => ["contact", "sensitive"],
+                       "baseurl" => ["contact", "baseurl"],
+                       "gsid" => ["contact", "gsid"],
+                       "info" => ["contact", "info"],
+                       "bdyear" => ["contact", "bdyear"],
+                       "bd" => ["contact", "bd"],
+                       "poco" => ["contact", "poco"],
+                       "name-date" => ["contact", "name-date"],
+                       "uri-date" => ["contact", "uri-date"],
+                       "avatar-date" => ["contact", "avatar-date"],
+                       "term-date" => ["contact", "term-date"],
+                       "global-ignored" => ["contact", "hidden"],
+                       "global-blocked" => ["contact", "blocked"],
+                       "hidden" => ["contact", "hidden"],
+                       "archive" => ["contact", "archive"],
+                       "deleted" => ["contact", "deleted"],
+                       "blocked" => ["contact", "blocked"],
+                       "dfrn-request" => ["contact", "request"],
+                       "dfrn-notify" => ["contact", "notify"],
+                       "dfrn-poll" => ["contact", "poll"],
+                       "dfrn-confirm" => ["contact", "confirm"],
+                       "diaspora-guid" => ["fcontact", "guid"],
+                       "diaspora-batch" => ["fcontact", "batch"],
+                       "diaspora-notify" => ["fcontact", "notify"],
+                       "diaspora-poll" => ["fcontact", "poll"],
+                       "diaspora-alias" => ["fcontact", "alias"],
+                       "ap-uuid" => ["apcontact", "uuid"],
+                       "ap-type" => ["apcontact", "type"],
+                       "ap-following" => ["apcontact", "following"],
+                       "ap-followers" => ["apcontact", "followers"],
+                       "ap-inbox" => ["apcontact", "inbox"],
+                       "ap-outbox" => ["apcontact", "outbox"],
+                       "ap-sharedinbox" => ["apcontact", "sharedinbox"],
+                       "ap-generator" => ["apcontact", "generator"],
+                       "ap-following_count" => ["apcontact", "following_count"],
+                       "ap-followers_count" => ["apcontact", "followers_count"],
+                       "ap-statuses_count" => ["apcontact", "statuses_count"],
+               ],
+               "query" => "FROM `contact`
+                       LEFT JOIN `apcontact` ON `apcontact`.`uri-id` = `contact`.`uri-id`
+                       LEFT JOIN `fcontact` ON `fcontact`.`uri-id` = contact.`uri-id`
+                       WHERE `contact`.`uid` = 0"                      
+       ],
+       "account-user-view" => [
+               "fields" => [
+                       "id" => ["ucontact", "id"],
+                       "uid" => ["ucontact", "uid"],
+                       "url" => ["contact", "url"],
+                       "nurl" => ["contact", "nurl"],
+                       "uri-id" => ["contact", "uri-id"],
+                       "addr" => ["contact", "addr"],
+                       "alias" => ["contact", "alias"],
+                       "name" => ["contact", "name"],
+                       "nick" => ["contact", "nick"],
+                       "about" => ["contact", "about"],
+                       "keywords" => ["contact", "keywords"],
+                       "xmpp" => ["contact", "xmpp"],
+                       "avatar" => ["contact", "avatar"],
+                       "photo" => ["contact", "photo"],
+                       "thumb" => ["contact", "thumb"],
+                       "micro" => ["contact", "micro"],
+                       "header" => ["contact", "header"],
+                       "created" => ["contact", "created"],
+                       "updated" => ["contact", "updated"],
+                       "self" => ["ucontact", "self"],
+                       "remote_self" => ["ucontact", "remote_self"],
+                       "rel" =>  ["ucontact", "rel"],
+                       "network" => ["contact", "network"],
+                       "protocol" => ["ucontact", "protocol"],
+                       "location" => ["contact", "location"],
+                       "attag" => ["contact", "attag"],
+                       "pubkey" => ["contact", "pubkey"],
+                       "prvkey" => ["contact", "prvkey"],
+                       "subscribe" => ["contact", "subscribe"],
+                       "last-update" => ["contact", "last-update"],
+                       "success_update" => ["contact", "success_update"],
+                       "failure_update" => ["contact", "failure_update"],
+                       "failed" => ["contact", "failed"],
+                       "last-item" => ["contact", "last-item"],
+                       "last-discovery" => ["contact", "last-discovery"],
+                       "contact-type" => ["contact", "contact-type"],
+                       "manually-approve" => ["contact", "manually-approve"],
+                       "unsearchable" => ["contact", "unsearchable"],
+                       "sensitive" => ["contact", "sensitive"],
+                       "baseurl" => ["contact", "baseurl"],
+                       "gsid" => ["contact", "gsid"],
+                       "info" => ["contact", "info"],
+                       "bdyear" => ["contact", "bdyear"],
+                       "bd" => ["contact", "bd"],
+                       "poco" => ["contact", "poco"],
+                       "name-date" => ["contact", "name-date"],
+                       "uri-date" => ["contact", "uri-date"],
+                       "avatar-date" => ["contact", "avatar-date"],
+                       "term-date" => ["contact", "term-date"],
+                       "global-ignored" => ["contact", "hidden"],
+                       "global-blocked" => ["contact", "blocked"],
+                       "hidden" => ["ucontact", "hidden"],
+                       "archive" => ["ucontact", "archive"],
+                       "pending" => ["ucontact", "pending"],
+                       "deleted" => ["ucontact", "deleted"],
+                       "notify_new_posts" => ["ucontact", "notify_new_posts"],
+                       "fetch_further_information" => ["ucontact", "fetch_further_information"],
+                       "ffi_keyword_denylist" => ["ucontact", "ffi_keyword_denylist"],
+                       "rating" => ["ucontact", "rating"],
+                       "readonly" => ["ucontact", "readonly"],
+                       "blocked" => ["ucontact", "blocked"],
+                       "block_reason" => ["ucontact", "block_reason"],
+                       "subhub" => ["ucontact", "subhub"],
+                       "hub-verify" => ["ucontact", "hub-verify"],
+                       "reason" => ["ucontact", "reason"],
+                       "dfrn-duplex" => ["ucontact", "duplex"],
+                       "dfrn-ret-aes" => ["ucontact", "ret-aes"],
+                       "dfrn-site-pubkey" => ["ucontact", "site-pubkey"],
+                       "dfrn-issued-id" => ["ucontact", "issued-id"],
+                       "dfrn-id" => ["ucontact", "dfrn-id"],
+                       "dfrn-aes_allow" => ["ucontact", "aes_allow"],
+                       "dfrn-request" => ["contact", "request"],
+                       "dfrn-notify" => ["contact", "notify"],
+                       "dfrn-poll" => ["contact", "poll"],
+                       "dfrn-confirm" => ["contact", "confirm"],
+                       "diaspora-guid" => ["fcontact", "guid"],
+                       "diaspora-batch" => ["fcontact", "batch"],
+                       "diaspora-notify" => ["fcontact", "notify"],
+                       "diaspora-poll" => ["fcontact", "poll"],
+                       "diaspora-alias" => ["fcontact", "alias"],
+                       "ap-uuid" => ["apcontact", "uuid"],
+                       "ap-type" => ["apcontact", "type"],
+                       "ap-following" => ["apcontact", "following"],
+                       "ap-followers" => ["apcontact", "followers"],
+                       "ap-inbox" => ["apcontact", "inbox"],
+                       "ap-outbox" => ["apcontact", "outbox"],
+                       "ap-sharedinbox" => ["apcontact", "sharedinbox"],
+                       "ap-generator" => ["apcontact", "generator"],
+                       "ap-following_count" => ["apcontact", "following_count"],
+                       "ap-followers_count" => ["apcontact", "followers_count"],
+                       "ap-statuses_count" => ["apcontact", "statuses_count"],
+               ],
+               "query" => "FROM `contact` AS `ucontact`
+                       INNER JOIN `contact` ON `contact`.`uri-id` = `ucontact`.`uri-id` AND `contact`.`uid` = 0
+                       LEFT JOIN `apcontact` ON `apcontact`.`uri-id` = `ucontact`.`uri-id`
+                       LEFT JOIN `fcontact` ON `fcontact`.`uri-id` = `ucontact`.`uri-id` AND `fcontact`.`network` = 'dspr'"
+       ],
        "pending-view" => [
                "fields" => [
                        "id" => ["register", "id"],