]> git.mxchange.org Git - friendica.git/blob - static/dbview.config.php
Merge remote-tracking branch 'upstream/develop' into views
[friendica.git] / static / dbview.config.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2020, Friendica
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  * Main view structure configuration file.
21  *
22  * Here are described all the view Friendica needs to work.
23  *
24  * Syntax (braces indicate optionale values):
25  * "<view name>" => [
26  *      "fields" => [
27  *              "<field name>" => ["table", "field"],
28  *              "<field name>" => "SQL expression",
29  *              ...
30  *      ],
31  *      "query" => "FROM `table` INNER JOIN `other-table` ..."
32  *      ],
33  * ],
34  *
35  * If you need to make any change, make sure to increment the DB_UPDATE_VERSION constant value in dbstructure.config.php.
36  *
37  */
38
39 return [
40         "tag-view" => [
41                 "fields" => ["uri-id" => ["post-tag", "uri-id"],
42                         "uri" => ["item-uri", "uri"],
43                         "guid" => ["item-uri", "guid"],
44                         "type" => ["post-tag", "type"],
45                         "tid" => ["post-tag", "tid"],
46                         "cid" => ["post-tag", "cid"],
47                         "name" => "CASE `cid` WHEN 0 THEN `tag`.`name` ELSE `contact`.`name` END",
48                         "url" => "CASE `cid` WHEN 0 THEN `tag`.`url` ELSE `contact`.`url` END"],
49                 "query" => "FROM `post-tag`
50                         INNER JOIN `item-uri` ON `item-uri`.id = `post-tag`.`uri-id`
51                         LEFT JOIN `tag` ON `post-tag`.`tid` = `tag`.`id`
52                         LEFT JOIN `contact` ON `post-tag`.`cid` = `contact`.`id`"
53         ]
54 ];
55