]> git.mxchange.org Git - friendica.git/blobdiff - static/dbview.config.php
Posts per author/server on the community pages (#13764)
[friendica.git] / static / dbview.config.php
index b960cfaf3d8cc280edae015df7af3b2e64b73b76..b4d10de83c426843b62aaaabcb26dd14d69b937b 100644 (file)
                "query" => "FROM `application-token`
                        INNER JOIN `application` ON `application-token`.`application-id` = `application`.`id`"
        ],
+       "circle-member-view" => [
+               "fields" => [
+                       "id" => ["group_member", "id"],
+                       "uid" => ["group", "uid"],
+                       "contact-id" => ["group_member", "contact-id"],
+                       "contact-uri-id" => ["contact", "uri-id"],
+                       "contact-link" => ["contact", "url"],
+                       "contact-addr" => ["contact", "addr"],
+                       "contact-name" => ["contact", "name"],
+                       "contact-nick" => ["contact", "nick"],
+                       "contact-avatar" => ["contact", "thumb"],
+                       "contact-network" => ["contact", "network"],
+                       "contact-blocked" => ["contact", "blocked"],
+                       "contact-hidden" => ["contact", "hidden"],
+                       "contact-readonly" => ["contact", "readonly"],
+                       "contact-archive" => ["contact", "archive"],
+                       "contact-pending" => ["contact", "pending"],
+                       "contact-self" => ["contact", "self"],
+                       "contact-rel" => ["contact", "rel"],
+                       "contact-contact-type" => ["contact", "contact-type"],
+                       "circle-id" => ["group_member", "gid"],
+                       "circle-visible" => ["group", "visible"],
+                       "circle-deleted" => ["group", "deleted"],
+                       "circle-name" => ["group", "name"],
+               ],
+               "query" => "FROM `group_member`
+                       INNER JOIN `contact` ON `group_member`.`contact-id` = `contact`.`id`
+                       INNER JOIN `group` ON `group_member`.`gid` = `group`.`id`"
+       ],
+       "post-timeline-view" => [
+               "fields" => [
+                       "uid" => ["post-user", "uid"],
+                       "uri-id" => ["post-user", "uri-id"],
+                       "gravity" => ["post-user", "gravity"],
+                       "created" => ["post-user", "created"],
+                       "edited" => ["post-user", "edited"],
+                       "commented" => ["post-thread-user", "commented"],
+                       "received" => ["post-user", "received"],
+                       "changed" => ["post-thread-user", "changed"],
+                       "private" => ["post-user", "private"],
+                       "visible" => ["post-user", "visible"],
+                       "deleted" => ["post-user", "deleted"],
+                       "origin" => ["post-user", "origin"],
+                       "global" => ["post-user", "global"],
+                       "network" => ["post-user", "network"],
+                       "protocol" => ["post-user", "protocol"],
+                       "vid" => ["post-user", "vid"],
+                       "contact-id" => ["post-user", "contact-id"],
+                       "contact-blocked" => ["contact", "blocked"],
+                       "contact-readonly" => ["contact", "readonly"],
+                       "contact-pending" => ["contact", "pending"],
+                       "contact-rel" => ["contact", "rel"],
+                       "contact-uid" => ["contact", "uid"],
+                       "self" => ["contact", "self"],
+                       "author-id" => ["post-user", "author-id"],
+                       "author-blocked" => ["author", "blocked"],
+                       "author-hidden" => ["author", "hidden"],
+                       "author-gsid" => ["author", "gsid"],
+                       "owner-id" => ["post-user", "owner-id"],
+                       "owner-blocked" => ["owner", "blocked"],
+                       "owner-gsid" => ["owner", "gsid"],
+                       "causer-id" => ["post-user", "causer-id"],
+                       "causer-blocked" => ["causer", "blocked"],
+                       "causer-gsid" => ["causer", "gsid"],
+               ],
+               "query" => "FROM `post-user`
+                       LEFT JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
+                       LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-user`.`causer-id`"
+       ],
        "post-user-view" => [
                "fields" => [
                        "id" => ["post-user", "id"],
                        "author-addr" => ["author", "addr"],
                        "author-name" => "IF (`contact`.`url` = `author`.`url` AND `contact`.`name` != '', `contact`.`name`, `author`.`name`)",
                        "author-nick" => ["author", "nick"],
+                       "author-alias" => ["author", "alias"],
                        "author-avatar" => "IF (`contact`.`url` = `author`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `author`.`thumb`)",
                        "author-network" => ["author", "network"],
                        "author-blocked" => ["author", "blocked"],
                        "author-hidden" => ["author", "hidden"],
                        "author-updated" => ["author", "updated"],
+                       "author-contact-type" => ["author", "contact-type"],
                        "author-gsid" => ["author", "gsid"],
+                       "author-baseurl" => ["author", "baseurl"],
                        "owner-id" => ["post-user", "owner-id"],
                        "owner-uri-id" => ["owner", "uri-id"],
                        "owner-link" => ["owner", "url"],
                        "owner-addr" => ["owner", "addr"],
                        "owner-name" => "IF (`contact`.`url` = `owner`.`url` AND `contact`.`name` != '', `contact`.`name`, `owner`.`name`)",
                        "owner-nick" => ["owner", "nick"],
+                       "owner-alias" => ["owner", "alias"],
                        "owner-avatar" => "IF (`contact`.`url` = `owner`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `owner`.`thumb`)",
                        "owner-network" => ["owner", "network"],
                        "owner-blocked" => ["owner", "blocked"],
                        "owner-hidden" => ["owner", "hidden"],
                        "owner-updated" => ["owner", "updated"],
+                       "owner-gsid" => ["owner", "gsid"],
                        "owner-contact-type" => ["owner", "contact-type"],
                        "causer-id" => ["post-user", "causer-id"],
                        "causer-uri-id" => ["causer", "uri-id"],
                        "causer-addr" => ["causer", "addr"],
                        "causer-name" => ["causer", "name"],
                        "causer-nick" => ["causer", "nick"],
+                       "causer-alias" => ["causer", "alias"],
                        "causer-avatar" => ["causer", "thumb"],
                        "causer-network" => ["causer", "network"],
                        "causer-blocked" => ["causer", "blocked"],
                        "causer-hidden" => ["causer", "hidden"],
+                       "causer-gsid" => ["causer", "gsid"],
                        "causer-contact-type" => ["causer", "contact-type"],
                        "postopts" => ["post-delivery-data", "postopts"],
                        "inform" => ["post-delivery-data", "inform"],
                        "contact-pending" => ["contact", "pending"],
                        "contact-rel" => ["contact", "rel"],
                        "contact-uid" => ["contact", "uid"],
+                       "contact-gsid" => ["contact", "gsid"],
                        "contact-contact-type" => ["contact", "contact-type"],
                        "writable" => "IF (`post-user`.`network` IN ('apub', 'dfrn', 'dspr', 'stat'), true, `contact`.`writable`)",
                        "self" => ["contact", "self"],
                        "author-addr" => ["author", "addr"],
                        "author-name" => "IF (`contact`.`url` = `author`.`url` AND `contact`.`name` != '', `contact`.`name`, `author`.`name`)",
                        "author-nick" => ["author", "nick"],
+                       "author-alias" => ["author", "alias"],
                        "author-avatar" => "IF (`contact`.`url` = `author`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `author`.`thumb`)",
                        "author-network" => ["author", "network"],
                        "author-blocked" => ["author", "blocked"],
                        "author-hidden" => ["author", "hidden"],
                        "author-updated" => ["author", "updated"],
+                       "author-contact-type" => ["author", "contact-type"],
                        "author-gsid" => ["author", "gsid"],
                        "owner-id" => ["post-thread-user", "owner-id"],
                        "owner-uri-id" => ["owner", "uri-id"],
                        "owner-addr" => ["owner", "addr"],
                        "owner-name" => "IF (`contact`.`url` = `owner`.`url` AND `contact`.`name` != '', `contact`.`name`, `owner`.`name`)",
                        "owner-nick" => ["owner", "nick"],
+                       "owner-alias" => ["owner", "alias"],
                        "owner-avatar" => "IF (`contact`.`url` = `owner`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `owner`.`thumb`)",
                        "owner-network" => ["owner", "network"],
                        "owner-blocked" => ["owner", "blocked"],
                        "owner-hidden" => ["owner", "hidden"],
                        "owner-updated" => ["owner", "updated"],
+                       "owner-gsid" => ["owner", "gsid"],
                        "owner-contact-type" => ["owner", "contact-type"],
                        "causer-id" => ["post-thread-user", "causer-id"],
                        "causer-uri-id" => ["causer", "uri-id"],
                        "causer-addr" => ["causer", "addr"],
                        "causer-name" => ["causer", "name"],
                        "causer-nick" => ["causer", "nick"],
+                       "causer-alias" => ["causer", "alias"],
                        "causer-avatar" => ["causer", "thumb"],
                        "causer-network" => ["causer", "network"],
                        "causer-blocked" => ["causer", "blocked"],
                        "causer-hidden" => ["causer", "hidden"],
+                       "causer-gsid" => ["causer", "gsid"],
                        "causer-contact-type" => ["causer", "contact-type"],
                        "postopts" => ["post-delivery-data", "postopts"],
                        "inform" => ["post-delivery-data", "inform"],
                        "author-addr" => ["author", "addr"],
                        "author-name" => ["author", "name"],
                        "author-nick" => ["author", "nick"],
+                       "author-alias" => ["author", "alias"],
                        "author-avatar" => ["author", "thumb"],
                        "author-network" => ["author", "network"],
                        "author-blocked" => ["author", "blocked"],
                        "author-hidden" => ["author", "hidden"],
                        "author-updated" => ["author", "updated"],
+                       "author-contact-type" => ["author", "contact-type"],
                        "author-gsid" => ["author", "gsid"],
                        "owner-id" => ["post", "owner-id"],
                        "owner-uri-id" => ["owner", "uri-id"],
                        "owner-addr" => ["owner", "addr"],
                        "owner-name" => ["owner", "name"],
                        "owner-nick" => ["owner", "nick"],
+                       "owner-alias" => ["owner", "alias"],
                        "owner-avatar" => ["owner", "thumb"],
                        "owner-network" => ["owner", "network"],
                        "owner-blocked" => ["owner", "blocked"],
                        "owner-hidden" => ["owner", "hidden"],
                        "owner-updated" => ["owner", "updated"],
                        "owner-contact-type" => ["owner", "contact-type"],
+                       "owner-gsid" => ["owner", "gsid"],
                        "causer-id" => ["post", "causer-id"],
                        "causer-uri-id" => ["causer", "uri-id"],
                        "causer-link" => ["causer", "url"],
                        "causer-addr" => ["causer", "addr"],
                        "causer-name" => ["causer", "name"],
                        "causer-nick" => ["causer", "nick"],
+                       "causer-alias" => ["causer", "alias"],
                        "causer-avatar" => ["causer", "thumb"],
                        "causer-network" => ["causer", "network"],
                        "causer-blocked" => ["causer", "blocked"],
                        "causer-hidden" => ["causer", "hidden"],
                        "causer-contact-type" => ["causer", "contact-type"],
+                       "causer-gsid" => ["causer", "gsid"],
                        "question-id" => ["post-question", "id"],
                        "question-multiple" => ["post-question", "multiple"],
                        "question-voters" => ["post-question", "voters"],
                        "author-addr" => ["author", "addr"],
                        "author-name" => ["author", "name"],
                        "author-nick" => ["author", "nick"],
+                       "author-alias" => ["author", "alias"],
                        "author-avatar" => ["author", "thumb"],
                        "author-network" => ["author", "network"],
                        "author-blocked" => ["author", "blocked"],
                        "author-hidden" => ["author", "hidden"],
                        "author-updated" => ["author", "updated"],
+                       "author-contact-type" => ["author", "contact-type"],
                        "author-gsid" => ["author", "gsid"],
                        "owner-id" => ["post-thread", "owner-id"],
                        "owner-uri-id" => ["owner", "uri-id"],
                        "owner-addr" => ["owner", "addr"],
                        "owner-name" => ["owner", "name"],
                        "owner-nick" => ["owner", "nick"],
+                       "owner-alias" => ["owner", "alias"],
                        "owner-avatar" => ["owner", "thumb"],
                        "owner-network" => ["owner", "network"],
                        "owner-blocked" => ["owner", "blocked"],
                        "owner-hidden" => ["owner", "hidden"],
                        "owner-updated" => ["owner", "updated"],
+                       "owner-gsid" => ["owner", "gsid"],
                        "owner-contact-type" => ["owner", "contact-type"],
                        "causer-id" => ["post-thread", "causer-id"],
                        "causer-uri-id" => ["causer", "uri-id"],
                        "causer-addr" => ["causer", "addr"],
                        "causer-name" => ["causer", "name"],
                        "causer-nick" => ["causer", "nick"],
+                       "causer-alias" => ["causer", "alias"],
                        "causer-avatar" => ["causer", "thumb"],
                        "causer-network" => ["causer", "network"],
                        "causer-blocked" => ["causer", "blocked"],
                        "causer-hidden" => ["causer", "hidden"],
+                       "causer-gsid" => ["causer", "gsid"],
                        "causer-contact-type" => ["causer", "contact-type"],
                        "question-id" => ["post-question", "id"],
                        "question-multiple" => ["post-question", "multiple"],
                        "contact-type" => ["ownercontact", "contact-type"],
                ],
                "query" => "FROM `post-user`
-                       INNER JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`                     
-                       INNER JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
-                       LEFT JOIN `user-contact` AS `author` ON `author`.`uid` = `post-thread-user`.`uid` AND `author`.`cid` = `post-thread-user`.`author-id`
-                       LEFT JOIN `user-contact` AS `owner` ON `owner`.`uid` = `post-thread-user`.`uid` AND `owner`.`cid` = `post-thread-user`.`owner-id`
-                       INNER JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
+                       INNER JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
                        WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
                        AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
                        AND (`post-user`.`hidden` IS NULL OR NOT `post-user`.`hidden`)
-                       AND (`author`.`blocked` IS NULL OR NOT `author`.`blocked`)
-                       AND (`owner`.`blocked` IS NULL OR NOT `owner`.`blocked`)"
+                       AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
+                       AND NOT EXISTS(SELECT `cid`    FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`))
+                       AND NOT EXISTS(SELECT `gsid`   FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`)"
        ],
        "network-thread-view" => [
                "fields" => [
                "query" => "FROM `post-thread-user`
                        INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
-                       LEFT JOIN `user-contact` AS `author` ON `author`.`uid` = `post-thread-user`.`uid` AND `author`.`cid` = `post-thread-user`.`author-id`
-                       LEFT JOIN `user-contact` AS `owner` ON `owner`.`uid` = `post-thread-user`.`uid` AND `owner`.`cid` = `post-thread-user`.`owner-id`
-                       LEFT JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
+                       STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
                        WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
                        AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
                        AND (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
-                       AND (`author`.`blocked` IS NULL OR NOT `author`.`blocked`)
-                       AND (`owner`.`blocked` IS NULL OR NOT `owner`.`blocked`)"
+                       AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
+                       AND NOT EXISTS(SELECT `cid`    FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`))
+                       AND NOT EXISTS(SELECT `gsid`   FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`)"
        ],
        "owner-view" => [
                "fields" => [