2020-04-23 08:19:44 +02:00
< ? php
/**
2023-01-01 15:36:24 +01:00
* @ copyright Copyright ( C ) 2010 - 2023 , the Friendica project
2020-04-23 08:19:44 +02:00
*
* @ license GNU AGPL version 3 or any later version
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation , either version 3 of the
* License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
* along with this program . If not , see < https :// www . gnu . org / licenses />.
*
* Main view structure configuration file .
*
* Here are described all the view Friendica needs to work .
*
* Syntax ( braces indicate optionale values ) :
* " <view name> " => [
* " fields " => [
2020-04-23 09:02:18 +02:00
* " <field name> " => [ " table " , " field " ],
2020-04-23 08:19:44 +02:00
* " <field name> " => " SQL expression " ,
* ...
* ],
* " query " => " FROM `table` INNER JOIN `other-table` ... "
* ],
* ],
*
* If you need to make any change , make sure to increment the DB_UPDATE_VERSION constant value in dbstructure . config . php .
*
*/
2021-01-15 12:46:57 +01:00
return [
2021-05-13 16:58:55 +02:00
" application-view " => [
" fields " => [
" id " => [ " application " , " id " ],
" uid " => [ " application-token " , " uid " ],
" name " => [ " application " , " name " ],
" redirect_uri " => [ " application " , " redirect_uri " ],
" website " => [ " application " , " website " ],
" client_id " => [ " application " , " client_id " ],
" client_secret " => [ " application " , " client_secret " ],
" code " => [ " application-token " , " code " ],
" access_token " => [ " application-token " , " access_token " ],
" created_at " => [ " application-token " , " created_at " ],
" scopes " => [ " application-token " , " scopes " ],
" read " => [ " application-token " , " read " ],
" write " => [ " application-token " , " write " ],
" follow " => [ " application-token " , " follow " ],
2021-05-16 09:37:11 +02:00
" push " => [ " application-token " , " push " ],
2021-05-13 16:58:55 +02:00
],
2021-05-13 17:26:17 +02:00
" query " => " FROM `application-token`
INNER JOIN `application` ON `application-token` . `application-id` = `application` . `id` "
2021-05-13 16:58:55 +02:00
],
2023-07-22 12:49:42 +02:00
" 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` "
],
2023-12-31 12:50:07 +01:00
" post-counts-view " => [
" fields " => [
" uri-id " => [ " post-counts " , " uri-id " ],
" vid " => [ " post-counts " , " vid " ],
" verb " => [ " verb " , " name " ],
" reaction " => [ " post-counts " , " reaction " ],
" parent-uri-id " => [ " post-counts " , " parent-uri-id " ],
" count " => [ " post-counts " , " count " ],
],
" query " => " FROM `post-counts`
INNER JOIN `verb` ON `verb` . `id` = `post-counts` . `vid` "
],
2023-10-18 10:11:36 +02:00
" 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` "
],
2021-02-22 20:47:08 +01:00
" post-user-view " => [
2020-05-04 16:33:41 +02:00
" fields " => [
2021-02-14 19:33:15 +01:00
" id " => [ " post-user " , " id " ],
2021-01-28 23:45:54 +01:00
" post-user-id " => [ " post-user " , " id " ],
2021-02-13 20:56:03 +01:00
" uid " => [ " post-user " , " uid " ],
2023-05-29 00:04:02 +02:00
" parent " => [ " post-thread-user " , " post-user-id " ],
2021-02-13 20:56:03 +01:00
" uri " => [ " item-uri " , " uri " ],
" uri-id " => [ " post-user " , " uri-id " ],
" parent-uri " => [ " parent-item-uri " , " uri " ],
" parent-uri-id " => [ " post-user " , " parent-uri-id " ],
" thr-parent " => [ " thr-parent-item-uri " , " uri " ],
" thr-parent-id " => [ " post-user " , " thr-parent-id " ],
2022-07-23 08:52:43 +02:00
" conversation " => [ " conversation-item-uri " , " uri " ],
" conversation-id " => [ " post-thread-user " , " conversation-id " ],
2022-10-11 00:39:30 +02:00
" quote-uri " => [ " quote-item-uri " , " uri " ],
" quote-uri-id " => [ " post-content " , " quote-uri-id " ],
2021-02-13 20:56:03 +01:00
" guid " => [ " item-uri " , " guid " ],
" wall " => [ " post-user " , " wall " ],
" gravity " => [ " post-user " , " gravity " ],
2021-02-14 10:43:27 +01:00
" extid " => [ " external-item-uri " , " uri " ],
" external-id " => [ " post-user " , " external-id " ],
2021-02-13 20:56:03 +01:00
" created " => [ " post-user " , " created " ],
" edited " => [ " post-user " , " edited " ],
" commented " => [ " post-thread-user " , " commented " ],
" received " => [ " post-user " , " received " ],
" changed " => [ " post-thread-user " , " changed " ],
" post-type " => [ " post-user " , " post-type " ],
2021-04-07 08:02:06 +02:00
" post-reason " => [ " post-user " , " post-reason " ],
2021-02-13 20:56:03 +01:00
" private " => [ " post-user " , " private " ],
" pubmail " => [ " post-thread-user " , " pubmail " ],
" visible " => [ " post-user " , " visible " ],
" starred " => [ " post-thread-user " , " starred " ],
" unseen " => [ " post-user " , " unseen " ],
" deleted " => [ " post-user " , " deleted " ],
" origin " => [ " post-user " , " origin " ],
2021-02-17 19:59:19 +01:00
" parent-origin " => [ " post-thread-user " , " origin " ],
2021-02-13 20:56:03 +01:00
" mention " => [ " post-thread-user " , " mention " ],
" global " => [ " post-user " , " global " ],
2022-04-06 15:34:11 +02:00
" featured " => " EXISTS(SELECT `type` FROM `post-collection` WHERE `type` = 0 AND `uri-id` = `post-user`.`uri-id`) " ,
2021-02-13 20:56:03 +01:00
" network " => [ " post-user " , " network " ],
2022-07-31 17:54:35 +02:00
" protocol " => [ " post-user " , " protocol " ],
2021-02-13 20:56:03 +01:00
" vid " => [ " post-user " , " vid " ],
" psid " => [ " post-user " , " psid " ],
" verb " => " IF (`post-user`.`vid` IS NULL, '', `verb`.`name`) " ,
2021-01-30 23:03:53 +01:00
" title " => [ " post-content " , " title " ],
" content-warning " => [ " post-content " , " content-warning " ],
" raw-body " => [ " post-content " , " raw-body " ],
2022-01-29 08:45:12 +01:00
" body " => " IFNULL (`post-content`.`body`, '') " ,
2021-01-30 23:03:53 +01:00
" rendered-hash " => [ " post-content " , " rendered-hash " ],
" rendered-html " => [ " post-content " , " rendered-html " ],
" language " => [ " post-content " , " language " ],
" plink " => [ " post-content " , " plink " ],
" location " => [ " post-content " , " location " ],
" coord " => [ " post-content " , " coord " ],
" app " => [ " post-content " , " app " ],
" object-type " => [ " post-content " , " object-type " ],
" object " => [ " post-content " , " object " ],
" target-type " => [ " post-content " , " target-type " ],
" target " => [ " post-content " , " target " ],
" resource-id " => [ " post-content " , " resource-id " ],
2021-02-13 20:56:03 +01:00
" contact-id " => [ " post-user " , " contact-id " ],
2022-06-10 20:49:03 +02:00
" contact-uri-id " => [ " contact " , " uri-id " ],
2021-01-14 22:32:59 +01:00
" contact-link " => [ " contact " , " url " ],
" contact-addr " => [ " contact " , " addr " ],
" contact-name " => [ " contact " , " name " ],
" contact-nick " => [ " contact " , " nick " ],
" contact-avatar " => [ " contact " , " thumb " ],
" contact-network " => [ " contact " , " network " ],
2021-01-15 12:31:24 +01:00
" contact-blocked " => [ " contact " , " blocked " ],
2021-01-17 21:32:13 +01:00
" contact-hidden " => [ " contact " , " hidden " ],
2021-01-15 12:46:57 +01:00
" contact-readonly " => [ " contact " , " readonly " ],
2021-01-17 21:32:13 +01:00
" contact-archive " => [ " contact " , " archive " ],
2021-01-15 12:46:57 +01:00
" contact-pending " => [ " contact " , " pending " ],
" contact-rel " => [ " contact " , " rel " ],
2021-01-14 22:32:59 +01:00
" contact-uid " => [ " contact " , " uid " ],
2021-01-17 21:32:13 +01:00
" contact-contact-type " => [ " contact " , " contact-type " ],
2021-02-13 20:56:03 +01:00
" writable " => " IF (`post-user`.`network` IN ('apub', 'dfrn', 'dspr', 'stat'), true, `contact`.`writable`) " ,
2021-01-14 22:32:59 +01:00
" self " => [ " contact " , " self " ],
" cid " => [ " contact " , " id " ],
" alias " => [ " contact " , " alias " ],
" photo " => [ " contact " , " photo " ],
" name-date " => [ " contact " , " name-date " ],
" uri-date " => [ " contact " , " uri-date " ],
" avatar-date " => [ " contact " , " avatar-date " ],
" thumb " => [ " contact " , " thumb " ],
2021-02-13 20:56:03 +01:00
" author-id " => [ " post-user " , " author-id " ],
2022-06-10 20:49:03 +02:00
" author-uri-id " => [ " author " , " uri-id " ],
2021-01-13 08:23:57 +01:00
" author-link " => [ " author " , " url " ],
" author-addr " => [ " author " , " addr " ],
2021-01-19 08:23:01 +01:00
" author-name " => " IF (`contact`.`url` = `author`.`url` AND `contact`.`name` != '', `contact`.`name`, `author`.`name`) " ,
2021-01-13 08:23:57 +01:00
" author-nick " => [ " author " , " nick " ],
2023-06-18 18:49:38 +02:00
" author-alias " => [ " author " , " alias " ],
2021-01-19 08:23:01 +01:00
" author-avatar " => " IF (`contact`.`url` = `author`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `author`.`thumb`) " ,
2021-01-13 08:23:57 +01:00
" author-network " => [ " author " , " network " ],
2021-01-15 12:31:24 +01:00
" author-blocked " => [ " author " , " blocked " ],
2021-01-16 23:37:27 +01:00
" author-hidden " => [ " author " , " hidden " ],
2022-04-29 09:30:13 +02:00
" author-updated " => [ " author " , " updated " ],
2023-09-22 12:28:00 +02:00
" author-contact-type " => [ " author " , " contact-type " ],
2022-04-29 09:47:24 +02:00
" author-gsid " => [ " author " , " gsid " ],
2023-08-24 13:48:35 +02:00
" author-baseurl " => [ " author " , " baseurl " ],
2021-02-13 20:56:03 +01:00
" owner-id " => [ " post-user " , " owner-id " ],
2022-06-10 20:49:03 +02:00
" owner-uri-id " => [ " owner " , " uri-id " ],
2021-01-13 08:23:57 +01:00
" owner-link " => [ " owner " , " url " ],
" owner-addr " => [ " owner " , " addr " ],
2021-01-19 08:23:01 +01:00
" owner-name " => " IF (`contact`.`url` = `owner`.`url` AND `contact`.`name` != '', `contact`.`name`, `owner`.`name`) " ,
2021-01-13 08:23:57 +01:00
" owner-nick " => [ " owner " , " nick " ],
2023-06-18 18:49:38 +02:00
" owner-alias " => [ " owner " , " alias " ],
2021-01-19 08:23:01 +01:00
" owner-avatar " => " IF (`contact`.`url` = `owner`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `owner`.`thumb`) " ,
2020-05-06 17:19:06 +02:00
" owner-network " => [ " owner " , " network " ],
2021-01-15 12:31:24 +01:00
" owner-blocked " => [ " owner " , " blocked " ],
2021-01-16 23:37:27 +01:00
" owner-hidden " => [ " owner " , " hidden " ],
2022-04-29 09:30:13 +02:00
" owner-updated " => [ " owner " , " updated " ],
2023-07-18 03:29:45 +02:00
" owner-gsid " => [ " owner " , " gsid " ],
2021-02-20 21:07:25 +01:00
" owner-contact-type " => [ " owner " , " contact-type " ],
2021-02-13 20:56:03 +01:00
" causer-id " => [ " post-user " , " causer-id " ],
2022-06-10 20:49:03 +02:00
" causer-uri-id " => [ " causer " , " uri-id " ],
2021-01-13 08:23:57 +01:00
" causer-link " => [ " causer " , " url " ],
" causer-addr " => [ " causer " , " addr " ],
" causer-name " => [ " causer " , " name " ],
2021-02-21 06:28:27 +01:00
" causer-nick " => [ " causer " , " nick " ],
2023-06-23 23:27:34 +02:00
" causer-alias " => [ " causer " , " alias " ],
2021-01-13 08:23:57 +01:00
" causer-avatar " => [ " causer " , " thumb " ],
" causer-network " => [ " causer " , " network " ],
2021-01-15 12:31:24 +01:00
" causer-blocked " => [ " causer " , " blocked " ],
2021-01-16 23:37:27 +01:00
" causer-hidden " => [ " causer " , " hidden " ],
2023-07-18 03:29:45 +02:00
" causer-gsid " => [ " causer " , " gsid " ],
2021-01-13 08:23:57 +01:00
" causer-contact-type " => [ " causer " , " contact-type " ],
2021-01-14 22:32:59 +01:00
" postopts " => [ " post-delivery-data " , " postopts " ],
" inform " => [ " post-delivery-data " , " inform " ],
" delivery_queue_count " => [ " post-delivery-data " , " queue_count " ],
" delivery_queue_done " => [ " post-delivery-data " , " queue_done " ],
" delivery_queue_failed " => [ " post-delivery-data " , " queue_failed " ],
2021-02-13 20:56:03 +01:00
" allow_cid " => " IF (`post-user`.`psid` IS NULL, '', `permissionset`.`allow_cid`) " ,
" allow_gid " => " IF (`post-user`.`psid` IS NULL, '', `permissionset`.`allow_gid`) " ,
" deny_cid " => " IF (`post-user`.`psid` IS NULL, '', `permissionset`.`deny_cid`) " ,
" deny_gid " => " IF (`post-user`.`psid` IS NULL, '', `permissionset`.`deny_gid`) " ,
" event-id " => [ " post-user " , " event-id " ],
2021-01-14 15:45:40 +01:00
" event-created " => [ " event " , " created " ],
" event-edited " => [ " event " , " edited " ],
" event-start " => [ " event " , " start " ],
" event-finish " => [ " event " , " finish " ],
" event-summary " => [ " event " , " summary " ],
" event-desc " => [ " event " , " desc " ],
" event-location " => [ " event " , " location " ],
" event-type " => [ " event " , " type " ],
" event-nofinish " => [ " event " , " nofinish " ],
" event-ignore " => [ " event " , " ignore " ],
2022-04-20 08:28:02 +02:00
" question-id " => [ " post-question " , " id " ],
" question-multiple " => [ " post-question " , " multiple " ],
" question-voters " => [ " post-question " , " voters " ],
" question-end-time " => [ " post-question " , " end-time " ],
2022-05-16 19:06:58 +02:00
" has-categories " => " EXISTS(SELECT `uri-id` FROM `post-category` WHERE `post-category`.`uri-id` = `post-user`.`uri-id` AND `post-category`.`uid` = `post-user`.`uid`) " ,
" has-media " => " EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post-user`.`uri-id`) " ,
2021-01-14 15:45:40 +01:00
" signed_text " => [ " diaspora-interaction " , " interaction " ],
2021-02-13 20:56:03 +01:00
" parent-guid " => [ " parent-item-uri " , " guid " ],
2023-05-29 00:04:02 +02:00
" parent-network " => [ " post-thread-user " , " network " ],
" parent-author-id " => [ " post-thread-user " , " author-id " ],
2021-02-21 06:28:27 +01:00
" parent-author-link " => [ " parent-post-author " , " url " ],
2021-02-13 20:56:03 +01:00
" parent-author-name " => [ " parent-post-author " , " name " ],
2021-11-22 08:28:02 +01:00
" parent-author-nick " => [ " parent-post-author " , " nick " ],
2021-02-21 06:28:27 +01:00
" parent-author-network " => [ " parent-post-author " , " network " ],
2020-05-04 16:33:41 +02:00
],
2021-02-13 20:56:03 +01:00
" query " => " FROM `post-user`
2023-05-29 08:41:07 +02:00
INNER JOIN `post-thread-user` ON `post-thread-user` . `uri-id` = `post-user` . `parent-uri-id` AND `post-thread-user` . `uid` = `post-user` . `uid`
2021-02-21 06:28:27 +01:00
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`
2021-02-19 07:30:38 +01:00
LEFT JOIN `contact` AS `causer` ON `causer` . `id` = `post-user` . `causer-id`
LEFT JOIN `item-uri` ON `item-uri` . `id` = `post-user` . `uri-id`
LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri` . `id` = `post-user` . `thr-parent-id`
LEFT JOIN `item-uri` AS `parent-item-uri` ON `parent-item-uri` . `id` = `post-user` . `parent-uri-id`
2022-07-23 08:52:43 +02:00
LEFT JOIN `item-uri` AS `conversation-item-uri` ON `conversation-item-uri` . `id` = `post-thread-user` . `conversation-id`
2021-02-14 10:43:27 +01:00
LEFT JOIN `item-uri` AS `external-item-uri` ON `external-item-uri` . `id` = `post-user` . `external-id`
2021-02-19 07:30:38 +01:00
LEFT JOIN `verb` ON `verb` . `id` = `post-user` . `vid`
2021-02-13 20:56:03 +01:00
LEFT JOIN `event` ON `event` . `id` = `post-user` . `event-id`
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction` . `uri-id` = `post-user` . `uri-id`
LEFT JOIN `post-content` ON `post-content` . `uri-id` = `post-user` . `uri-id`
2022-10-11 00:39:30 +02:00
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri` . `id` = `post-content` . `quote-uri-id`
2021-02-14 10:43:27 +01:00
LEFT JOIN `post-delivery-data` ON `post-delivery-data` . `uri-id` = `post-user` . `uri-id` AND `post-user` . `origin`
2022-04-20 08:28:02 +02:00
LEFT JOIN `post-question` ON `post-question` . `uri-id` = `post-user` . `uri-id`
2021-02-13 20:56:03 +01:00
LEFT JOIN `permissionset` ON `permissionset` . `id` = `post-user` . `psid`
2023-05-29 00:04:02 +02:00
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author` . `id` = `post-thread-user` . `author-id` "
2021-01-18 08:10:04 +01:00
],
2021-02-22 20:47:08 +01:00
" post-thread-user-view " => [
2021-01-18 08:10:04 +01:00
" fields " => [
2021-02-14 19:33:15 +01:00
" id " => [ " post-user " , " id " ],
2021-02-14 10:43:27 +01:00
" post-user-id " => [ " post-user " , " id " ],
2021-02-04 06:51:25 +01:00
" uid " => [ " post-thread-user " , " uid " ],
2023-05-29 00:04:02 +02:00
" parent " => [ " post-thread-user " , " post-user-id " ],
2021-02-13 20:56:03 +01:00
" uri " => [ " item-uri " , " uri " ],
" uri-id " => [ " post-thread-user " , " uri-id " ],
" parent-uri " => [ " parent-item-uri " , " uri " ],
" parent-uri-id " => [ " post-user " , " parent-uri-id " ],
" thr-parent " => [ " thr-parent-item-uri " , " uri " ],
" thr-parent-id " => [ " post-user " , " thr-parent-id " ],
2022-07-23 08:52:43 +02:00
" conversation " => [ " conversation-item-uri " , " uri " ],
" conversation-id " => [ " post-thread-user " , " conversation-id " ],
2022-10-11 00:39:30 +02:00
" quote-uri " => [ " quote-item-uri " , " uri " ],
" quote-uri-id " => [ " post-content " , " quote-uri-id " ],
2021-02-13 20:56:03 +01:00
" guid " => [ " item-uri " , " guid " ],
2021-02-04 06:51:25 +01:00
" wall " => [ " post-thread-user " , " wall " ],
2021-02-13 20:56:03 +01:00
" gravity " => [ " post-user " , " gravity " ],
2021-02-14 10:43:27 +01:00
" extid " => [ " external-item-uri " , " uri " ],
" external-id " => [ " post-user " , " external-id " ],
2021-02-13 20:56:03 +01:00
" created " => [ " post-thread-user " , " created " ],
" edited " => [ " post-user " , " edited " ],
" commented " => [ " post-thread-user " , " commented " ],
" received " => [ " post-thread-user " , " received " ],
" changed " => [ " post-thread-user " , " changed " ],
" post-type " => [ " post-user " , " post-type " ],
2021-04-07 08:02:06 +02:00
" post-reason " => [ " post-user " , " post-reason " ],
2021-02-13 20:56:03 +01:00
" private " => [ " post-user " , " private " ],
2021-02-04 06:51:25 +01:00
" pubmail " => [ " post-thread-user " , " pubmail " ],
" ignored " => [ " post-thread-user " , " ignored " ],
2021-02-13 20:56:03 +01:00
" visible " => [ " post-user " , " visible " ],
2021-02-04 06:51:25 +01:00
" starred " => [ " post-thread-user " , " starred " ],
2021-02-09 17:35:01 +01:00
" unseen " => [ " post-thread-user " , " unseen " ],
2021-02-13 20:56:03 +01:00
" deleted " => [ " post-user " , " deleted " ],
2021-02-09 17:35:01 +01:00
" origin " => [ " post-thread-user " , " origin " ],
2021-02-13 20:56:03 +01:00
" mention " => [ " post-thread-user " , " mention " ],
" global " => [ " post-user " , " global " ],
2022-04-06 15:34:11 +02:00
" featured " => " EXISTS(SELECT `type` FROM `post-collection` WHERE `type` = 0 AND `uri-id` = `post-thread-user`.`uri-id`) " ,
2021-02-13 20:56:03 +01:00
" network " => [ " post-thread-user " , " network " ],
" vid " => [ " post-user " , " vid " ],
2021-02-09 17:35:01 +01:00
" psid " => [ " post-thread-user " , " psid " ],
2021-02-13 20:56:03 +01:00
" verb " => " IF (`post-user`.`vid` IS NULL, '', `verb`.`name`) " ,
2021-01-30 23:03:53 +01:00
" title " => [ " post-content " , " title " ],
" content-warning " => [ " post-content " , " content-warning " ],
" raw-body " => [ " post-content " , " raw-body " ],
" body " => [ " post-content " , " body " ],
" rendered-hash " => [ " post-content " , " rendered-hash " ],
" rendered-html " => [ " post-content " , " rendered-html " ],
" language " => [ " post-content " , " language " ],
" plink " => [ " post-content " , " plink " ],
" location " => [ " post-content " , " location " ],
" coord " => [ " post-content " , " coord " ],
" app " => [ " post-content " , " app " ],
" object-type " => [ " post-content " , " object-type " ],
" object " => [ " post-content " , " object " ],
" target-type " => [ " post-content " , " target-type " ],
" target " => [ " post-content " , " target " ],
" resource-id " => [ " post-content " , " resource-id " ],
2021-02-09 17:35:01 +01:00
" contact-id " => [ " post-thread-user " , " contact-id " ],
2022-06-10 20:49:03 +02:00
" contact-uri-id " => [ " contact " , " uri-id " ],
2021-01-18 08:10:04 +01:00
" 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-rel " => [ " contact " , " rel " ],
" contact-uid " => [ " contact " , " uid " ],
2023-07-18 03:29:45 +02:00
" contact-gsid " => [ " contact " , " gsid " ],
2021-01-18 08:10:04 +01:00
" contact-contact-type " => [ " contact " , " contact-type " ],
2021-02-13 20:56:03 +01:00
" writable " => " IF (`post-user`.`network` IN ('apub', 'dfrn', 'dspr', 'stat'), true, `contact`.`writable`) " ,
2021-01-18 08:10:04 +01:00
" self " => [ " contact " , " self " ],
" cid " => [ " contact " , " id " ],
" alias " => [ " contact " , " alias " ],
" photo " => [ " contact " , " photo " ],
" name-date " => [ " contact " , " name-date " ],
" uri-date " => [ " contact " , " uri-date " ],
" avatar-date " => [ " contact " , " avatar-date " ],
" thumb " => [ " contact " , " thumb " ],
2021-02-13 20:56:03 +01:00
" author-id " => [ " post-thread-user " , " author-id " ],
2022-06-10 20:49:03 +02:00
" author-uri-id " => [ " author " , " uri-id " ],
2021-01-18 08:10:04 +01:00
" author-link " => [ " author " , " url " ],
" author-addr " => [ " author " , " addr " ],
2021-01-19 08:23:01 +01:00
" author-name " => " IF (`contact`.`url` = `author`.`url` AND `contact`.`name` != '', `contact`.`name`, `author`.`name`) " ,
2021-01-18 08:10:04 +01:00
" author-nick " => [ " author " , " nick " ],
2023-06-18 18:49:38 +02:00
" author-alias " => [ " author " , " alias " ],
2021-01-19 08:23:01 +01:00
" author-avatar " => " IF (`contact`.`url` = `author`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `author`.`thumb`) " ,
2021-01-18 08:10:04 +01:00
" author-network " => [ " author " , " network " ],
" author-blocked " => [ " author " , " blocked " ],
" author-hidden " => [ " author " , " hidden " ],
2022-04-29 09:30:13 +02:00
" author-updated " => [ " author " , " updated " ],
2023-09-22 12:28:00 +02:00
" author-contact-type " => [ " author " , " contact-type " ],
2022-04-29 09:47:24 +02:00
" author-gsid " => [ " author " , " gsid " ],
2021-02-13 20:56:03 +01:00
" owner-id " => [ " post-thread-user " , " owner-id " ],
2022-06-10 20:49:03 +02:00
" owner-uri-id " => [ " owner " , " uri-id " ],
2021-01-18 08:10:04 +01:00
" owner-link " => [ " owner " , " url " ],
" owner-addr " => [ " owner " , " addr " ],
2021-01-19 08:23:01 +01:00
" owner-name " => " IF (`contact`.`url` = `owner`.`url` AND `contact`.`name` != '', `contact`.`name`, `owner`.`name`) " ,
2021-01-18 08:10:04 +01:00
" owner-nick " => [ " owner " , " nick " ],
2023-06-18 18:49:38 +02:00
" owner-alias " => [ " owner " , " alias " ],
2021-01-19 08:23:01 +01:00
" owner-avatar " => " IF (`contact`.`url` = `owner`.`url` AND `contact`.`thumb` != '', `contact`.`thumb`, `owner`.`thumb`) " ,
2021-01-18 08:10:04 +01:00
" owner-network " => [ " owner " , " network " ],
" owner-blocked " => [ " owner " , " blocked " ],
" owner-hidden " => [ " owner " , " hidden " ],
2022-04-29 09:30:13 +02:00
" owner-updated " => [ " owner " , " updated " ],
2023-07-18 03:29:45 +02:00
" owner-gsid " => [ " owner " , " gsid " ],
2021-02-20 21:07:25 +01:00
" owner-contact-type " => [ " owner " , " contact-type " ],
2021-02-13 20:56:03 +01:00
" causer-id " => [ " post-thread-user " , " causer-id " ],
2022-06-10 20:49:03 +02:00
" causer-uri-id " => [ " causer " , " uri-id " ],
2021-01-18 08:10:04 +01:00
" causer-link " => [ " causer " , " url " ],
" causer-addr " => [ " causer " , " addr " ],
" causer-name " => [ " causer " , " name " ],
2021-02-21 06:28:27 +01:00
" causer-nick " => [ " causer " , " nick " ],
2023-06-23 23:27:34 +02:00
" causer-alias " => [ " causer " , " alias " ],
2021-01-18 08:10:04 +01:00
" causer-avatar " => [ " causer " , " thumb " ],
" causer-network " => [ " causer " , " network " ],
" causer-blocked " => [ " causer " , " blocked " ],
" causer-hidden " => [ " causer " , " hidden " ],
2023-07-18 03:29:45 +02:00
" causer-gsid " => [ " causer " , " gsid " ],
2021-01-18 08:10:04 +01:00
" causer-contact-type " => [ " causer " , " contact-type " ],
" postopts " => [ " post-delivery-data " , " postopts " ],
" inform " => [ " post-delivery-data " , " inform " ],
" delivery_queue_count " => [ " post-delivery-data " , " queue_count " ],
" delivery_queue_done " => [ " post-delivery-data " , " queue_done " ],
" delivery_queue_failed " => [ " post-delivery-data " , " queue_failed " ],
2021-02-09 17:35:01 +01:00
" allow_cid " => " IF (`post-thread-user`.`psid` IS NULL, '', `permissionset`.`allow_cid`) " ,
" allow_gid " => " IF (`post-thread-user`.`psid` IS NULL, '', `permissionset`.`allow_gid`) " ,
" deny_cid " => " IF (`post-thread-user`.`psid` IS NULL, '', `permissionset`.`deny_cid`) " ,
" deny_gid " => " IF (`post-thread-user`.`psid` IS NULL, '', `permissionset`.`deny_gid`) " ,
2021-02-13 20:56:03 +01:00
" event-id " => [ " post-user " , " event-id " ],
2021-01-18 08:10:04 +01:00
" event-created " => [ " event " , " created " ],
" event-edited " => [ " event " , " edited " ],
" event-start " => [ " event " , " start " ],
" event-finish " => [ " event " , " finish " ],
" event-summary " => [ " event " , " summary " ],
" event-desc " => [ " event " , " desc " ],
" event-location " => [ " event " , " location " ],
" event-type " => [ " event " , " type " ],
" event-nofinish " => [ " event " , " nofinish " ],
" event-ignore " => [ " event " , " ignore " ],
2022-04-20 08:28:02 +02:00
" question-id " => [ " post-question " , " id " ],
" question-multiple " => [ " post-question " , " multiple " ],
" question-voters " => [ " post-question " , " voters " ],
" question-end-time " => [ " post-question " , " end-time " ],
2022-05-16 19:06:58 +02:00
" has-categories " => " EXISTS(SELECT `uri-id` FROM `post-category` WHERE `post-category`.`uri-id` = `post-thread-user`.`uri-id` AND `post-category`.`uid` = `post-thread-user`.`uid`) " ,
" has-media " => " EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post-thread-user`.`uri-id`) " ,
2021-01-18 08:10:04 +01:00
" signed_text " => [ " diaspora-interaction " , " interaction " ],
2021-02-13 20:56:03 +01:00
" parent-guid " => [ " parent-item-uri " , " guid " ],
2023-05-29 00:04:02 +02:00
" parent-network " => [ " post-thread-user " , " network " ],
" parent-author-id " => [ " post-thread-user " , " author-id " ],
" parent-author-link " => [ " author " , " url " ],
" parent-author-name " => [ " author " , " name " ],
" parent-author-nick " => [ " author " , " nick " ],
" parent-author-network " => [ " author " , " network " ],
2021-01-18 08:10:04 +01:00
],
2021-02-13 20:56:03 +01:00
" query " => " FROM `post-thread-user`
INNER JOIN `post-user` ON `post-user` . `id` = `post-thread-user` . `post-user-id`
2021-02-21 06:28:27 +01:00
STRAIGHT_JOIN `contact` ON `contact` . `id` = `post-thread-user` . `contact-id`
STRAIGHT_JOIN `contact` AS `author` ON `author` . `id` = `post-thread-user` . `author-id`
STRAIGHT_JOIN `contact` AS `owner` ON `owner` . `id` = `post-thread-user` . `owner-id`
2021-02-19 07:30:38 +01:00
LEFT JOIN `contact` AS `causer` ON `causer` . `id` = `post-thread-user` . `causer-id`
LEFT JOIN `item-uri` ON `item-uri` . `id` = `post-thread-user` . `uri-id`
LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri` . `id` = `post-user` . `thr-parent-id`
LEFT JOIN `item-uri` AS `parent-item-uri` ON `parent-item-uri` . `id` = `post-user` . `parent-uri-id`
2022-07-23 08:52:43 +02:00
LEFT JOIN `item-uri` AS `conversation-item-uri` ON `conversation-item-uri` . `id` = `post-thread-user` . `conversation-id`
2021-02-14 10:43:27 +01:00
LEFT JOIN `item-uri` AS `external-item-uri` ON `external-item-uri` . `id` = `post-user` . `external-id`
2021-02-19 07:30:38 +01:00
LEFT JOIN `verb` ON `verb` . `id` = `post-user` . `vid`
2021-02-13 20:56:03 +01:00
LEFT JOIN `event` ON `event` . `id` = `post-user` . `event-id`
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction` . `uri-id` = `post-thread-user` . `uri-id`
LEFT JOIN `post-content` ON `post-content` . `uri-id` = `post-thread-user` . `uri-id`
2022-10-11 00:39:30 +02:00
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri` . `id` = `post-content` . `quote-uri-id`
2021-02-13 20:56:03 +01:00
LEFT JOIN `post-delivery-data` ON `post-delivery-data` . `uri-id` = `post-thread-user` . `uri-id` AND `post-thread-user` . `origin`
2022-04-20 08:28:02 +02:00
LEFT JOIN `post-question` ON `post-question` . `uri-id` = `post-thread-user` . `uri-id`
2023-05-29 00:04:02 +02:00
LEFT JOIN `permissionset` ON `permissionset` . `id` = `post-thread-user` . `psid` "
2020-05-04 16:33:41 +02:00
],
2021-03-06 06:47:49 +01:00
" post-view " => [
" fields " => [
" uri " => [ " item-uri " , " uri " ],
" uri-id " => [ " post " , " uri-id " ],
" parent-uri " => [ " parent-item-uri " , " uri " ],
" parent-uri-id " => [ " post " , " parent-uri-id " ],
" thr-parent " => [ " thr-parent-item-uri " , " uri " ],
" thr-parent-id " => [ " post " , " thr-parent-id " ],
2022-07-23 08:52:43 +02:00
" conversation " => [ " conversation-item-uri " , " uri " ],
" conversation-id " => [ " post-thread " , " conversation-id " ],
2022-10-11 00:39:30 +02:00
" quote-uri " => [ " quote-item-uri " , " uri " ],
" quote-uri-id " => [ " post-content " , " quote-uri-id " ],
2021-03-06 06:47:49 +01:00
" guid " => [ " item-uri " , " guid " ],
" gravity " => [ " post " , " gravity " ],
" extid " => [ " external-item-uri " , " uri " ],
" external-id " => [ " post " , " external-id " ],
" created " => [ " post " , " created " ],
" edited " => [ " post " , " edited " ],
" commented " => [ " post-thread " , " commented " ],
" received " => [ " post " , " received " ],
" changed " => [ " post-thread " , " changed " ],
" post-type " => [ " post " , " post-type " ],
" private " => [ " post " , " private " ],
" visible " => [ " post " , " visible " ],
" deleted " => [ " post " , " deleted " ],
" global " => [ " post " , " global " ],
2022-04-06 15:34:11 +02:00
" featured " => " EXISTS(SELECT `type` FROM `post-collection` WHERE `type` = 0 AND `uri-id` = `post`.`uri-id`) " ,
2021-03-06 06:47:49 +01:00
" network " => [ " post " , " network " ],
" vid " => [ " post " , " vid " ],
" verb " => " IF (`post`.`vid` IS NULL, '', `verb`.`name`) " ,
" title " => [ " post-content " , " title " ],
" content-warning " => [ " post-content " , " content-warning " ],
" raw-body " => [ " post-content " , " raw-body " ],
" body " => [ " post-content " , " body " ],
" rendered-hash " => [ " post-content " , " rendered-hash " ],
" rendered-html " => [ " post-content " , " rendered-html " ],
" language " => [ " post-content " , " language " ],
" plink " => [ " post-content " , " plink " ],
" location " => [ " post-content " , " location " ],
" coord " => [ " post-content " , " coord " ],
" app " => [ " post-content " , " app " ],
" object-type " => [ " post-content " , " object-type " ],
" object " => [ " post-content " , " object " ],
" target-type " => [ " post-content " , " target-type " ],
" target " => [ " post-content " , " target " ],
" resource-id " => [ " post-content " , " resource-id " ],
2021-06-12 17:19:56 +02:00
" contact-id " => [ " post " , " author-id " ],
2022-06-10 20:49:03 +02:00
" contact-uri-id " => [ " author " , " uri-id " ],
2021-06-12 17:19:56 +02:00
" contact-link " => [ " author " , " url " ],
" contact-addr " => [ " author " , " addr " ],
" contact-name " => [ " author " , " name " ],
" contact-nick " => [ " author " , " nick " ],
" contact-avatar " => [ " author " , " thumb " ],
" contact-network " => [ " author " , " network " ],
" contact-blocked " => [ " author " , " blocked " ],
" contact-hidden " => [ " author " , " hidden " ],
" contact-readonly " => [ " author " , " readonly " ],
" contact-archive " => [ " author " , " archive " ],
" contact-pending " => [ " author " , " pending " ],
" contact-rel " => [ " author " , " rel " ],
" contact-uid " => [ " author " , " uid " ],
" contact-contact-type " => [ " author " , " contact-type " ],
" writable " => " IF (`post`.`network` IN ('apub', 'dfrn', 'dspr', 'stat'), true, `author`.`writable`) " ,
" self " => " false " ,
" cid " => [ " author " , " id " ],
" alias " => [ " author " , " alias " ],
" photo " => [ " author " , " photo " ],
" name-date " => [ " author " , " name-date " ],
" uri-date " => [ " author " , " uri-date " ],
" avatar-date " => [ " author " , " avatar-date " ],
" thumb " => [ " author " , " thumb " ],
2021-03-06 06:47:49 +01:00
" author-id " => [ " post " , " author-id " ],
2022-06-10 20:49:03 +02:00
" author-uri-id " => [ " author " , " uri-id " ],
2021-03-06 06:47:49 +01:00
" author-link " => [ " author " , " url " ],
" author-addr " => [ " author " , " addr " ],
" author-name " => [ " author " , " name " ],
" author-nick " => [ " author " , " nick " ],
2023-06-18 18:49:38 +02:00
" author-alias " => [ " author " , " alias " ],
2021-03-06 06:47:49 +01:00
" author-avatar " => [ " author " , " thumb " ],
" author-network " => [ " author " , " network " ],
" author-blocked " => [ " author " , " blocked " ],
" author-hidden " => [ " author " , " hidden " ],
2022-04-29 09:30:13 +02:00
" author-updated " => [ " author " , " updated " ],
2023-09-22 12:28:00 +02:00
" author-contact-type " => [ " author " , " contact-type " ],
2022-04-29 09:47:24 +02:00
" author-gsid " => [ " author " , " gsid " ],
2021-03-06 06:47:49 +01:00
" owner-id " => [ " post " , " owner-id " ],
2022-06-10 20:49:03 +02:00
" owner-uri-id " => [ " owner " , " uri-id " ],
2021-03-06 06:47:49 +01:00
" owner-link " => [ " owner " , " url " ],
" owner-addr " => [ " owner " , " addr " ],
" owner-name " => [ " owner " , " name " ],
" owner-nick " => [ " owner " , " nick " ],
2023-06-18 18:49:38 +02:00
" owner-alias " => [ " owner " , " alias " ],
2021-03-06 06:47:49 +01:00
" owner-avatar " => [ " owner " , " thumb " ],
" owner-network " => [ " owner " , " network " ],
" owner-blocked " => [ " owner " , " blocked " ],
" owner-hidden " => [ " owner " , " hidden " ],
2022-04-29 09:30:13 +02:00
" owner-updated " => [ " owner " , " updated " ],
2021-03-06 06:47:49 +01:00
" owner-contact-type " => [ " owner " , " contact-type " ],
2023-07-18 03:29:45 +02:00
" owner-gsid " => [ " owner " , " gsid " ],
2021-03-06 06:47:49 +01:00
" causer-id " => [ " post " , " causer-id " ],
2022-06-10 20:49:03 +02:00
" causer-uri-id " => [ " causer " , " uri-id " ],
2021-03-06 06:47:49 +01:00
" causer-link " => [ " causer " , " url " ],
" causer-addr " => [ " causer " , " addr " ],
" causer-name " => [ " causer " , " name " ],
" causer-nick " => [ " causer " , " nick " ],
2023-06-23 23:27:34 +02:00
" causer-alias " => [ " causer " , " alias " ],
2021-03-06 06:47:49 +01:00
" causer-avatar " => [ " causer " , " thumb " ],
" causer-network " => [ " causer " , " network " ],
" causer-blocked " => [ " causer " , " blocked " ],
" causer-hidden " => [ " causer " , " hidden " ],
" causer-contact-type " => [ " causer " , " contact-type " ],
2023-07-18 03:29:45 +02:00
" causer-gsid " => [ " causer " , " gsid " ],
2022-04-20 08:28:02 +02:00
" question-id " => [ " post-question " , " id " ],
" question-multiple " => [ " post-question " , " multiple " ],
" question-voters " => [ " post-question " , " voters " ],
" question-end-time " => [ " post-question " , " end-time " ],
2022-05-16 19:06:58 +02:00
" has-categories " => " 0 " ,
" has-media " => " EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post`.`uri-id`) " ,
2021-03-06 06:47:49 +01:00
" signed_text " => [ " diaspora-interaction " , " interaction " ],
" parent-guid " => [ " parent-item-uri " , " guid " ],
2023-05-29 00:04:02 +02:00
" parent-network " => [ " post-thread " , " network " ],
" parent-author-id " => [ " post-thread " , " author-id " ],
2021-03-06 06:47:49 +01:00
" parent-author-link " => [ " parent-post-author " , " url " ],
" parent-author-name " => [ " parent-post-author " , " name " ],
2023-05-29 00:04:02 +02:00
" parent-author-nick " => [ " parent-post-author " , " nick " ],
2021-03-06 06:47:49 +01:00
" parent-author-network " => [ " parent-post-author " , " network " ],
],
" query " => " FROM `post`
STRAIGHT_JOIN `post-thread` ON `post-thread` . `uri-id` = `post` . `parent-uri-id`
STRAIGHT_JOIN `contact` AS `author` ON `author` . `id` = `post` . `author-id`
STRAIGHT_JOIN `contact` AS `owner` ON `owner` . `id` = `post` . `owner-id`
LEFT JOIN `contact` AS `causer` ON `causer` . `id` = `post` . `causer-id`
LEFT JOIN `item-uri` ON `item-uri` . `id` = `post` . `uri-id`
LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri` . `id` = `post` . `thr-parent-id`
LEFT JOIN `item-uri` AS `parent-item-uri` ON `parent-item-uri` . `id` = `post` . `parent-uri-id`
2022-07-23 08:52:43 +02:00
LEFT JOIN `item-uri` AS `conversation-item-uri` ON `conversation-item-uri` . `id` = `post-thread` . `conversation-id`
2021-03-06 06:47:49 +01:00
LEFT JOIN `item-uri` AS `external-item-uri` ON `external-item-uri` . `id` = `post` . `external-id`
LEFT JOIN `verb` ON `verb` . `id` = `post` . `vid`
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction` . `uri-id` = `post` . `uri-id`
LEFT JOIN `post-content` ON `post-content` . `uri-id` = `post` . `uri-id`
2022-10-11 00:39:30 +02:00
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri` . `id` = `post-content` . `quote-uri-id`
2022-04-20 08:28:02 +02:00
LEFT JOIN `post-question` ON `post-question` . `uri-id` = `post` . `uri-id`
2023-05-29 00:04:02 +02:00
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author` . `id` = `post-thread` . `author-id` "
2021-03-06 06:47:49 +01:00
],
" post-thread-view " => [
" fields " => [
" uri " => [ " item-uri " , " uri " ],
" uri-id " => [ " post-thread " , " uri-id " ],
" parent-uri " => [ " parent-item-uri " , " uri " ],
" parent-uri-id " => [ " post " , " parent-uri-id " ],
" thr-parent " => [ " thr-parent-item-uri " , " uri " ],
" thr-parent-id " => [ " post " , " thr-parent-id " ],
2022-07-23 08:52:43 +02:00
" conversation " => [ " conversation-item-uri " , " uri " ],
" conversation-id " => [ " post-thread " , " conversation-id " ],
2022-10-11 00:39:30 +02:00
" quote-uri " => [ " quote-item-uri " , " uri " ],
" quote-uri-id " => [ " post-content " , " quote-uri-id " ],
2021-03-06 06:47:49 +01:00
" guid " => [ " item-uri " , " guid " ],
" gravity " => [ " post " , " gravity " ],
" extid " => [ " external-item-uri " , " uri " ],
" external-id " => [ " post " , " external-id " ],
" created " => [ " post-thread " , " created " ],
" edited " => [ " post " , " edited " ],
" commented " => [ " post-thread " , " commented " ],
" received " => [ " post-thread " , " received " ],
" changed " => [ " post-thread " , " changed " ],
" post-type " => [ " post " , " post-type " ],
" private " => [ " post " , " private " ],
" visible " => [ " post " , " visible " ],
" deleted " => [ " post " , " deleted " ],
" global " => [ " post " , " global " ],
2022-04-06 15:34:11 +02:00
" featured " => " EXISTS(SELECT `type` FROM `post-collection` WHERE `type` = 0 AND `uri-id` = `post-thread`.`uri-id`) " ,
2021-03-06 06:47:49 +01:00
" network " => [ " post-thread " , " network " ],
" vid " => [ " post " , " vid " ],
" verb " => " IF (`post`.`vid` IS NULL, '', `verb`.`name`) " ,
" title " => [ " post-content " , " title " ],
" content-warning " => [ " post-content " , " content-warning " ],
" raw-body " => [ " post-content " , " raw-body " ],
" body " => [ " post-content " , " body " ],
" rendered-hash " => [ " post-content " , " rendered-hash " ],
" rendered-html " => [ " post-content " , " rendered-html " ],
" language " => [ " post-content " , " language " ],
" plink " => [ " post-content " , " plink " ],
" location " => [ " post-content " , " location " ],
" coord " => [ " post-content " , " coord " ],
" app " => [ " post-content " , " app " ],
" object-type " => [ " post-content " , " object-type " ],
" object " => [ " post-content " , " object " ],
" target-type " => [ " post-content " , " target-type " ],
" target " => [ " post-content " , " target " ],
" resource-id " => [ " post-content " , " resource-id " ],
2021-06-12 17:19:56 +02:00
" contact-id " => [ " post-thread " , " author-id " ],
2022-06-10 20:49:03 +02:00
" contact-uri-id " => [ " author " , " uri-id " ],
2021-06-12 17:19:56 +02:00
" contact-link " => [ " author " , " url " ],
" contact-addr " => [ " author " , " addr " ],
" contact-name " => [ " author " , " name " ],
" contact-nick " => [ " author " , " nick " ],
" contact-avatar " => [ " author " , " thumb " ],
" contact-network " => [ " author " , " network " ],
" contact-blocked " => [ " author " , " blocked " ],
" contact-hidden " => [ " author " , " hidden " ],
" contact-readonly " => [ " author " , " readonly " ],
" contact-archive " => [ " author " , " archive " ],
" contact-pending " => [ " author " , " pending " ],
" contact-rel " => [ " author " , " rel " ],
" contact-uid " => [ " author " , " uid " ],
" contact-contact-type " => [ " author " , " contact-type " ],
" writable " => " IF (`post`.`network` IN ('apub', 'dfrn', 'dspr', 'stat'), true, `author`.`writable`) " ,
" self " => " false " ,
" cid " => [ " author " , " id " ],
" alias " => [ " author " , " alias " ],
" photo " => [ " author " , " photo " ],
" name-date " => [ " author " , " name-date " ],
" uri-date " => [ " author " , " uri-date " ],
" avatar-date " => [ " author " , " avatar-date " ],
" thumb " => [ " author " , " thumb " ],
2021-03-06 06:47:49 +01:00
" author-id " => [ " post-thread " , " author-id " ],
2022-06-10 20:49:03 +02:00
" author-uri-id " => [ " author " , " uri-id " ],
2021-03-06 06:47:49 +01:00
" author-link " => [ " author " , " url " ],
" author-addr " => [ " author " , " addr " ],
" author-name " => [ " author " , " name " ],
" author-nick " => [ " author " , " nick " ],
2023-06-18 18:49:38 +02:00
" author-alias " => [ " author " , " alias " ],
2021-03-06 06:47:49 +01:00
" author-avatar " => [ " author " , " thumb " ],
" author-network " => [ " author " , " network " ],
" author-blocked " => [ " author " , " blocked " ],
" author-hidden " => [ " author " , " hidden " ],
2022-04-29 09:30:13 +02:00
" author-updated " => [ " author " , " updated " ],
2023-09-22 12:28:00 +02:00
" author-contact-type " => [ " author " , " contact-type " ],
2022-04-29 09:47:24 +02:00
" author-gsid " => [ " author " , " gsid " ],
2021-03-06 06:47:49 +01:00
" owner-id " => [ " post-thread " , " owner-id " ],
2022-06-10 20:49:03 +02:00
" owner-uri-id " => [ " owner " , " uri-id " ],
2021-03-06 06:47:49 +01:00
" owner-link " => [ " owner " , " url " ],
" owner-addr " => [ " owner " , " addr " ],
" owner-name " => [ " owner " , " name " ],
" owner-nick " => [ " owner " , " nick " ],
2023-06-18 18:49:38 +02:00
" owner-alias " => [ " owner " , " alias " ],
2021-03-06 06:47:49 +01:00
" owner-avatar " => [ " owner " , " thumb " ],
" owner-network " => [ " owner " , " network " ],
" owner-blocked " => [ " owner " , " blocked " ],
" owner-hidden " => [ " owner " , " hidden " ],
2022-04-29 09:30:13 +02:00
" owner-updated " => [ " owner " , " updated " ],
2023-07-18 03:29:45 +02:00
" owner-gsid " => [ " owner " , " gsid " ],
2021-03-06 06:47:49 +01:00
" owner-contact-type " => [ " owner " , " contact-type " ],
" causer-id " => [ " post-thread " , " causer-id " ],
2022-06-10 20:49:03 +02:00
" causer-uri-id " => [ " causer " , " uri-id " ],
2021-03-06 06:47:49 +01:00
" causer-link " => [ " causer " , " url " ],
" causer-addr " => [ " causer " , " addr " ],
" causer-name " => [ " causer " , " name " ],
" causer-nick " => [ " causer " , " nick " ],
2023-06-23 23:27:34 +02:00
" causer-alias " => [ " causer " , " alias " ],
2021-03-06 06:47:49 +01:00
" causer-avatar " => [ " causer " , " thumb " ],
" causer-network " => [ " causer " , " network " ],
" causer-blocked " => [ " causer " , " blocked " ],
" causer-hidden " => [ " causer " , " hidden " ],
2023-07-18 03:29:45 +02:00
" causer-gsid " => [ " causer " , " gsid " ],
2021-03-06 06:47:49 +01:00
" causer-contact-type " => [ " causer " , " contact-type " ],
2022-04-20 08:28:02 +02:00
" question-id " => [ " post-question " , " id " ],
" question-multiple " => [ " post-question " , " multiple " ],
" question-voters " => [ " post-question " , " voters " ],
" question-end-time " => [ " post-question " , " end-time " ],
2022-05-16 19:06:58 +02:00
" has-categories " => " 0 " ,
" has-media " => " EXISTS(SELECT `id` FROM `post-media` WHERE `post-media`.`uri-id` = `post-thread`.`uri-id`) " ,
2022-11-28 10:30:41 +01:00
" total-comments " => " (SELECT COUNT(*) FROM `post` WHERE `parent-uri-id` = `post-thread`.`uri-id` AND `gravity` = 6) " ,
2022-11-28 21:19:57 +01:00
" total-actors " => " (SELECT COUNT(DISTINCT(`author-id`)) FROM `post` WHERE `parent-uri-id` = `post-thread`.`uri-id` AND `gravity` = 6) " ,
2021-03-06 06:47:49 +01:00
" signed_text " => [ " diaspora-interaction " , " interaction " ],
" parent-guid " => [ " parent-item-uri " , " guid " ],
2023-05-29 00:04:02 +02:00
" parent-network " => [ " post-thread " , " network " ],
" parent-author-id " => [ " post-thread " , " author-id " ],
" parent-author-link " => [ " author " , " url " ],
" parent-author-name " => [ " author " , " name " ],
" parent-author-nick " => [ " author " , " nick " ],
" parent-author-network " => [ " author " , " network " ],
2021-03-06 06:47:49 +01:00
],
" query " => " FROM `post-thread`
INNER JOIN `post` ON `post` . `uri-id` = `post-thread` . `uri-id`
STRAIGHT_JOIN `contact` AS `author` ON `author` . `id` = `post-thread` . `author-id`
STRAIGHT_JOIN `contact` AS `owner` ON `owner` . `id` = `post-thread` . `owner-id`
LEFT JOIN `contact` AS `causer` ON `causer` . `id` = `post-thread` . `causer-id`
LEFT JOIN `item-uri` ON `item-uri` . `id` = `post-thread` . `uri-id`
LEFT JOIN `item-uri` AS `thr-parent-item-uri` ON `thr-parent-item-uri` . `id` = `post` . `thr-parent-id`
LEFT JOIN `item-uri` AS `parent-item-uri` ON `parent-item-uri` . `id` = `post` . `parent-uri-id`
2022-07-23 08:52:43 +02:00
LEFT JOIN `item-uri` AS `conversation-item-uri` ON `conversation-item-uri` . `id` = `post-thread` . `conversation-id`
2021-03-06 06:47:49 +01:00
LEFT JOIN `item-uri` AS `external-item-uri` ON `external-item-uri` . `id` = `post` . `external-id`
LEFT JOIN `verb` ON `verb` . `id` = `post` . `vid`
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction` . `uri-id` = `post-thread` . `uri-id`
LEFT JOIN `post-content` ON `post-content` . `uri-id` = `post-thread` . `uri-id`
2022-10-11 00:39:30 +02:00
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri` . `id` = `post-content` . `quote-uri-id`
2023-05-29 00:04:02 +02:00
LEFT JOIN `post-question` ON `post-question` . `uri-id` = `post-thread` . `uri-id` "
2021-03-06 06:47:49 +01:00
],
2020-05-03 17:13:40 +02:00
" category-view " => [
" fields " => [
" uri-id " => [ " post-category " , " uri-id " ],
" uid " => [ " post-category " , " uid " ],
" type " => [ " post-category " , " type " ],
" tid " => [ " post-category " , " tid " ],
" name " => [ " tag " , " name " ],
" url " => [ " tag " , " url " ],
],
" query " => " FROM `post-category`
LEFT JOIN `tag` ON `post-category` . `tid` = `tag` . `id` "
],
2022-04-07 23:52:25 +02:00
" collection-view " => [
" fields " => [
" uri-id " => [ " post-collection " , " uri-id " ],
" type " => [ " post-collection " , " type " ],
2022-08-15 15:23:01 +02:00
" cid " => [ " post-collection " , " author-id " ],
2022-04-07 23:52:25 +02:00
" received " => [ " post " , " received " ],
" created " => [ " post " , " created " ],
2022-04-29 12:13:23 +02:00
" commented " => [ " post-thread " , " commented " ],
2022-06-04 08:11:32 +02:00
" private " => [ " post " , " private " ],
" visible " => [ " post " , " visible " ],
" deleted " => [ " post " , " deleted " ],
2022-04-29 12:13:23 +02:00
" thr-parent-id " => [ " post " , " thr-parent-id " ],
2022-08-15 15:23:01 +02:00
" author-id " => [ " post-collection " , " author-id " ],
2022-04-29 12:13:23 +02:00
" gravity " => [ " post " , " gravity " ],
2022-04-07 23:52:25 +02:00
],
" query " => " FROM `post-collection`
2022-04-29 12:13:23 +02:00
INNER JOIN `post` ON `post-collection` . `uri-id` = `post` . `uri-id`
INNER JOIN `post-thread` ON `post-thread` . `uri-id` = `post` . `parent-uri-id` "
2022-04-07 23:52:25 +02:00
],
2022-11-29 19:45:30 +01:00
" media-view " => [
" fields " => [
" uri-id " => [ " post-media " , " uri-id " ],
" type " => [ " post-media " , " type " ],
" received " => [ " post " , " received " ],
" created " => [ " post " , " created " ],
" private " => [ " post " , " private " ],
" visible " => [ " post " , " visible " ],
" deleted " => [ " post " , " deleted " ],
" thr-parent-id " => [ " post " , " thr-parent-id " ],
" author-id " => [ " post " , " author-id " ],
" gravity " => [ " post " , " gravity " ],
],
" query " => " FROM `post-media`
INNER JOIN `post` ON `post-media` . `uri-id` = `post` . `uri-id` "
],
2020-04-23 08:19:44 +02:00
" tag-view " => [
2020-04-24 07:37:06 +02:00
" fields " => [
" uri-id " => [ " post-tag " , " uri-id " ],
2020-04-23 09:02:18 +02:00
" type " => [ " post-tag " , " type " ],
" tid " => [ " post-tag " , " tid " ],
" cid " => [ " post-tag " , " cid " ],
2020-04-23 08:19:44 +02:00
" name " => " CASE `cid` WHEN 0 THEN `tag`.`name` ELSE `contact`.`name` END " ,
2020-04-24 07:37:06 +02:00
" url " => " CASE `cid` WHEN 0 THEN `tag`.`url` ELSE `contact`.`url` END " ,
2022-04-23 13:39:19 +02:00
" tag-type " => " CASE `cid` WHEN 0 THEN `tag`.`type` ELSE 1 END " ,
2020-04-24 07:37:06 +02:00
],
2020-04-23 08:19:44 +02:00
" query " => " FROM `post-tag`
LEFT JOIN `tag` ON `post-tag` . `tid` = `tag` . `id`
LEFT JOIN `contact` ON `post-tag` . `cid` = `contact` . `id` "
2020-04-24 07:39:30 +02:00
],
2020-08-15 13:31:34 +02:00
" network-item-view " => [
" fields " => [
2021-02-14 10:43:27 +01:00
" uri-id " => [ " post-user " , " uri-id " ],
2023-05-29 00:04:02 +02:00
" parent " => [ " post-thread-user " , " post-user-id " ],
2021-02-14 10:43:27 +01:00
" received " => [ " post-user " , " received " ],
" commented " => [ " post-thread-user " , " commented " ],
" created " => [ " post-user " , " created " ],
" uid " => [ " post-user " , " uid " ],
" starred " => [ " post-thread-user " , " starred " ],
" mention " => [ " post-thread-user " , " mention " ],
" network " => [ " post-user " , " network " ],
" unseen " => [ " post-user " , " unseen " ],
" gravity " => [ " post-user " , " gravity " ],
" contact-id " => [ " post-user " , " contact-id " ],
2020-10-05 18:48:28 +02:00
" contact-type " => [ " ownercontact " , " contact-type " ],
2020-08-15 13:31:34 +02:00
],
2021-02-14 10:43:27 +01:00
" query " => " FROM `post-user`
2023-07-18 03:29:45 +02:00
INNER JOIN `post-thread-user` ON `post-thread-user` . `uri-id` = `post-user` . `parent-uri-id` AND `post-thread-user` . `uid` = `post-user` . `uid`
2023-07-10 22:50:16 +02:00
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`
2021-02-14 10:43:27 +01:00
WHERE `post-user` . `visible` AND NOT `post-user` . `deleted`
2020-08-19 21:10:30 +02:00
AND ( NOT `contact` . `readonly` AND NOT `contact` . `blocked` AND NOT `contact` . `pending` )
2021-02-01 00:37:34 +01:00
AND ( `post-user` . `hidden` IS NULL OR NOT `post-user` . `hidden` )
2023-07-10 22:50:16 +02:00
AND NOT `authorcontact` . `blocked` AND NOT `ownercontact` . `blocked`
2023-08-24 14:57:25 +02:00
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` ) "
2020-08-15 14:06:18 +02:00
],
" network-thread-view " => [
" fields " => [
2021-02-14 10:43:27 +01:00
" uri-id " => [ " post-thread-user " , " uri-id " ],
2023-05-29 00:04:02 +02:00
" parent " => [ " post-thread-user " , " post-user-id " ],
2021-02-14 10:43:27 +01:00
" received " => [ " post-thread-user " , " received " ],
" commented " => [ " post-thread-user " , " commented " ],
" created " => [ " post-thread-user " , " created " ],
2021-02-04 06:51:25 +01:00
" uid " => [ " post-thread-user " , " uid " ],
" starred " => [ " post-thread-user " , " starred " ],
" mention " => [ " post-thread-user " , " mention " ],
2021-02-14 10:43:27 +01:00
" network " => [ " post-thread-user " , " network " ],
2021-02-09 17:35:01 +01:00
" contact-id " => [ " post-thread-user " , " contact-id " ],
2020-10-05 18:48:28 +02:00
" contact-type " => [ " ownercontact " , " contact-type " ],
2020-08-15 14:06:18 +02:00
],
2021-02-14 10:43:27 +01:00
" query " => " FROM `post-thread-user`
INNER JOIN `post-user` ON `post-user` . `id` = `post-thread-user` . `post-user-id`
2021-02-09 17:35:01 +01:00
STRAIGHT_JOIN `contact` ON `contact` . `id` = `post-thread-user` . `contact-id`
2023-07-10 22:50:16 +02:00
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`
2021-02-14 10:43:27 +01:00
WHERE `post-user` . `visible` AND NOT `post-user` . `deleted`
2020-08-19 21:10:30 +02:00
AND ( NOT `contact` . `readonly` AND NOT `contact` . `blocked` AND NOT `contact` . `pending` )
2021-02-09 17:35:01 +01:00
AND ( `post-thread-user` . `hidden` IS NULL OR NOT `post-thread-user` . `hidden` )
2023-07-10 22:50:16 +02:00
AND NOT `authorcontact` . `blocked` AND NOT `ownercontact` . `blocked`
2023-08-24 14:57:25 +02:00
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` ) "
2020-08-15 13:31:34 +02:00
],
2020-04-24 13:04:50 +02:00
" owner-view " => [
" fields " => [
" id " => [ " contact " , " id " ],
" uid " => [ " contact " , " uid " ],
" created " => [ " contact " , " created " ],
" updated " => [ " contact " , " updated " ],
" self " => [ " contact " , " self " ],
" remote_self " => [ " contact " , " remote_self " ],
" rel " => [ " contact " , " rel " ],
" network " => [ " contact " , " network " ],
" protocol " => [ " contact " , " protocol " ],
" name " => [ " contact " , " name " ],
" nick " => [ " contact " , " nick " ],
" location " => [ " contact " , " location " ],
" about " => [ " contact " , " about " ],
" keywords " => [ " contact " , " keywords " ],
" xmpp " => [ " contact " , " xmpp " ],
2021-08-09 03:39:09 +02:00
" matrix " => [ " contact " , " matrix " ],
2020-04-24 13:04:50 +02:00
" attag " => [ " contact " , " attag " ],
" avatar " => [ " contact " , " avatar " ],
" photo " => [ " contact " , " photo " ],
" thumb " => [ " contact " , " thumb " ],
" micro " => [ " contact " , " micro " ],
2021-06-17 13:23:32 +02:00
" header " => [ " contact " , " header " ],
2020-04-24 13:04:50 +02:00
" url " => [ " contact " , " url " ],
" nurl " => [ " contact " , " nurl " ],
2021-07-10 14:58:48 +02:00
" uri-id " => [ " contact " , " uri-id " ],
2020-04-24 13:04:50 +02:00
" addr " => [ " contact " , " addr " ],
" alias " => [ " contact " , " alias " ],
" pubkey " => [ " contact " , " pubkey " ],
" prvkey " => [ " contact " , " prvkey " ],
" batch " => [ " contact " , " batch " ],
" request " => [ " contact " , " request " ],
" notify " => [ " contact " , " notify " ],
" poll " => [ " contact " , " poll " ],
" confirm " => [ " contact " , " confirm " ],
" poco " => [ " contact " , " poco " ],
" subhub " => [ " contact " , " subhub " ],
" hub-verify " => [ " contact " , " hub-verify " ],
" last-update " => [ " contact " , " last-update " ],
" success_update " => [ " contact " , " success_update " ],
" failure_update " => [ " contact " , " failure_update " ],
" name-date " => [ " contact " , " name-date " ],
" uri-date " => [ " contact " , " uri-date " ],
" avatar-date " => [ " contact " , " avatar-date " ],
2020-04-24 14:59:19 +02:00
" picdate " => [ " contact " , " avatar-date " ], /// @todo Replaces all uses of "picdate" with "avatar-date"
2020-04-24 13:04:50 +02:00
" term-date " => [ " contact " , " term-date " ],
2020-04-25 09:29:02 +02:00
" last-item " => [ " contact " , " last-item " ],
2020-04-24 13:04:50 +02:00
" priority " => [ " contact " , " priority " ],
2020-11-08 08:23:28 +01:00
" blocked " => [ " user " , " blocked " ],
2020-04-24 13:04:50 +02:00
" block_reason " => [ " contact " , " block_reason " ],
" readonly " => [ " contact " , " readonly " ],
" writable " => [ " contact " , " writable " ],
" forum " => [ " contact " , " forum " ],
" prv " => [ " contact " , " prv " ],
" contact-type " => [ " contact " , " contact-type " ],
2020-09-02 05:18:04 +02:00
" manually-approve " => [ " contact " , " manually-approve " ],
2020-04-24 13:04:50 +02:00
" hidden " => [ " contact " , " hidden " ],
" archive " => [ " contact " , " archive " ],
" pending " => [ " contact " , " pending " ],
" deleted " => [ " contact " , " deleted " ],
" unsearchable " => [ " contact " , " unsearchable " ],
" sensitive " => [ " contact " , " sensitive " ],
" baseurl " => [ " contact " , " baseurl " ],
" reason " => [ " contact " , " reason " ],
" info " => [ " contact " , " info " ],
" bdyear " => [ " contact " , " bdyear " ],
" bd " => [ " contact " , " bd " ],
2020-04-28 21:15:42 +02:00
" notify_new_posts " => [ " contact " , " notify_new_posts " ],
" fetch_further_information " => [ " contact " , " fetch_further_information " ],
2020-06-06 22:43:23 +02:00
" ffi_keyword_denylist " => [ " contact " , " ffi_keyword_denylist " ],
2020-04-24 23:14:03 +02:00
" parent-uid " => [ " user " , " parent-uid " ],
2020-04-24 15:41:11 +02:00
" guid " => [ " user " , " guid " ],
2020-04-24 23:14:03 +02:00
" nickname " => [ " user " , " nickname " ], /// @todo Replaces all uses of "nickname" with "nick"
2020-04-24 13:04:50 +02:00
" email " => [ " user " , " email " ],
2020-04-24 23:14:03 +02:00
" openid " => [ " user " , " openid " ],
2020-04-24 13:04:50 +02:00
" timezone " => [ " user " , " timezone " ],
2020-04-24 23:14:03 +02:00
" language " => [ " user " , " language " ],
" register_date " => [ " user " , " register_date " ],
" login_date " => [ " user " , " login_date " ],
2022-12-04 08:17:26 +01:00
" last-activity " => [ " user " , " last-activity " ],
2020-04-24 23:14:03 +02:00
" default-location " => [ " user " , " default-location " ],
" allow_location " => [ " user " , " allow_location " ],
" theme " => [ " user " , " theme " ],
" upubkey " => [ " user " , " pubkey " ],
" uprvkey " => [ " user " , " prvkey " ],
2020-04-24 13:04:50 +02:00
" sprvkey " => [ " user " , " sprvkey " ],
" spubkey " => [ " user " , " spubkey " ],
2020-04-24 23:14:03 +02:00
" verified " => [ " user " , " verified " ],
" blockwall " => [ " user " , " blockwall " ],
" hidewall " => [ " user " , " hidewall " ],
" blocktags " => [ " user " , " blocktags " ],
" unkmail " => [ " user " , " unkmail " ],
" cntunkmail " => [ " user " , " cntunkmail " ],
" notify-flags " => [ " user " , " notify-flags " ],
2020-04-24 13:04:50 +02:00
" page-flags " => [ " user " , " page-flags " ],
" account-type " => [ " user " , " account-type " ],
" prvnets " => [ " user " , " prvnets " ],
2020-04-24 23:14:03 +02:00
" maxreq " => [ " user " , " maxreq " ],
2020-04-24 13:55:46 +02:00
" expire " => [ " user " , " expire " ],
2020-04-24 13:04:50 +02:00
" account_removed " => [ " user " , " account_removed " ],
" account_expired " => [ " user " , " account_expired " ],
" account_expires_on " => [ " user " , " account_expires_on " ],
2020-08-16 13:57:56 +02:00
" expire_notification_sent " => [ " user " , " expire_notification_sent " ],
2020-04-24 23:14:03 +02:00
" def_gid " => [ " user " , " def_gid " ],
" allow_cid " => [ " user " , " allow_cid " ],
" allow_gid " => [ " user " , " allow_gid " ],
" deny_cid " => [ " user " , " deny_cid " ],
" deny_gid " => [ " user " , " deny_gid " ],
" openidserver " => [ " user " , " openidserver " ],
2020-04-24 13:55:46 +02:00
" publish " => [ " profile " , " publish " ],
" net-publish " => [ " profile " , " net-publish " ],
" hide-friends " => [ " profile " , " hide-friends " ],
" prv_keywords " => [ " profile " , " prv_keywords " ],
" pub_keywords " => [ " profile " , " pub_keywords " ],
" address " => [ " profile " , " address " ],
" locality " => [ " profile " , " locality " ],
" region " => [ " profile " , " region " ],
" postal-code " => [ " profile " , " postal-code " ],
" country-name " => [ " profile " , " country-name " ],
" homepage " => [ " profile " , " homepage " ],
2022-11-05 15:37:13 +01:00
" homepage_verified " => [ " profile " , " homepage_verified " ],
2020-04-24 13:55:46 +02:00
" dob " => [ " profile " , " dob " ],
2020-04-24 13:04:50 +02:00
],
" query " => " FROM `user`
2020-04-24 13:55:46 +02:00
INNER JOIN `contact` ON `contact` . `uid` = `user` . `uid` AND `contact` . `self`
INNER JOIN `profile` ON `profile` . `uid` = `user` . `uid` "
2020-04-24 17:42:43 +02:00
],
2021-07-10 23:55:03 +02:00
" account-view " => [
" fields " => [
" id " => [ " contact " , " id " ],
" url " => [ " contact " , " url " ],
" nurl " => [ " contact " , " nurl " ],
" uri-id " => [ " contact " , " uri-id " ],
2021-10-04 08:13:52 +02:00
" guid " => [ " item-uri " , " guid " ],
2021-07-10 23:55:03 +02:00
" addr " => [ " contact " , " addr " ],
" alias " => [ " contact " , " alias " ],
" name " => [ " contact " , " name " ],
" nick " => [ " contact " , " nick " ],
" about " => [ " contact " , " about " ],
" keywords " => [ " contact " , " keywords " ],
" xmpp " => [ " contact " , " xmpp " ],
2021-08-09 03:39:09 +02:00
" matrix " => [ " contact " , " matrix " ],
2021-07-10 23:55:03 +02:00
" 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-notify " => [ " contact " , " notify " ],
" dfrn-poll " => [ " contact " , " poll " ],
2021-09-15 06:36:01 +02:00
" diaspora-guid " => [ " item-uri " , " guid " ],
" diaspora-batch " => [ " diaspora-contact " , " batch " ],
" diaspora-notify " => [ " diaspora-contact " , " notify " ],
" diaspora-poll " => [ " diaspora-contact " , " poll " ],
" diaspora-alias " => [ " diaspora-contact " , " alias " ],
2021-07-10 23:55:03 +02:00
" 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 " ],
2022-03-24 12:30:32 +01:00
" site_name " => [ " gserver " , " site_name " ],
" platform " => [ " gserver " , " platform " ],
" version " => [ " gserver " , " version " ],
2023-03-28 07:33:14 +02:00
" server-blocked " => [ " gserver " , " blocked " ],
" server-failed " => [ " gserver " , " failed " ],
2021-07-10 23:55:03 +02:00
],
" query " => " FROM `contact`
2021-10-04 08:13:52 +02:00
LEFT JOIN `item-uri` ON `item-uri` . `id` = `contact` . `uri-id`
2021-07-10 23:55:03 +02:00
LEFT JOIN `apcontact` ON `apcontact` . `uri-id` = `contact` . `uri-id`
2021-09-15 06:36:01 +02:00
LEFT JOIN `diaspora-contact` ON `diaspora-contact` . `uri-id` = contact . `uri-id`
2022-03-24 12:30:32 +01:00
LEFT JOIN `gserver` ON `gserver` . `id` = contact . `gsid`
2021-08-28 09:10:27 +02:00
WHERE `contact` . `uid` = 0 "
2021-07-10 23:55:03 +02:00
],
" account-user-view " => [
" fields " => [
" id " => [ " ucontact " , " id " ],
2021-07-11 05:06:46 +02:00
" pid " => [ " contact " , " id " ],
2021-07-10 23:55:03 +02:00
" uid " => [ " ucontact " , " uid " ],
" url " => [ " contact " , " url " ],
" nurl " => [ " contact " , " nurl " ],
" uri-id " => [ " contact " , " uri-id " ],
2021-10-04 08:13:52 +02:00
" guid " => [ " item-uri " , " guid " ],
2021-07-10 23:55:03 +02:00
" addr " => [ " contact " , " addr " ],
" alias " => [ " contact " , " alias " ],
" name " => [ " contact " , " name " ],
" nick " => [ " contact " , " nick " ],
" about " => [ " contact " , " about " ],
" keywords " => [ " contact " , " keywords " ],
" xmpp " => [ " contact " , " xmpp " ],
2021-08-09 03:39:09 +02:00
" matrix " => [ " contact " , " matrix " ],
2021-07-10 23:55:03 +02:00
" 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 " ],
2021-09-13 10:22:11 +02:00
" attag " => [ " ucontact " , " attag " ],
2021-07-10 23:55:03 +02:00
" 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 " ],
2021-09-13 10:22:11 +02:00
" info " => [ " ucontact " , " info " ],
2021-07-10 23:55:03 +02:00
" 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-notify " => [ " contact " , " notify " ],
" dfrn-poll " => [ " contact " , " poll " ],
2021-09-15 06:36:01 +02:00
" diaspora-guid " => [ " item-uri " , " guid " ],
" diaspora-batch " => [ " diaspora-contact " , " batch " ],
" diaspora-notify " => [ " diaspora-contact " , " notify " ],
" diaspora-poll " => [ " diaspora-contact " , " poll " ],
" diaspora-alias " => [ " diaspora-contact " , " alias " ],
" diaspora-interacting_count " => [ " diaspora-contact " , " interacting_count " ],
" diaspora-interacted_count " => [ " diaspora-contact " , " interacted_count " ],
" diaspora-post_count " => [ " diaspora-contact " , " post_count " ],
2021-07-10 23:55:03 +02:00
" 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 " ],
2022-03-24 12:30:32 +01:00
" site_name " => [ " gserver " , " site_name " ],
" platform " => [ " gserver " , " platform " ],
" version " => [ " gserver " , " version " ],
2023-03-28 07:33:14 +02:00
" server-blocked " => [ " gserver " , " blocked " ],
" server-failed " => [ " gserver " , " failed " ],
2021-07-10 23:55:03 +02:00
],
" query " => " FROM `contact` AS `ucontact`
INNER JOIN `contact` ON `contact` . `uri-id` = `ucontact` . `uri-id` AND `contact` . `uid` = 0
2021-10-04 08:13:52 +02:00
LEFT JOIN `item-uri` ON `item-uri` . `id` = `ucontact` . `uri-id`
2021-07-10 23:55:03 +02:00
LEFT JOIN `apcontact` ON `apcontact` . `uri-id` = `ucontact` . `uri-id`
2021-09-15 06:36:01 +02:00
LEFT JOIN `diaspora-contact` ON `diaspora-contact` . `uri-id` = `ucontact` . `uri-id`
2022-03-24 12:30:32 +01:00
LEFT JOIN `gserver` ON `gserver` . `id` = contact . `gsid` "
2021-07-10 23:55:03 +02:00
],
2020-04-24 17:42:43 +02:00
" pending-view " => [
" fields " => [
" id " => [ " register " , " id " ],
" hash " => [ " register " , " hash " ],
" created " => [ " register " , " created " ],
" uid " => [ " register " , " uid " ],
" password " => [ " register " , " password " ],
" language " => [ " register " , " language " ],
" note " => [ " register " , " note " ],
" self " => [ " contact " , " self " ],
" name " => [ " contact " , " name " ],
" url " => [ " contact " , " url " ],
" micro " => [ " contact " , " micro " ],
" email " => [ " user " , " email " ],
" nick " => [ " contact " , " nick " ],
],
" query " => " FROM `register`
INNER JOIN `contact` ON `register` . `uid` = `contact` . `uid`
INNER JOIN `user` ON `register` . `uid` = `user` . `uid` "
],
2020-04-27 22:32:25 +02:00
" tag-search-view " => [
" fields " => [
" uri-id " => [ " post-tag " , " uri-id " ],
2021-02-14 10:43:27 +01:00
" uid " => [ " post-user " , " uid " ],
2021-02-15 07:14:53 +01:00
" iid " => [ " post-user " , " id " ],
2021-02-14 10:43:27 +01:00
" private " => [ " post-user " , " private " ],
" wall " => [ " post-user " , " wall " ],
" origin " => [ " post-user " , " origin " ],
2021-02-22 20:47:08 +01:00
" global " => [ " post-user " , " global " ],
2021-02-14 10:43:27 +01:00
" gravity " => [ " post-user " , " gravity " ],
" received " => [ " post-user " , " received " ],
2021-02-22 20:47:08 +01:00
" network " => [ " post-user " , " network " ],
2021-03-11 20:59:42 +01:00
" author-id " => [ " post-user " , " author-id " ],
2020-04-27 22:32:25 +02:00
" name " => [ " tag " , " name " ],
],
" query " => " FROM `post-tag`
INNER JOIN `tag` ON `tag` . `id` = `post-tag` . `tid`
2021-02-14 10:43:27 +01:00
STRAIGHT_JOIN `post-user` ON `post-user` . `uri-id` = `post-tag` . `uri-id`
2020-04-27 22:32:25 +02:00
WHERE `post-tag` . `type` = 1 "
],
2020-04-24 20:50:36 +02:00
" workerqueue-view " => [
" fields " => [
" pid " => [ " process " , " pid " ],
" priority " => [ " workerqueue " , " priority " ],
],
" query " => " FROM `process`
INNER JOIN `workerqueue` ON `workerqueue` . `pid` = `process` . `pid`
WHERE NOT `workerqueue` . `done` "
],
2021-10-17 15:32:50 +02:00
" profile_field-view " => [
" fields " => [
" id " => [ " profile_field " , " id " ],
" uid " => [ " profile_field " , " uid " ],
" label " => [ " profile_field " , " label " ],
" value " => [ " profile_field " , " value " ],
" order " => [ " profile_field " , " order " ],
" psid " => [ " profile_field " , " psid " ],
" allow_cid " => [ " permissionset " , " allow_cid " ],
" allow_gid " => [ " permissionset " , " allow_gid " ],
" deny_cid " => [ " permissionset " , " deny_cid " ],
2021-10-17 23:10:10 +02:00
" deny_gid " => [ " permissionset " , " deny_gid " ],
" created " => [ " profile_field " , " created " ],
2021-10-18 23:17:40 +02:00
" edited " => [ " profile_field " , " edited " ],
2021-10-17 15:32:50 +02:00
],
" query " => " FROM `profile_field`
INNER JOIN `permissionset` ON `permissionset` . `id` = `profile_field` . `psid` "
],
2021-08-28 09:10:27 +02:00
" diaspora-contact-view " => [
" fields " => [
" uri-id " => [ " diaspora-contact " , " uri-id " ],
" url " => [ " item-uri " , " uri " ],
" guid " => [ " item-uri " , " guid " ],
" addr " => [ " diaspora-contact " , " addr " ],
" alias " => [ " diaspora-contact " , " alias " ],
" nick " => [ " diaspora-contact " , " nick " ],
" name " => [ " diaspora-contact " , " name " ],
" given-name " => [ " diaspora-contact " , " given-name " ],
" family-name " => [ " diaspora-contact " , " family-name " ],
" photo " => [ " diaspora-contact " , " photo " ],
" photo-medium " => [ " diaspora-contact " , " photo-medium " ],
" photo-small " => [ " diaspora-contact " , " photo-small " ],
" batch " => [ " diaspora-contact " , " batch " ],
" notify " => [ " diaspora-contact " , " notify " ],
" poll " => [ " diaspora-contact " , " poll " ],
" subscribe " => [ " diaspora-contact " , " subscribe " ],
" searchable " => [ " diaspora-contact " , " searchable " ],
" pubkey " => [ " diaspora-contact " , " pubkey " ],
" baseurl " => [ " gserver " , " url " ],
" gsid " => [ " diaspora-contact " , " gsid " ],
" created " => [ " diaspora-contact " , " created " ],
" updated " => [ " diaspora-contact " , " updated " ],
" interacting_count " => [ " diaspora-contact " , " interacting_count " ],
" interacted_count " => [ " diaspora-contact " , " interacted_count " ],
" post_count " => [ " diaspora-contact " , " post_count " ],
],
" query " => " FROM `diaspora-contact`
INNER JOIN `item-uri` ON `item-uri` . `id` = `diaspora-contact` . `uri-id`
LEFT JOIN `gserver` ON `gserver` . `id` = `diaspora-contact` . `gsid` "
],
2020-04-23 08:19:44 +02:00
];