diff --git a/doc/database.md b/doc/database.md index 447607f8da..60e3253fe3 100644 --- a/doc/database.md +++ b/doc/database.md @@ -3,50 +3,76 @@ Database Tables * [Home](help) -| Table | Description | -|------------------------------------------------------|--------------------------------------------------| -| [addon](help/database/db_addon) | registered addons | -| [attach](help/database/db_attach) | file attachments | -| [auth_codes](help/database/db_auth_codes) | OAuth usage | -| [cache](help/database/db_cache) | OEmbed cache | -| [challenge](help/database/db_challenge) | | -| [clients](help/database/db_clients) | OAuth usage | -| [config](help/database/db_config) | main configuration storage | -| [contact](help/database/db_contact) | contact table | -| [conv](help/database/db_conv) | private messages | -| [conversation](help/database/db_conversation) | Raw data and structure information for messages | -| [event](help/database/db_event) | Events | -| [fcontact](help/database/db_fcontact) | friend suggestion stuff | -| [fsuggest](help/database/db_fsuggest) | friend suggestion stuff | -| [group](help/database/db_group) | privacy groups, group info | -| [group_member](help/database/db_group_member) | privacy groups, member info | -| [gserver](help/database/db_gserver) | | -| [hook](help/database/db_hook) | addon hook registry | -| [intro](help/database/db_intro) | | -| [item](help/database/db_item) | all posts | -| [locks](help/database/db_locks) | | -| [mail](help/database/db_mail) | private messages | -| [mailacct](help/database/db_mailacct) | | -| [manage](help/database/db_manage) | table of accounts that can "su" each other | -| [notify](help/database/db_notify) | notifications | -| [notify-threads](help/database/db_notify-threads) | | -| [oembed](help/database/db_oembed) | cache for OEmbed queries | -| [parsed_url](help/database/db_parsed_url) | cache for "parse_url" queries | -| [pconfig](help/database/db_pconfig) | personal (per user) configuration storage | -| [photo](help/database/db_photo) | photo storage | -| [poll](help/database/db_poll) | data for polls | -| [poll_result](help/database/db_poll_result) | data for poll elements | -| [profile](help/database/db_profile) | user profiles data | -| [profile_check](help/database/db_profile_check) | DFRN remote auth use | -| [push_subscriber](help/database/db_push_subscriber) | | -| [queue](help/database/db_queue) | | -| [register](help/database/db_register) | registrations requiring admin approval | -| [search](help/database/db_search) | | -| [session](help/database/db_session) | web session storage | -| [sign](help/database/db_sign) | Diaspora signatures | -| [term](help/database/db_term) | item taxonomy (categories, tags, etc.) table | -| [thread](help/database/db_thread) | | -| [tokens](help/database/db_tokens) | OAuth usage | -| [user](help/database/db_user) | local user table | -| [userd](help/database/db_userd) | | -| [workerqueue](help/database/db_workerqueue) | | +| Table | Description | +|-------|-------------| +| [2fa_app_specific_password](help/database/db_2fa_app_specific_password) | Two-factor app-specific _password | +| [2fa_recovery_codes](help/database/db_2fa_recovery_codes) | Two-factor authentication recovery codes | +| [2fa_trusted_browser](help/database/db_2fa_trusted_browser) | Two-factor authentication trusted browsers | +| [addon](help/database/db_addon) | registered addons | +| [apcontact](help/database/db_apcontact) | ActivityPub compatible contacts - used in the ActivityPub implementation | +| [application](help/database/db_application) | OAuth application | +| [application-token](help/database/db_application-token) | OAuth user token | +| [attach](help/database/db_attach) | file attachments | +| [auth_codes](help/database/db_auth_codes) | OAuth usage | +| [cache](help/database/db_cache) | Stores temporary data | +| [challenge](help/database/db_challenge) | | +| [clients](help/database/db_clients) | OAuth usage | +| [config](help/database/db_config) | main configuration storage | +| [contact](help/database/db_contact) | contact table | +| [contact-relation](help/database/db_contact-relation) | Contact relations | +| [conv](help/database/db_conv) | private messages | +| [conversation](help/database/db_conversation) | Raw data and structure information for messages | +| [delayed-post](help/database/db_delayed-post) | Posts that are about to be distributed at a later time | +| [diaspora-interaction](help/database/db_diaspora-interaction) | Signed Diaspora Interaction | +| [event](help/database/db_event) | Events | +| [fcontact](help/database/db_fcontact) | Diaspora compatible contacts - used in the Diaspora implementation | +| [fsuggest](help/database/db_fsuggest) | friend suggestion stuff | +| [group](help/database/db_group) | privacy groups, group info | +| [group_member](help/database/db_group_member) | privacy groups, member info | +| [gserver](help/database/db_gserver) | Global servers | +| [gserver-tag](help/database/db_gserver-tag) | Tags that the server has subscribed | +| [hook](help/database/db_hook) | addon hook registry | +| [host](help/database/db_host) | Hostname | +| [inbox-status](help/database/db_inbox-status) | Status of ActivityPub inboxes | +| [intro](help/database/db_intro) | | +| [item-uri](help/database/db_item-uri) | URI and GUID for items | +| [locks](help/database/db_locks) | | +| [mail](help/database/db_mail) | private messages | +| [mailacct](help/database/db_mailacct) | Mail account data for fetching mails | +| [manage](help/database/db_manage) | table of accounts that can manage each other | +| [notification](help/database/db_notification) | notifications | +| [notify](help/database/db_notify) | notifications | +| [notify-threads](help/database/db_notify-threads) | | +| [oembed](help/database/db_oembed) | cache for OEmbed queries | +| [openwebauth-token](help/database/db_openwebauth-token) | Store OpenWebAuth token to verify contacts | +| [parsed_url](help/database/db_parsed_url) | cache for 'parse_url' queries | +| [pconfig](help/database/db_pconfig) | personal (per user) configuration storage | +| [permissionset](help/database/db_permissionset) | | +| [photo](help/database/db_photo) | photo storage | +| [post](help/database/db_post) | Structure for all posts | +| [post-category](help/database/db_post-category) | post relation to categories | +| [post-content](help/database/db_post-content) | Content for all posts | +| [post-delivery-data](help/database/db_post-delivery-data) | Delivery data for items | +| [post-media](help/database/db_post-media) | Attached media | +| [post-tag](help/database/db_post-tag) | post relation to tags | +| [post-thread](help/database/db_post-thread) | Thread related data | +| [post-thread-user](help/database/db_post-thread-user) | Thread related data per user | +| [post-user](help/database/db_post-user) | User specific post data | +| [post-user-notification](help/database/db_post-user-notification) | User post notifications | +| [process](help/database/db_process) | Currently running system processes | +| [profile](help/database/db_profile) | user profiles data | +| [profile_check](help/database/db_profile_check) | DFRN remote auth use | +| [profile_field](help/database/db_profile_field) | Custom profile fields | +| [push_subscriber](help/database/db_push_subscriber) | Used for OStatus: Contains feed subscribers | +| [register](help/database/db_register) | registrations requiring admin approval | +| [search](help/database/db_search) | | +| [session](help/database/db_session) | web session storage | +| [storage](help/database/db_storage) | Data stored by Database storage backend | +| [tag](help/database/db_tag) | tags and mentions | +| [tokens](help/database/db_tokens) | OAuth usage | +| [user](help/database/db_user) | The local users | +| [user-contact](help/database/db_user-contact) | User specific public contact data | +| [userd](help/database/db_userd) | Deleted usernames | +| [verb](help/database/db_verb) | Activity Verbs | +| [worker-ipc](help/database/db_worker-ipc) | Inter process communication between the frontend and the worker | +| [workerqueue](help/database/db_workerqueue) | Background tasks queue entries | diff --git a/doc/database/db_2fa_app_specific_password.md b/doc/database/db_2fa_app_specific_password.md new file mode 100644 index 0000000000..66dd77c95c --- /dev/null +++ b/doc/database/db_2fa_app_specific_password.md @@ -0,0 +1,33 @@ +Table 2fa_app_specific_password +=========== + +Two-factor app-specific _password + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------------- | ---------------------------------------- | ------------------ | ---- | --- | ------- | -------------- | +| id | Password ID for revocation | mediumint unsigned | NO | PRI | NULL | auto_increment | +| uid | User ID | mediumint unsigned | NO | | NULL | | +| description | Description of the usage of the password | varchar(255) | YES | | NULL | | +| hashed_password | Hashed password | varchar(255) | NO | | NULL | | +| generated | Datetime the password was generated | datetime | NO | | NULL | | +| last_used | Datetime the password was last used | datetime | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| --------------- | --------------------- | +| PRIMARY | id | +| uid_description | uid, description(190) | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_2fa_recovery_codes.md b/doc/database/db_2fa_recovery_codes.md new file mode 100644 index 0000000000..69c34e6547 --- /dev/null +++ b/doc/database/db_2fa_recovery_codes.md @@ -0,0 +1,30 @@ +Table 2fa_recovery_codes +=========== + +Two-factor authentication recovery codes + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ------------------------------- | ------------------ | ---- | --- | ------- | ----- | +| uid | User ID | mediumint unsigned | NO | PRI | NULL | | +| code | Recovery code string | varchar(50) | NO | PRI | NULL | | +| generated | Datetime the code was generated | datetime | NO | | NULL | | +| used | Datetime the code was used | datetime | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | --------- | +| PRIMARY | uid, code | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_2fa_trusted_browser.md b/doc/database/db_2fa_trusted_browser.md new file mode 100644 index 0000000000..d12d9e1fc0 --- /dev/null +++ b/doc/database/db_2fa_trusted_browser.md @@ -0,0 +1,32 @@ +Table 2fa_trusted_browser +=========== + +Two-factor authentication trusted browsers + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----------- | ------------------------------------------ | ------------------ | ---- | --- | ------- | ----- | +| cookie_hash | Trusted cookie hash | varchar(80) | NO | PRI | NULL | | +| uid | User ID | mediumint unsigned | NO | | NULL | | +| user_agent | User agent string | text | YES | | NULL | | +| created | Datetime the trusted browser was recorded | datetime | NO | | NULL | | +| last_used | Datetime the trusted browser was last used | datetime | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ----------- | +| PRIMARY | cookie_hash | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_addon.md b/doc/database/db_addon.md index cd8a3d44a6..7233b80095 100644 --- a/doc/database/db_addon.md +++ b/doc/database/db_addon.md @@ -1,17 +1,29 @@ Table addon =========== -| Field | Description | Type | Null | Key | Default | Extra | -| ------------- | --------------------------------------------- | ---------- | ---- | --- | ------- | --------------- | -| id | | int(11) | NO | PRI | NULL | auto_increment | -| name | addon base (file)name | char(255) | NO | | | | -| version | currently unused | char(255) | NO | | | | -| installed | currently always 1 | tinyint(1) | NO | | 0 | | -| hidden | currently unused | tinyint(1) | NO | | 0 | | -| timestamp | file timestamp to check for reloads | bigint(20) | NO | | 0 | | -| plugin_admin | 1 = has admin config, 0 = has no admin config | tinyint(1) | NO | | 0 | | +registered addons + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | --------------------------------------------- | ------------ | ---- | --- | ------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| name | addon base (file)name | varchar(50) | NO | | | | +| version | currently unused | varchar(50) | NO | | | | +| installed | currently always 1 | boolean | NO | | 0 | | +| hidden | currently unused | boolean | NO | | 0 | | +| timestamp | file timestamp to check for reloads | int unsigned | NO | | 0 | | +| plugin_admin | 1 = has admin config, 0 = has no admin config | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| -------------- | --------------- | +| PRIMARY | id | +| installed_name | installed, name | +| name | UNIQUE, name | -Notes: -These are addons which have been enabled by the site administrator on the addon page Return to [database documentation](help/database) diff --git a/doc/database/db_apcontact.md b/doc/database/db_apcontact.md new file mode 100644 index 0000000000..539be251ae --- /dev/null +++ b/doc/database/db_apcontact.md @@ -0,0 +1,56 @@ +Table apcontact +=========== + +ActivityPub compatible contacts - used in the ActivityPub implementation + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ---------------- | ---------------------------- | -------------- | ---- | --- | ------------------- | ----- | +| url | URL of the contact | varbinary(255) | NO | PRI | NULL | | +| uuid | | varchar(255) | YES | | NULL | | +| type | | varchar(20) | NO | | NULL | | +| following | | varchar(255) | YES | | NULL | | +| followers | | varchar(255) | YES | | NULL | | +| inbox | | varchar(255) | NO | | NULL | | +| outbox | | varchar(255) | YES | | NULL | | +| sharedinbox | | varchar(255) | YES | | NULL | | +| manually-approve | | boolean | YES | | NULL | | +| nick | | varchar(255) | NO | | | | +| name | | varchar(255) | YES | | NULL | | +| about | | text | YES | | NULL | | +| photo | | varchar(255) | YES | | NULL | | +| addr | | varchar(255) | YES | | NULL | | +| alias | | varchar(255) | YES | | NULL | | +| pubkey | | text | YES | | NULL | | +| subscribe | | varchar(255) | YES | | NULL | | +| baseurl | baseurl of the ap contact | varchar(255) | YES | | NULL | | +| gsid | Global Server ID | int unsigned | YES | | NULL | | +| generator | Name of the contact's system | varchar(255) | YES | | NULL | | +| following_count | Number of following contacts | int unsigned | YES | | 0 | | +| followers_count | Number of followers | int unsigned | YES | | 0 | | +| statuses_count | Number of posts | int unsigned | YES | | 0 | | +| updated | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ----------- | ---------------- | +| PRIMARY | url | +| addr | addr(32) | +| alias | alias(190) | +| followers | followers(190) | +| baseurl | baseurl(190) | +| sharedinbox | sharedinbox(190) | +| gsid | gsid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| gsid | [gserver](help/database/db_gserver) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_application-token.md b/doc/database/db_application-token.md new file mode 100644 index 0000000000..9899a5e8b3 --- /dev/null +++ b/doc/database/db_application-token.md @@ -0,0 +1,38 @@ +Table application-token +=========== + +OAuth user token + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------------- | ------------- | ------------------ | ---- | --- | ------- | ----- | +| application-id | | int unsigned | NO | PRI | NULL | | +| uid | Owner User id | mediumint unsigned | NO | PRI | NULL | | +| code | | varchar(64) | NO | | NULL | | +| access_token | | varchar(64) | NO | | NULL | | +| created_at | creation time | datetime | NO | | NULL | | +| scopes | | varchar(255) | YES | | NULL | | +| read | Read scope | boolean | YES | | NULL | | +| write | Write scope | boolean | YES | | NULL | | +| follow | Follow scope | boolean | YES | | NULL | | +| push | Push scope | boolean | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------------------- | +| PRIMARY | application-id, uid | +| uid_id | uid, application-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| application-id | [application](help/database/db_application) | id | +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_application.md b/doc/database/db_application.md new file mode 100644 index 0000000000..0a91e703ad --- /dev/null +++ b/doc/database/db_application.md @@ -0,0 +1,32 @@ +Table application +=========== + +OAuth application + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | --------------- | ------------ | ---- | --- | ------- | -------------- | +| id | generated index | int unsigned | NO | PRI | NULL | auto_increment | +| client_id | | varchar(64) | NO | | NULL | | +| client_secret | | varchar(64) | NO | | NULL | | +| name | | varchar(255) | NO | | NULL | | +| redirect_uri | | varchar(255) | NO | | NULL | | +| website | | varchar(255) | YES | | NULL | | +| scopes | | varchar(255) | YES | | NULL | | +| read | Read scope | boolean | YES | | NULL | | +| write | Write scope | boolean | YES | | NULL | | +| follow | Follow scope | boolean | YES | | NULL | | +| push | Push scope | boolean | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| --------- | ----------------- | +| PRIMARY | id | +| client_id | UNIQUE, client_id | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_attach.md b/doc/database/db_attach.md index 7dde8f860d..76d8e01f20 100644 --- a/doc/database/db_attach.md +++ b/doc/database/db_attach.md @@ -1,22 +1,42 @@ Table attach -============ +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ---------- | ------------------------------------------------------| ------------ | ---- | --- | ------------------- | --------------- | -| id | generated index | int(11) | NO | PRI | NULL | auto_increment | -| uid | user_id of owner | int(11) | NO | | 0 | | -| hash | hash | varchar(64) | NO | | | | -| filename | filename of original | varchar(255) | NO | | | | -| filetype | mimetype | varchar(64) | NO | | | | -| filesize | size in bytes | int(11) | NO | | 0 | | -| data | file data | longblob | NO | | NULL | | -| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | | -| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | | -| allow_cid | Access Control - list of allowed contact.id '<19><78> | mediumtext | NO | | NULL | | -| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | | -| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | | -| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | | +file attachments -Notes: Permissions are surrounded by angle chars. e.g. <4> +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | ----------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | generated index | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| hash | hash | varchar(64) | NO | | | | +| filename | filename of original | varchar(255) | NO | | | | +| filetype | mimetype | varchar(64) | NO | | | | +| filesize | size in bytes | int unsigned | NO | | 0 | | +| data | file data | longblob | NO | | NULL | | +| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | | +| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | | +| allow_cid | Access Control - list of allowed contact.id '<19><78> | mediumtext | YES | | NULL | | +| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | | +| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | | +| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | | +| backend-class | Storage backend class | tinytext | YES | | NULL | | +| backend-ref | Storage backend data reference | text | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_auth_codes.md b/doc/database/db_auth_codes.md index 1fec38500d..a1d28e0965 100644 --- a/doc/database/db_auth_codes.md +++ b/doc/database/db_auth_codes.md @@ -1,14 +1,32 @@ Table auth_codes -================ +=========== -OAuth2 authorisation register - currently implemented but unused +OAuth usage -| Field | Description | Type | Null | Key | Default | Extra | -| ------------- | ----------- | ------------ | ---- | --- | ------- | ----- | -| id | | varchar(40) | NO | PRI | NULL | | -| client_id | | varchar(20) | NO | | | | -| redirect_uri | | varchar(200) | NO | | | | -| expires | | int(11) | NO | | 0 | | -| scope | | varchar(250) | NO | | | | +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | ----------- | ------------ | ---- | --- | ------- | ----- | +| id | | varchar(40) | NO | PRI | NULL | | +| client_id | | varchar(20) | NO | | | | +| redirect_uri | | varchar(200) | NO | | | | +| expires | | int | NO | | 0 | | +| scope | | varchar(250) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| --------- | --------- | +| PRIMARY | id | +| client_id | client_id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| client_id | [clients](help/database/db_clients) | client_id | Return to [database documentation](help/database) diff --git a/doc/database/db_cache.md b/doc/database/db_cache.md index f5691d08a6..27a11daa66 100644 --- a/doc/database/db_cache.md +++ b/doc/database/db_cache.md @@ -3,11 +3,23 @@ Table cache Stores temporary data -| Field | Description | Type | Null | Key | Default | Extra | -| ------------ | ---------------------------------- | ------------ | ---- | --- | ------------------- | ----- | -| k | cache key | varchar(255) | NO | PRI | NULL | | -| v | cached serialized value | text | NO | | NULL | | -| expires | datetime of cache expiration | datetime | NO | MUL | 0001-01-01 00:00:00 | | -| updated | datetime of cache insertion | datetime | NO | MUL | 0001-01-01 00:00:00 | | +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ---------------------------- | -------------- | ---- | --- | ------------------- | ----- | +| k | cache key | varbinary(255) | NO | PRI | NULL | | +| v | cached serialized value | mediumtext | YES | | NULL | | +| expires | datetime of cache expiration | datetime | NO | | 0001-01-01 00:00:00 | | +| updated | datetime of cache insertion | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| --------- | ---------- | +| PRIMARY | k | +| k_expires | k, expires | + Return to [database documentation](help/database) diff --git a/doc/database/db_challenge.md b/doc/database/db_challenge.md index aa7b263fdf..1618389094 100644 --- a/doc/database/db_challenge.md +++ b/doc/database/db_challenge.md @@ -1,13 +1,27 @@ Table challenge -=============== +=========== + + + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----------- | ------------- | ------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| challenge | | varchar(255) | NO | | | | +| dfrn-id | | varchar(255) | NO | | | | +| expire | | int unsigned | NO | | 0 | | +| type | | varchar(255) | NO | | | | +| last_update | | varchar(255) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| expire | expire | -| Field | Description | Type | Null | Key | Default | Extra | -|-------------|------------------|------------------|------|-----|---------|----------------| -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| challenge | | varchar(255) | NO | | | | -| dfrn-id | | varchar(255) | NO | | | | -| expire | | int(11) | NO | | 0 | | -| type | | varchar(255) | NO | | | | -| last_update | | varchar(255) | NO | | | | Return to [database documentation](help/database) diff --git a/doc/database/db_clients.md b/doc/database/db_clients.md index 228b45cc21..a97e796edd 100644 --- a/doc/database/db_clients.md +++ b/doc/database/db_clients.md @@ -1,13 +1,33 @@ Table clients -============= +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ------------- | ----------- | ------------ | ---- | --- | ------- | ----- | -| client_id | | varchar(20) | NO | PRI | NULL | | -| pw | | varchar(20) | NO | | | | -| redirect_uri | | varchar(200) | NO | | | | -| name | | text | YES | | NULL | | -| icon | | text | YES | | NULL | | -| uid | | int(11) | NO | | 0 | | +OAuth usage + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | ----------- | ------------------ | ---- | --- | ------- | ----- | +| client_id | | varchar(20) | NO | PRI | NULL | | +| pw | | varchar(20) | NO | | | | +| redirect_uri | | varchar(200) | NO | | | | +| name | | text | YES | | NULL | | +| icon | | text | YES | | NULL | | +| uid | User id | mediumint unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | --------- | +| PRIMARY | client_id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_config.md b/doc/database/db_config.md index 6bcb4bcf89..7d7618794a 100644 --- a/doc/database/db_config.md +++ b/doc/database/db_config.md @@ -1,11 +1,25 @@ Table config -============ +=========== + +main configuration storage + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ----------- | ------------- | ---- | --- | ------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| cat | | varbinary(50) | NO | | | | +| k | | varbinary(50) | NO | | | | +| v | | mediumtext | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | -------------- | +| PRIMARY | id | +| cat_k | UNIQUE, cat, k | -| Field | Description | Type | Null | Key | Default | Extra | -| ----- | ----------- | ---------------- | ---- | --- | ------- | --------------- | -| id | | int(10) unsigned | NO | PRI | NULL | auto_increment | -| cat | | char(255) | NO | MUL | | | -| k | | char(255) | NO | | | | -| v | | text | NO | | NULL | | Return to [database documentation](help/database) diff --git a/doc/database/db_contact-relation.md b/doc/database/db_contact-relation.md new file mode 100644 index 0000000000..8628b1ef66 --- /dev/null +++ b/doc/database/db_contact-relation.md @@ -0,0 +1,33 @@ +Table contact-relation +=========== + +Contact relations + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ---------------- | --------------------------------------------------- | ------------ | ---- | --- | ------------------- | ----- | +| cid | contact the related contact had interacted with | int unsigned | NO | PRI | 0 | | +| relation-cid | related contact who had interacted with the contact | int unsigned | NO | PRI | 0 | | +| last-interaction | Date of the last interaction | datetime | NO | | 0001-01-01 00:00:00 | | +| follow-updated | Date of the last update of the contact relationship | datetime | NO | | 0001-01-01 00:00:00 | | +| follows | | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------------ | ----------------- | +| PRIMARY | cid, relation-cid | +| relation-cid | relation-cid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| cid | [contact](help/database/db_contact) | id | +| relation-cid | [contact](help/database/db_contact) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_contact.md b/doc/database/db_contact.md index 2963a1a2a4..0e04c1ece8 100644 --- a/doc/database/db_contact.md +++ b/doc/database/db_contact.md @@ -1,72 +1,129 @@ Table contact -============= +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|---------------------------|-----------------------------------------------------------|--------------|------|-----|---------------------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| uid | user.id of the owner of this data | int(11) | NO | MUL | 0 | | -| created | | datetime | NO | | 0001-01-01 00:00:00 | | -| self | 1 if the contact is the user him/her self | tinyint(1) | NO | | 0 | | -| remote_self | | tinyint(1) | NO | | 0 | | -| rel | The kind of the relation between the user and the contact | tinyint(1) | NO | | 0 | | -| duplex | | tinyint(1) | NO | | 0 | | -| network | Network protocol of the contact | varchar(255) | NO | | | | -| name | Name that this contact is known by | varchar(255) | NO | | | | -| nick | Nick- and user name of the contact | varchar(255) | NO | | | | -| location | | varchar(255) | NO | | | | -| about | | text | NO | | NULL | | -| keywords | public keywords (interests) of the contact | text | NO | | NULL | | -| gender | | varchar(32) | NO | | | | -| attag | | varchar(255) | NO | | | | -| photo | Link to the profile photo of the contact | text | NO | | NULL | | -| thumb | Link to the profile photo (thumb size) | text | NO | | NULL | | -| micro | Link to the profile photo (micro size) | text | NO | | NULL | | -| site-pubkey | | text | NO | | NULL | | -| issued-id | | varchar(255) | NO | | | | -| dfrn-id | | varchar(255) | NO | | | | -| url | | varchar(255) | NO | | | | -| nurl | | varchar(255) | NO | | | | -| addr | | varchar(255) | NO | | | | -| alias | | varchar(255) | NO | | | | -| pubkey | RSA public key 4096 bit | text | NO | | NULL | | -| prvkey | RSA private key 4096 bit | text | NO | | NULL | | -| batch | | varchar(255) | NO | | | | -| request | | text | NO | | NULL | | -| notify | | text | NO | | NULL | | -| poll | | text | NO | | NULL | | -| confirm | | text | NO | | NULL | | -| poco | | text | NO | | NULL | | -| aes_allow | | tinyint(1) | NO | | 0 | | -| ret-aes | | tinyint(1) | NO | | 0 | | -| usehub | | tinyint(1) | NO | | 0 | | -| subhub | | tinyint(1) | NO | | 0 | | -| hub-verify | | varchar(255) | NO | | | | -| last-update | Date of the last try to update the contact info | datetime | NO | | 0001-01-01 00:00:00 | | -| success_update | Date of the last successful contact update | datetime | NO | | 0001-01-01 00:00:00 | | -| failure_update | Date of the last failed update | datetime | NO | | 0001-01-01 00:00:00 | | -| name-date | | datetime | NO | | 0001-01-01 00:00:00 | | -| uri-date | | datetime | NO | | 0001-01-01 00:00:00 | | -| avatar-date | | datetime | NO | | 0001-01-01 00:00:00 | | -| term-date | | datetime | NO | | 0001-01-01 00:00:00 | | -| last-item | date of the last post | datetime | NO | | 0001-01-01 00:00:00 | | -| priority | | tinyint(3) | NO | | 0 | | -| blocked | | tinyint(1) | NO | | 1 | | -| readonly | posts of the contact are readonly | tinyint(1) | NO | | 0 | | -| writable | | tinyint(1) | NO | | 0 | | -| forum | contact is a forum | tinyint(1) | NO | | 0 | | -| prv | contact is a private group | tinyint(1) | NO | | 0 | | -| hidden | | tinyint(1) | NO | | 0 | | -| archive | | tinyint(1) | NO | | 0 | | -| pending | | tinyint(1) | NO | | 1 | | -| rating | | tinyint(1) | NO | | 0 | | -| reason | | text | NO | | NULL | | -| closeness | | tinyint(2) | NO | | 99 | | -| info | | mediumtext | NO | | NULL | | -| profile-id | | int(11) | NO | | 0 | | -| bdyear | | varchar(4) | NO | | | | -| bd | | date | NO | | 0001-01-01 | | -| notify_new_posts | | tinyint(1) | NO | | 0 | | -| fetch_further_information | | tinyint(1) | NO | | 0 | | -| ffi_keyword_denylist | | mediumtext | NO | | NULL | | +contact table + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------------------- | --------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | +| updated | Date of last contact update | datetime | YES | | 0001-01-01 00:00:00 | | +| self | 1 if the contact is the user him/her self | boolean | NO | | 0 | | +| remote_self | | boolean | NO | | 0 | | +| rel | The kind of the relation between the user and the contact | tinyint unsigned | NO | | 0 | | +| duplex | | boolean | NO | | 0 | | +| network | Network of the contact | char(4) | NO | | | | +| protocol | Protocol of the contact | char(4) | NO | | | | +| name | Name that this contact is known by | varchar(255) | NO | | | | +| nick | Nick- and user name of the contact | varchar(255) | NO | | | | +| location | | varchar(255) | YES | | | | +| about | | text | YES | | NULL | | +| keywords | public keywords (interests) of the contact | text | YES | | NULL | | +| gender | Deprecated | varchar(32) | NO | | | | +| xmpp | | varchar(255) | NO | | | | +| attag | | varchar(255) | NO | | | | +| avatar | | varchar(255) | NO | | | | +| photo | Link to the profile photo of the contact | varchar(255) | YES | | | | +| thumb | Link to the profile photo (thumb size) | varchar(255) | YES | | | | +| micro | Link to the profile photo (micro size) | varchar(255) | YES | | | | +| site-pubkey | | text | YES | | NULL | | +| issued-id | | varchar(255) | NO | | | | +| dfrn-id | | varchar(255) | NO | | | | +| url | | varchar(255) | NO | | | | +| nurl | | varchar(255) | NO | | | | +| addr | | varchar(255) | NO | | | | +| alias | | varchar(255) | NO | | | | +| pubkey | RSA public key 4096 bit | text | YES | | NULL | | +| prvkey | RSA private key 4096 bit | text | YES | | NULL | | +| batch | | varchar(255) | NO | | | | +| request | | varchar(255) | YES | | NULL | | +| notify | | varchar(255) | YES | | NULL | | +| poll | | varchar(255) | YES | | NULL | | +| confirm | | varchar(255) | YES | | NULL | | +| subscribe | | varchar(255) | YES | | NULL | | +| poco | | varchar(255) | YES | | NULL | | +| aes_allow | | boolean | NO | | 0 | | +| ret-aes | | boolean | NO | | 0 | | +| usehub | | boolean | NO | | 0 | | +| subhub | | boolean | NO | | 0 | | +| hub-verify | | varchar(255) | NO | | | | +| last-update | Date of the last try to update the contact info | datetime | NO | | 0001-01-01 00:00:00 | | +| success_update | Date of the last successful contact update | datetime | NO | | 0001-01-01 00:00:00 | | +| failure_update | Date of the last failed update | datetime | NO | | 0001-01-01 00:00:00 | | +| failed | Connection failed | boolean | YES | | NULL | | +| name-date | | datetime | NO | | 0001-01-01 00:00:00 | | +| uri-date | | datetime | NO | | 0001-01-01 00:00:00 | | +| avatar-date | | datetime | NO | | 0001-01-01 00:00:00 | | +| term-date | | datetime | NO | | 0001-01-01 00:00:00 | | +| last-item | date of the last post | datetime | NO | | 0001-01-01 00:00:00 | | +| last-discovery | date of the last follower discovery | datetime | NO | | 0001-01-01 00:00:00 | | +| priority | | tinyint unsigned | NO | | 0 | | +| blocked | Node-wide block status | boolean | NO | | 1 | | +| block_reason | Node-wide block reason | text | YES | | NULL | | +| readonly | posts of the contact are readonly | boolean | NO | | 0 | | +| writable | | boolean | NO | | 0 | | +| forum | contact is a forum | boolean | NO | | 0 | | +| prv | contact is a private group | boolean | NO | | 0 | | +| contact-type | | tinyint | NO | | 0 | | +| manually-approve | | boolean | YES | | NULL | | +| hidden | | boolean | NO | | 0 | | +| archive | | boolean | NO | | 0 | | +| pending | | boolean | NO | | 1 | | +| deleted | Contact has been deleted | boolean | NO | | 0 | | +| rating | | tinyint | NO | | 0 | | +| unsearchable | Contact prefers to not be searchable | boolean | NO | | 0 | | +| sensitive | Contact posts sensitive content | boolean | NO | | 0 | | +| baseurl | baseurl of the contact | varchar(255) | YES | | | | +| gsid | Global Server ID | int unsigned | YES | | NULL | | +| reason | | text | YES | | NULL | | +| closeness | | tinyint unsigned | NO | | 99 | | +| info | | mediumtext | YES | | NULL | | +| profile-id | Deprecated | int unsigned | YES | | NULL | | +| bdyear | | varchar(4) | NO | | | | +| bd | | date | NO | | 0001-01-01 | | +| notify_new_posts | | boolean | NO | | 0 | | +| fetch_further_information | | tinyint unsigned | NO | | 0 | | +| ffi_keyword_denylist | | text | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| --------------------------- | ------------------------------------ | +| PRIMARY | id | +| uid_name | uid, name(190) | +| self_uid | self, uid | +| alias_uid | alias(128), uid | +| pending_uid | pending, uid | +| blocked_uid | blocked, uid | +| uid_rel_network_poll | uid, rel, network, poll(64), archive | +| uid_network_batch | uid, network, batch(64) | +| batch_contact-type | batch(64), contact-type | +| addr_uid | addr(128), uid | +| nurl_uid | nurl(128), uid | +| nick_uid | nick(128), uid | +| attag_uid | attag(96), uid | +| dfrn-id | dfrn-id(64) | +| issued-id | issued-id(64) | +| network_uid_lastupdate | network, uid, last-update | +| uid_network_self_lastupdate | uid, network, self, last-update | +| uid_lastitem | uid, last-item | +| baseurl | baseurl(64) | +| uid_contact-type | uid, contact-type | +| uid_self_contact-type | uid, self, contact-type | +| self_network_uid | self, network, uid | +| gsid | gsid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| gsid | [gserver](help/database/db_gserver) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_conv.md b/doc/database/db_conv.md index f70191b88e..c1d50b5de5 100644 --- a/doc/database/db_conv.md +++ b/doc/database/db_conv.md @@ -1,15 +1,35 @@ Table conv -========== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ------- | ----------------------------------------- | ---------------- | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| guid | A unique identifier for this conversation | varchar(64) | NO | | | | -| recips | sender_handle;recipient_handle | mediumtext | NO | | NULL | | -| uid | user_id of the owner of this data | int(11) | NO | MUL | 0 | | -| creator | handle of creator | varchar(255) | NO | | | | -| created | creation timestamp | datetime | NO | | 0001-01-01 00:00:00 | | -| updated | edited timestamp | datetime | NO | | 0001-01-01 00:00:00 | | -| subject | subject of initial message | mediumtext | NO | | NULL | | +private messages + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ----------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| guid | A unique identifier for this conversation | varchar(255) | NO | | | | +| recips | sender_handle;recipient_handle | text | YES | | NULL | | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| creator | handle of creator | varchar(255) | NO | | | | +| created | creation timestamp | datetime | NO | | 0001-01-01 00:00:00 | | +| updated | edited timestamp | datetime | NO | | 0001-01-01 00:00:00 | | +| subject | subject of initial message | text | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_conversation.md b/doc/database/db_conversation.md index 32d030cb15..504b0dd4ae 100644 --- a/doc/database/db_conversation.md +++ b/doc/database/db_conversation.md @@ -1,14 +1,30 @@ Table conversation -================== +=========== + +Raw data and structure information for messages + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----------------- | -------------------------------------------------------------------- | ---------------- | ---- | --- | ------------------- | ----- | +| item-uri | Original URI of the item - unrelated to the table with the same name | varbinary(255) | NO | PRI | NULL | | +| reply-to-uri | URI to which this item is a reply | varbinary(255) | NO | | | | +| conversation-uri | GNU Social conversation URI | varbinary(255) | NO | | | | +| conversation-href | GNU Social conversation link | varbinary(255) | NO | | | | +| protocol | The protocol of the item | tinyint unsigned | NO | | 255 | | +| direction | How the message arrived here: 1=push, 2=pull | tinyint unsigned | NO | | 0 | | +| source | Original source | mediumtext | YES | | NULL | | +| received | Receiving date | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ---------------- | ---------------- | +| PRIMARY | item-uri | +| conversation-uri | conversation-uri | +| received | received | -| Field | Description | Type | Null | Key | Default | Extra | -|-------------------| ---------------------------------- |---------------------|------|-----|---------------------|----------------| -| item-uri | URI of the item | varbinary(255) | NO | PRI | NULL | | -| reply-to-uri | URI to which this item is a reply | varbinary(255) | NO | | | | -| conversation-uri | GNU Social conversation URI | varbinary(255) | NO | | | | -| conversation-href | GNU Social conversation link | varbinary(255) | NO | | | | -| protocol | The protocol of the item | tinyint(1) unsigned | NO | | 0 | | -| source | Original source | mediumtext | NO | | | | -| received | Receiving date | datetime | NO | | 0001-01-01 | | Return to [database documentation](help/database) diff --git a/doc/database/db_delayed-post.md b/doc/database/db_delayed-post.md new file mode 100644 index 0000000000..fe3251f70a --- /dev/null +++ b/doc/database/db_delayed-post.md @@ -0,0 +1,31 @@ +Table delayed-post +=========== + +Posts that are about to be distributed at a later time + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ---------------------------------------------- | ------------------ | ---- | --- | ------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| uri | URI of the post that will be distributed later | varchar(255) | YES | | NULL | | +| uid | Owner User id | mediumint unsigned | YES | | NULL | | +| delayed | delay time | datetime | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | --------------------- | +| PRIMARY | id | +| uid_uri | UNIQUE, uid, uri(190) | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_diaspora-interaction.md b/doc/database/db_diaspora-interaction.md new file mode 100644 index 0000000000..4ac4325909 --- /dev/null +++ b/doc/database/db_diaspora-interaction.md @@ -0,0 +1,28 @@ +Table diaspora-interaction +=========== + +Signed Diaspora Interaction + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----------- | --------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| interaction | The Diaspora interaction | mediumtext | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | uri-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_event.md b/doc/database/db_event.md index 2c0650a8d8..37048599bb 100644 --- a/doc/database/db_event.md +++ b/doc/database/db_event.md @@ -1,26 +1,49 @@ Table event =========== -| Field | Description | Type | Null | Key | Default | Extra | -| ---------- | ----------------------------------------------- -------| ------------------- | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| uid | user_id of the owner of this data | int(11) | NO | MUL | 0 | | -| cid | contact_id (ID of the contact in contact table) | int(11) | NO | | 0 | | -| uri | | varchar(255) | NO | | | | -| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | | -| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | | -| start | event start time | datetime | NO | | 0001-01-01 00:00:00 | | -| finish | event end time | datetime | NO | | 0001-01-01 00:00:00 | | -| summary | short description or title of the event | text | NO | | NULL | | -| desc | event description | text | NO | | NULL | | -| location | event location | text | NO | | NULL | | -| type | event or birthday | varchar(255) | NO | | | | -| nofinish | if event does have no end this is 1 | tinyint(1) | NO | | 0 | | -| adjust | adjust to timezone of the recipient (0 or 1) | tinyint(1) | NO | | 1 | | -| ignore | 0 or 1 | tinyint(1) unsigned | NO | | 0 | | -| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | NO | | NULL | | -| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | | -| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | | -| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | | +Events + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ------------------------------------------------------ | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| guid | | varchar(255) | NO | | | | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| cid | contact_id (ID of the contact in contact table) | int unsigned | NO | | 0 | | +| uri | | varchar(255) | NO | | | | +| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | | +| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | | +| start | event start time | datetime | NO | | 0001-01-01 00:00:00 | | +| finish | event end time | datetime | NO | | 0001-01-01 00:00:00 | | +| summary | short description or title of the event | text | YES | | NULL | | +| desc | event description | text | YES | | NULL | | +| location | event location | text | YES | | NULL | | +| type | event or birthday | varchar(20) | NO | | | | +| nofinish | if event does have no end this is 1 | boolean | NO | | 0 | | +| adjust | adjust to timezone of the recipient (0 or 1) | boolean | NO | | 1 | | +| ignore | 0 or 1 | boolean | NO | | 0 | | +| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | | +| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | | +| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | | +| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| --------- | ---------- | +| PRIMARY | id | +| uid_start | uid, start | +| cid | cid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| cid | [contact](help/database/db_contact) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_fcontact.md b/doc/database/db_fcontact.md index d9a786acc9..43a073f619 100644 --- a/doc/database/db_fcontact.md +++ b/doc/database/db_fcontact.md @@ -1,24 +1,39 @@ Table fcontact -============== +=========== + +Diaspora compatible contacts - used in the Diaspora implementation + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | ------------- | ---------------- | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| guid | unique id | varchar(255) | NO | | | | +| url | | varchar(255) | NO | | | | +| name | | varchar(255) | NO | | | | +| photo | | varchar(255) | NO | | | | +| request | | varchar(255) | NO | | | | +| nick | | varchar(255) | NO | | | | +| addr | | varchar(255) | NO | | | | +| batch | | varchar(255) | NO | | | | +| notify | | varchar(255) | NO | | | | +| poll | | varchar(255) | NO | | | | +| confirm | | varchar(255) | NO | | | | +| priority | | tinyint unsigned | NO | | 0 | | +| network | | char(4) | NO | | | | +| alias | | varchar(255) | NO | | | | +| pubkey | | text | YES | | NULL | | +| updated | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ---------------- | +| PRIMARY | id | +| addr | addr(32) | +| url | UNIQUE, url(190) | -| Field | Description | Type | Null | Key | Default | Extra | -| -------- | ------------- | ---------------- | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| guid | unique id | varchar(64) | NO | | | | -| url | | varchar(255) | NO | | | | -| name | | varchar(255) | NO | | | | -| photo | | varchar(255) | NO | | | | -| request | | varchar(255) | NO | | | | -| nick | | varchar(255) | NO | | | | -| addr | | varchar(255) | NO | MUL | | | -| batch | | varchar(255) | NO | | | | -| notify | | varchar(255) | NO | | | | -| poll | | varchar(255) | NO | | | | -| confirm | | varchar(255) | NO | | | | -| priority | | tinyint(1) | NO | | 0 | | -| network | | varchar(32) | NO | | | | -| alias | | varchar(255) | NO | | | | -| pubkey | | text | NO | | NULL | | -| updated | | datetime | NO | | 0001-01-01 00:00:00 | | Return to [database documentation](help/database) diff --git a/doc/database/db_fsuggest.md b/doc/database/db_fsuggest.md index e461895c80..6ccf732971 100644 --- a/doc/database/db_fsuggest.md +++ b/doc/database/db_fsuggest.md @@ -1,16 +1,38 @@ Table fsuggest -============== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ------- | ----------- | ------------ | ---- | --- | ------------------- | --------------- | -| id | | int(11) | NO | PRI | NULL | auto_increment | -| uid | | int(11) | NO | | 0 | | -| cid | | int(11) | NO | | 0 | | -| name | | varchar(255) | NO | | | | -| url | | varchar(255) | NO | | | | -| request | | varchar(255) | NO | | | | -| photo | | varchar(255) | NO | | | | -| note | | text | NO | | NULL | | -| created | | datetime | NO | | 0001-01-01 00:00:00 | | +friend suggestion stuff + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ----------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| cid | | int unsigned | NO | | 0 | | +| name | | varchar(255) | NO | | | | +| url | | varchar(255) | NO | | | | +| request | | varchar(255) | NO | | | | +| photo | | varchar(255) | NO | | | | +| note | | text | YES | | NULL | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| cid | cid | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| cid | [contact](help/database/db_contact) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_group.md b/doc/database/db_group.md index f27b9a75f7..1892de3e40 100644 --- a/doc/database/db_group.md +++ b/doc/database/db_group.md @@ -1,12 +1,32 @@ Table group =========== -| Field | Description | Type | Null | Key | Default | Extra | -| ------- | ------------------------------------------ | ---------------- | ---- | --- | ------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| uid | user.id owning this data | int(10) unsigned | NO | MUL | 0 | | -| visible | 1 indicates the member list is not private | tinyint(1) | NO | | 0 | | -| deleted | 1 indicates the group has been deleted | tinyint(1) | NO | | 0 | | -| name | human readable name of group | varchar(255) | NO | | | | +privacy groups, group info + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ------------------------------------------ | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| visible | 1 indicates the member list is not private | boolean | NO | | 0 | | +| deleted | 1 indicates the group has been deleted | boolean | NO | | 0 | | +| name | human readable name of group | varchar(255) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_group_member.md b/doc/database/db_group_member.md index f8a402ef6e..a544f3b0ec 100644 --- a/doc/database/db_group_member.md +++ b/doc/database/db_group_member.md @@ -1,11 +1,32 @@ Table group_member -================== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ---------- | ----------------------------------------------------------- | ---------------- | ---- | --- | ------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| uid | user.id of the owner of this data | int(10) unsigned | NO | MUL | 0 | | -| gid | groups.id of the associated group | int(10) unsigned | NO | | 0 | | -| contact-id | contact.id of the member assigned to the associated group | int(10) unsigned | NO | | 0 | | +privacy groups, member info + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ---------- | --------------------------------------------------------- | ------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| gid | groups.id of the associated group | int unsigned | NO | | 0 | | +| contact-id | contact.id of the member assigned to the associated group | int unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------------- | ----------------------- | +| PRIMARY | id | +| contactid | contact-id | +| gid_contactid | UNIQUE, gid, contact-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| gid | [group](help/database/db_group) | id | +| contact-id | [contact](help/database/db_contact) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_gserver-tag.md b/doc/database/db_gserver-tag.md new file mode 100644 index 0000000000..82b0ccc881 --- /dev/null +++ b/doc/database/db_gserver-tag.md @@ -0,0 +1,29 @@ +Table gserver-tag +=========== + +Tags that the server has subscribed + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ---------- | ---------------------------------- | ------------ | ---- | --- | ------- | ----- | +| gserver-id | The id of the gserver | int unsigned | NO | PRI | 0 | | +| tag | Tag that the server has subscribed | varchar(100) | NO | PRI | | | + +Indexes +------------ + +| Name | Fields | +| ------- | --------------- | +| PRIMARY | gserver-id, tag | +| tag | tag | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| gserver-id | [gserver](help/database/db_gserver) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_gserver.md b/doc/database/db_gserver.md index d9ec69a53c..905602b3b8 100644 --- a/doc/database/db_gserver.md +++ b/doc/database/db_gserver.md @@ -1,24 +1,46 @@ Table gserver -============= +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|------------------|---------------------------|------------------|------|-----|---------------------|----------------| -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| url | | varchar(255) | NO | | | | -| nurl | | varchar(255) | NO | MUL | | | -| version | | varchar(255) | NO | | | | -| site_name | | varchar(255) | NO | | | | -| info | | text | NO | | NULL | | -| register_policy | | tinyint(1) | NO | | 0 | | -| registered-users |Number of registered users | int(10) | NO | | 0 | | -| poco | | varchar(255) | NO | | | | -| noscrape | | varchar(255) | NO | | | | -| network | | varchar(32) | NO | | | | -| platform | | varchar(255) | NO | | | | -| created | | datetime | NO | | 0001-01-01 00:00:00 | | -| last_poco_query | | datetime | YES | | 0001-01-01 00:00:00 | | -| last_contact | | datetime | YES | | 0001-01-01 00:00:00 | | -| last_failure | | datetime | YES | | 0001-01-01 00:00:00 | | +Global servers + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ---------------- | -------------------------------------------------- | ---------------- | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| url | | varchar(255) | NO | | | | +| nurl | | varchar(255) | NO | | | | +| version | | varchar(255) | NO | | | | +| site_name | | varchar(255) | NO | | | | +| info | | text | YES | | NULL | | +| register_policy | | tinyint | NO | | 0 | | +| registered-users | Number of registered users | int unsigned | NO | | 0 | | +| directory-type | Type of directory service (Poco, Mastodon) | tinyint | YES | | 0 | | +| poco | | varchar(255) | NO | | | | +| noscrape | | varchar(255) | NO | | | | +| network | | char(4) | NO | | | | +| protocol | The protocol of the server | tinyint unsigned | YES | | NULL | | +| platform | | varchar(255) | NO | | | | +| relay-subscribe | Has the server subscribed to the relay system | boolean | NO | | 0 | | +| relay-scope | The scope of messages that the server wants to get | varchar(10) | NO | | | | +| detection-method | Method that had been used to detect that server | tinyint unsigned | YES | | NULL | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | +| last_poco_query | | datetime | YES | | 0001-01-01 00:00:00 | | +| last_contact | Last successful connection request | datetime | YES | | 0001-01-01 00:00:00 | | +| last_failure | Last failed connection request | datetime | YES | | 0001-01-01 00:00:00 | | +| failed | Connection failed | boolean | YES | | NULL | | +| next_contact | Next connection request | datetime | YES | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------------ | ----------------- | +| PRIMARY | id | +| nurl | UNIQUE, nurl(190) | +| next_contact | next_contact | +| network | network | Return to [database documentation](help/database) diff --git a/doc/database/db_hook.md b/doc/database/db_hook.md index 06eb84a182..0ad0981f0c 100644 --- a/doc/database/db_hook.md +++ b/doc/database/db_hook.md @@ -1,12 +1,27 @@ Table hook -========== +=========== + +addon hook registry + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | ---------------------------------------------------------------------------------------------------------- | ----------------- | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| hook | name of hook | varbinary(100) | NO | | | | +| file | relative filename of hook handler | varbinary(200) | NO | | | | +| function | function name of hook handler | varbinary(200) | NO | | | | +| priority | not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order | smallint unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------------------ | ---------------------------- | +| PRIMARY | id | +| priority | priority | +| hook_file_function | UNIQUE, hook, file, function | -| Field | Description | Type | Null | Key | Default | Extra | -| -------- | ---------------------------------------------------------------------------------------------------------- | ---------------- | ---- | --- | ------- | --------------- | -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| hook | name of hook | varchar(255) | NO | MUL | | | -| file | relative filename of hook handler | varchar(255) | NO | | | | -| function | function name of hook handler | varchar(255) | NO | | | | -| priority | not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order | int(11) unsigned | NO | | 0 | | Return to [database documentation](help/database) diff --git a/doc/database/db_host.md b/doc/database/db_host.md new file mode 100644 index 0000000000..4b2d4d1e5d --- /dev/null +++ b/doc/database/db_host.md @@ -0,0 +1,23 @@ +Table host +=========== + +Hostname + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ------------- | ---------------- | ---- | --- | ------- | -------------- | +| id | sequential ID | tinyint unsigned | NO | PRI | NULL | auto_increment | +| name | The hostname | varchar(128) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------------ | +| PRIMARY | id | +| name | UNIQUE, name | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_inbox-status.md b/doc/database/db_inbox-status.md new file mode 100644 index 0000000000..3b82cf46a0 --- /dev/null +++ b/doc/database/db_inbox-status.md @@ -0,0 +1,27 @@ +Table inbox-status +=========== + +Status of ActivityPub inboxes + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | ------------------------------------ | -------------- | ---- | --- | ------------------- | ----- | +| url | URL of the inbox | varbinary(255) | NO | PRI | NULL | | +| created | Creation date of this entry | datetime | NO | | 0001-01-01 00:00:00 | | +| success | Date of the last successful delivery | datetime | NO | | 0001-01-01 00:00:00 | | +| failure | Date of the last failed delivery | datetime | NO | | 0001-01-01 00:00:00 | | +| previous | Previous delivery date | datetime | NO | | 0001-01-01 00:00:00 | | +| archive | Is the inbox archived? | boolean | NO | | 0 | | +| shared | Is it a shared inbox? | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | url | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_intro.md b/doc/database/db_intro.md index a71154a4f9..426d8579dd 100644 --- a/doc/database/db_intro.md +++ b/doc/database/db_intro.md @@ -1,18 +1,40 @@ Table intro =========== -| Field | Description | Type | Null | Key | Default | Extra | -|------------|------------------|------------------|------|-----|---------------------|----------------| -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| uid | | int(10) unsigned | NO | | 0 | | -| fid | | int(11) | NO | | 0 | | -| contact-id | | int(11) | NO | | 0 | | -| knowyou | | tinyint(1) | NO | | 0 | | -| duplex | | tinyint(1) | NO | | 0 | | -| note | | text | NO | | NULL | | -| hash | | varchar(255) | NO | | | | -| datetime | | datetime | NO | | 0001-01-01 00:00:00 | | -| blocked | | tinyint(1) | NO | | 1 | | -| ignore | | tinyint(1) | NO | | 0 | | + + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ---------- | ------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| fid | | int unsigned | YES | | NULL | | +| contact-id | | int unsigned | NO | | 0 | | +| knowyou | | boolean | NO | | 0 | | +| duplex | | boolean | NO | | 0 | | +| note | | text | YES | | NULL | | +| hash | | varchar(255) | NO | | | | +| datetime | | datetime | NO | | 0001-01-01 00:00:00 | | +| blocked | | boolean | NO | | 1 | | +| ignore | | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ---------- | ---------- | +| PRIMARY | id | +| contact-id | contact-id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| contact-id | [contact](help/database/db_contact) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_item-uri.md b/doc/database/db_item-uri.md new file mode 100644 index 0000000000..c6d1c4c376 --- /dev/null +++ b/doc/database/db_item-uri.md @@ -0,0 +1,25 @@ +Table item-uri +=========== + +URI and GUID for items + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ------------------------------- | -------------- | ---- | --- | ------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| uri | URI of an item | varbinary(255) | NO | | NULL | | +| guid | A unique identifier for an item | varbinary(255) | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ----------- | +| PRIMARY | id | +| uri | UNIQUE, uri | +| guid | guid | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_item.md b/doc/database/db_item.md deleted file mode 100644 index d24d92bad8..0000000000 --- a/doc/database/db_item.md +++ /dev/null @@ -1,72 +0,0 @@ -Table item -========== - -| Field | Description | Type | Null | Key | Default | Extra | -|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|------|-----|---------------------|----------------| -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| guid | A unique identifier for this item | varchar(255) | NO | MUL | | | -| uri | | varchar(255) | NO | MUL | | | -| uid | user.id which owns this copy of the item | int(10) unsigned | NO | MUL | 0 | | -| contact-id | contact.id | int(11) | NO | MUL | 0 | | -| gcontact-id | ID of the global contact | int(11) | NO | MUL | 0 | | -| type | | varchar(255) | NO | | | | -| wall | This item was posted to the wall of uid | tinyint(1) | NO | MUL | 0 | | -| gravity | | tinyint(1) | NO | | 0 | | -| parent | item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item | int(10) unsigned | NO | MUL | 0 | | -| parent-uri | uri of the parent to this item | varchar(255) | NO | MUL | | | -| extid | | varchar(255 | NO | MUL | | | -| thr-parent | If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri | varchar(255) | NO | | | | -| created | Creation timestamp. | datetime | NO | | 0001-01-01 00:00:00 | | -| edited | Date of last edit (default is created) | datetime | NO | | 0001-01-01 00:00:00 | | -| commented | Date of last comment/reply to this item | datetime | NO | | 0001-01-01 00:00:00 | | -| received | datetime | datetime | NO | | 0001-01-01 00:00:00 | | -| changed | Date that something in the conversation changed, indicating clients should fetch the conversation again | datetime | NO | | 0001-01-01 00:00:00 | | -| owner-name | Name of the owner of this item | varchar(255) | NO | | | | -| owner-link | Link to the profile page of the owner of this item | varchar(255) | NO | | | | -| owner-avatar | Link to the avatar picture of the owner of this item | varchar(255) | NO | | | | -| owner-id | Link to the contact table with uid=0 of the owner of this item | int(11) | NO | MUL | 0 | | -| author-name | Name of the author of this item | varchar(255) | NO | | | | -| author-link | Link to the profile page of the author of this item | varchar(255) | NO | | | | -| author-avatar | Link to the avatar picture of the author of this item | varchar(255) | NO | | | | -| author-id | Link to the contact table with uid=0 of the author of this item | int(11) | NO | MUL | 0 | | -| title | item title | varchar(255) | NO | | | | -| body | item body content | mediumtext | NO | | NULL | | -| app | application which generated this item | varchar(255) | NO | | | | -| verb | ActivityStreams verb | varchar(255) | NO | | | | -| object-type | ActivityStreams object type | varchar(255) | NO | | | | -| object | JSON encoded object structure unless it is an implied object (normal post) | text | NO | | NULL | | -| target-type | ActivityStreams target type if applicable (URI) | varchar(255) | NO | | | | -| target | JSON encoded target structure if used | text | NO | | NULL | | -| postopts | External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery | text | NO | | NULL | | -| plink | permalink or URL toa displayable copy of the message at its source | varchar(255) | NO | | | | -| resource-id | Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type | varchar(255) | NO | MUL | | | -| event-id | Used to link to the event.id | int(11) | NO | | 0 | | -| tag | | mediumtext | NO | | NULL | | -| attach | JSON structure representing attachments to this item | mediumtext | NO | | NULL | | -| inform | | mediumtext | NO | | NULL | | -| file | | mediumtext | NO | | NULL | | -| location | text location where this item originated | varchar(255) | NO | | | | -| coord | longitude/latitude pair representing location where this item originated | varchar(255) | NO | | | | -| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | NO | | NULL | | -| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | | -| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | | -| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | | -| private | distribution is restricted | tinyint(1) | NO | | 0 | | -| pubmail | | tinyint(1) | NO | | 0 | | -| moderated | | tinyint(1) | NO | | 0 | | -| visible | | tinyint(1) | NO | | 0 | | -| spam | | tinyint(1) | NO | | 0 | | -| starred | item has been favourited | tinyint(1) | NO | | 0 | | -| bookmark | item has been bookmarked | tinyint(1) | NO | | 0 | | -| unseen | item has not been seen | tinyint(1) | NO | | 1 | | -| deleted | item has been deleted | tinyint(1) | NO | MUL | 0 | | -| origin | item originated at this site | tinyint(1) | NO | | 0 | | -| forum_mode | | tinyint(1) | NO | | 0 | | -| last-child | | tinyint(1) unsigned | NO | | 1 | | -| mention | The owner of this item was mentioned in it | tinyint(1) | NO | | 0 | | -| network | Network from where the item comes from | varchar(32) | NO | | | | -| rendered-hash | | varchar(32) | NO | | | | -| rendered-html | item.body converted to html | mediumtext | NO | | NULL | | -| global | | tinyint(1) | NO | | 0 | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_locks.md b/doc/database/db_locks.md index 4de6fbf961..dc5371184d 100644 --- a/doc/database/db_locks.md +++ b/doc/database/db_locks.md @@ -1,11 +1,26 @@ Table locks =========== -| Field | Description | Type | Null | Key | Default | Extra | -|---------|------------------|------------------|------|-----|---------------------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| name | | varchar(128) | NO | | | | -| locked | | tinyint(1) | NO | | 0 | | -| pid | Process ID | int(10) unsigned | NO | | 0 | | + + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ---------------------------- | ------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| name | | varchar(128) | NO | | | | +| locked | | boolean | NO | | 0 | | +| pid | Process ID | int unsigned | NO | | 0 | | +| expires | datetime of cache expiration | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------------ | ------------- | +| PRIMARY | id | +| name_expires | name, expires | + Return to [database documentation](help/database) diff --git a/doc/database/db_mail.md b/doc/database/db_mail.md index 623b8c9c85..460c03bf6a 100644 --- a/doc/database/db_mail.md +++ b/doc/database/db_mail.md @@ -1,24 +1,61 @@ Table mail -========== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ---------- | -------------------------------------------- | ---------------- | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| uid | user.id of the owner of this data | int(10) unsigned | NO | MUL | 0 | | -| guid | A unique identifier for this private message | int(10) unsigned | NO | MUL | | | -| from-name | name of the sender | varchar(255) | NO | | | | -| from-photo | contact photo link of the sender | varchar(255) | NO | | | | -| from-url | profile linke of the sender | varchar(255) | NO | | | | -| contact-id | contact.id | varchar(255) | NO | | | | -| convid | conv.id | int(11) unsigned | NO | MUL | 0 | | -| title | | varchar(255) | NO | | | | -| body | | mediumtext | NO | | NULL | | -| seen | if message visited it is 1 | varchar(255) | NO | | 0 | | -| reply | | varchar(255) | NO | MUL | 0 | | -| replied | | varchar(255) | NO | | 0 | | -| unknown | if sender not in the contact table this is 1 | varchar(255) | NO | | 0 | | -| uri | | varchar(255) | NO | MUL | | | -| parent-uri | | varchar(255) | NO | MUL | | | -| created | creation time of the private message | datetime | NO | | 0001-01-01 00:00:00 | | +private messages + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | -------------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| guid | A unique identifier for this private message | varchar(255) | NO | | | | +| from-name | name of the sender | varchar(255) | NO | | | | +| from-photo | contact photo link of the sender | varchar(255) | NO | | | | +| from-url | profile linke of the sender | varchar(255) | NO | | | | +| contact-id | contact.id | varchar(255) | YES | | NULL | | +| author-id | Link to the contact table with uid=0 of the author of the mail | int unsigned | YES | | NULL | | +| convid | conv.id | int unsigned | YES | | NULL | | +| title | | varchar(255) | NO | | | | +| body | | mediumtext | YES | | NULL | | +| seen | if message visited it is 1 | boolean | NO | | 0 | | +| reply | | boolean | NO | | 0 | | +| replied | | boolean | NO | | 0 | | +| unknown | if sender not in the contact table this is 1 | boolean | NO | | 0 | | +| uri | | varchar(255) | NO | | | | +| uri-id | Item-uri id of the related mail | int unsigned | YES | | NULL | | +| parent-uri | | varchar(255) | NO | | | | +| parent-uri-id | Item-uri id of the parent of the related mail | int unsigned | YES | | NULL | | +| thr-parent | | varchar(255) | YES | | NULL | | +| thr-parent-id | Id of the item-uri table that contains the thread parent uri | int unsigned | YES | | NULL | | +| created | creation time of the private message | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------------- | -------------- | +| PRIMARY | id | +| uid_seen | uid, seen | +| convid | convid | +| uri | uri(64) | +| parent-uri | parent-uri(64) | +| contactid | contact-id(32) | +| author-id | author-id | +| uri-id | uri-id | +| parent-uri-id | parent-uri-id | +| thr-parent-id | thr-parent-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| author-id | [contact](help/database/db_contact) | id | +| uri-id | [item-uri](help/database/db_item-uri) | id | +| parent-uri-id | [item-uri](help/database/db_item-uri) | id | +| thr-parent-id | [item-uri](help/database/db_item-uri) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_mailacct.md b/doc/database/db_mailacct.md index 9f6484f818..59f34250ce 100644 --- a/doc/database/db_mailacct.md +++ b/doc/database/db_mailacct.md @@ -1,20 +1,40 @@ Table mailacct -============== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|--------------|------------------|--------------|------|-----|---------------------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| uid | | int(11) | NO | | 0 | | -| server | | varchar(255) | NO | | | | -| port | | int(11) | NO | | 0 | | -| ssltype | | varchar(16) | NO | | | | -| mailbox | | varchar(255) | NO | | | | -| user | | varchar(255) | NO | | | | -| pass | | text | NO | | NULL | | -| reply_to | | varchar(255) | NO | | | | -| action | | int(11) | NO | | 0 | | -| movetofolder | | varchar(255) | NO | | | | -| pubmail | | tinyint(1) | NO | | 0 | | -| last_check | | datetime | NO | | 0001-01-01 00:00:00 | | +Mail account data for fetching mails + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | ------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| server | | varchar(255) | NO | | | | +| port | | smallint unsigned | NO | | 0 | | +| ssltype | | varchar(16) | NO | | | | +| mailbox | | varchar(255) | NO | | | | +| user | | varchar(255) | NO | | | | +| pass | | text | YES | | NULL | | +| reply_to | | varchar(255) | NO | | | | +| action | | tinyint unsigned | NO | | 0 | | +| movetofolder | | varchar(255) | NO | | | | +| pubmail | | boolean | NO | | 0 | | +| last_check | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_manage.md b/doc/database/db_manage.md index 4cfc1d0a11..8a2228a5ef 100644 --- a/doc/database/db_manage.md +++ b/doc/database/db_manage.md @@ -1,10 +1,32 @@ Table manage -============ +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ----- | ------------- | ------- | ---- | --- | ------- | --------------- | -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| uid | user.id | int(11) | NO | MUL | 0 | | -| mid | | int(11) | NO | | 0 | | +table of accounts that can manage each other + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ------------- | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| mid | User id | mediumint unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ---------------- | +| PRIMARY | id | +| uid_mid | UNIQUE, uid, mid | +| mid | mid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| mid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_notification.md b/doc/database/db_notification.md new file mode 100644 index 0000000000..ff059c344f --- /dev/null +++ b/doc/database/db_notification.md @@ -0,0 +1,45 @@ +Table notification +=========== + +notifications + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | ------------------------------------------------------------------------------ | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | YES | | NULL | | +| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | YES | | NULL | | +| type | | tinyint unsigned | YES | | NULL | | +| actor-id | Link to the contact table with uid=0 of the actor that caused the notification | int unsigned | YES | | NULL | | +| target-uri-id | Item-uri id of the related post | int unsigned | YES | | NULL | | +| parent-uri-id | Item-uri id of the parent of the related post | int unsigned | YES | | NULL | | +| created | | datetime | YES | | NULL | | +| seen | | boolean | YES | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ----------------------------------- | ----------------------------------------------- | +| PRIMARY | id | +| uid_vid_type_actor-id_target-uri-id | UNIQUE, uid, vid, type, actor-id, target-uri-id | +| vid | vid | +| actor-id | actor-id | +| target-uri-id | target-uri-id | +| parent-uri-id | parent-uri-id | +| seen_uid | seen, uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| vid | [verb](help/database/db_verb) | id | +| actor-id | [contact](help/database/db_contact) | id | +| target-uri-id | [item-uri](help/database/db_item-uri) | id | +| parent-uri-id | [item-uri](help/database/db_item-uri) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_notify-threads.md b/doc/database/db_notify-threads.md index 5c196628d4..82ed225f7d 100644 --- a/doc/database/db_notify-threads.md +++ b/doc/database/db_notify-threads.md @@ -1,12 +1,37 @@ Table notify-threads -==================== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|--------------------|------------------|------------------|------|-----|---------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| notify-id | | int(11) | NO | | 0 | | -| master-parent-item | | int(10) unsigned | NO | MUL | 0 | | -| parent-item | | int(10) unsigned | NO | | 0 | | -| receiver-uid | | int(11) | NO | MUL | 0 | | + + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------------------- | --------------------------------------------- | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| notify-id | | int unsigned | NO | | 0 | | +| master-parent-item | Deprecated | int unsigned | YES | | NULL | | +| master-parent-uri-id | Item-uri id of the parent of the related post | int unsigned | YES | | NULL | | +| parent-item | | int unsigned | NO | | 0 | | +| receiver-uid | User id | mediumint unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| -------------------- | -------------------- | +| PRIMARY | id | +| master-parent-uri-id | master-parent-uri-id | +| receiver-uid | receiver-uid | +| notify-id | notify-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| notify-id | [notify](help/database/db_notify) | id | +| master-parent-uri-id | [item-uri](help/database/db_item-uri) | id | +| receiver-uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_notify.md b/doc/database/db_notify.md index fbf0db7705..250734e56c 100644 --- a/doc/database/db_notify.md +++ b/doc/database/db_notify.md @@ -1,24 +1,51 @@ Table notify -============ +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ---------- | --------------------------------- | ------------ | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| hash | | varchar(64) | NO | | | | -| type | | int(11) | NO | | 0 | | -| name | | varchar(255) | NO | | | | -| url | | varchar(255) | NO | | | | -| photo | | varchar(255) | NO | | | | -| date | | datetime | NO | | 0001-01-01 00:00:00 | | -| msg | | mediumtext | YES | | NULL | | -| uid | user.id of the owner of this data | int(11) | NO | MUL | 0 | | -| link | | varchar(255) | NO | | | | -| iid | item.id | int(11) | NO | | 0 | | -| parent | | int(11) | NO | | 0 | | -| seen | | tinyint(1) | NO | | 0 | | -| verb | | varchar(255) | NO | | | | -| otype | | varchar(16) | NO | | | | -| name_cache | Cached bbcode parsing of name | tinytext | YES | | NULL | | -| msg_cache | Cached bbcode parsing of msg | mediumtext | YES | | NULL | | +notifications + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | --------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| type | | smallint unsigned | NO | | 0 | | +| name | | varchar(255) | NO | | | | +| url | | varchar(255) | NO | | | | +| photo | | varchar(255) | NO | | | | +| date | | datetime | NO | | 0001-01-01 00:00:00 | | +| msg | | mediumtext | YES | | NULL | | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| link | | varchar(255) | NO | | | | +| iid | | int unsigned | YES | | NULL | | +| parent | | int unsigned | YES | | NULL | | +| uri-id | Item-uri id of the related post | int unsigned | YES | | NULL | | +| parent-uri-id | Item-uri id of the parent of the related post | int unsigned | YES | | NULL | | +| seen | | boolean | NO | | 0 | | +| verb | | varchar(100) | NO | | | | +| otype | | varchar(10) | NO | | | | +| name_cache | Cached bbcode parsing of name | tinytext | YES | | NULL | | +| msg_cache | Cached bbcode parsing of msg | mediumtext | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------------- | -------------------- | +| PRIMARY | id | +| seen_uid_date | seen, uid, date | +| uid_date | uid, date | +| uid_type_link | uid, type, link(190) | +| uri-id | uri-id | +| parent-uri-id | parent-uri-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| uri-id | [item-uri](help/database/db_item-uri) | id | +| parent-uri-id | [item-uri](help/database/db_item-uri) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_oembed.md b/doc/database/db_oembed.md index 651a52e740..8304a32f4b 100644 --- a/doc/database/db_oembed.md +++ b/doc/database/db_oembed.md @@ -1,11 +1,25 @@ Table oembed -============ +=========== + +cache for OEmbed queries + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | ------------------------------ | ------------------ | ---- | --- | ------------------- | ----- | +| url | page url | varbinary(255) | NO | PRI | NULL | | +| maxwidth | Maximum width passed to Oembed | mediumint unsigned | NO | PRI | NULL | | +| content | OEmbed data of the page | mediumtext | YES | | NULL | | +| created | datetime of creation | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------------- | +| PRIMARY | url, maxwidth | +| created | created | -| Field | Description | Type | Null | Key | Default | Extra | -| ------------ | ---------------------------------- | ------------ | ---- | --- | ------------------- | ----- | -| url | page url | varchar(255) | NO | PRI | NULL | | -| maxwidth | Maximum width passed to Oembed | int(11) | NO | PRI | 0 | | -| content | OEmbed data of the page | text | NO | | NULL | | -| created | datetime of creation | datetime | NO | MUL | 0001-01-01 00:00:00 | | Return to [database documentation](help/database) diff --git a/doc/database/db_openwebauth-token.md b/doc/database/db_openwebauth-token.md new file mode 100644 index 0000000000..c330623d92 --- /dev/null +++ b/doc/database/db_openwebauth-token.md @@ -0,0 +1,33 @@ +Table openwebauth-token +=========== + +Store OpenWebAuth token to verify contacts + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | -------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id - currently unused | mediumint unsigned | NO | | 0 | | +| type | Verify type | varchar(32) | NO | | | | +| token | A generated token | varchar(255) | NO | | | | +| meta | | varchar(255) | NO | | | | +| created | datetime of creation | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_parsed_url.md b/doc/database/db_parsed_url.md index 343e5a8bed..1752cd0b5b 100644 --- a/doc/database/db_parsed_url.md +++ b/doc/database/db_parsed_url.md @@ -1,12 +1,29 @@ Table parsed_url -================ +=========== + +cache for 'parse_url' queries + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | --------------------------------- | ---------- | ---- | --- | ------------------- | ----- | +| url_hash | page url hash | binary(64) | NO | PRI | NULL | | +| guessing | is the 'guessing' mode active? | boolean | NO | PRI | 0 | | +| oembed | is the data the result of oembed? | boolean | NO | PRI | 0 | | +| url | page url | text | NO | | NULL | | +| content | page data | mediumtext | YES | | NULL | | +| created | datetime of creation | datetime | NO | | 0001-01-01 00:00:00 | | +| expires | datetime of expiration | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | -------------------------- | +| PRIMARY | url_hash, guessing, oembed | +| created | created | +| expires | expires | -| Field | Description | Type | Null | Key | Default | Extra | -| ------------ | ---------------------------------- | ------------ | ---- | --- | ------------------- | ----- | -| url | page url | varchar(255) | NO | PRI | NULL | | -| guessing | is the "guessing" mode active? | tinyint(1) | NO | PRI | 0 | | -| oembed | is the data the result of oembed? | tinyint(1) | NO | PRI | 0 | | -| content | page data | text | NO | | NULL | | -| created | datetime of creation | datetime | NO | MUL | 0001-01-01 00:00:00 | | Return to [database documentation](help/database) diff --git a/doc/database/db_pconfig.md b/doc/database/db_pconfig.md index a4ed10a359..cf9b0d7810 100644 --- a/doc/database/db_pconfig.md +++ b/doc/database/db_pconfig.md @@ -1,12 +1,32 @@ -Table pconfic -============= +Table pconfig +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|-------|-------------|------------|------|-----|---------|----------------| -| id | | int(11) | NO | PRI | NULL | auto_increment | -| uid | | int(11) | NO | MUL | 0 | | -| cat | | char(255) | NO | | | | -| k | | char(255) | NO | | | | -| v | | mediumtext | NO | | NULL | | +personal (per user) configuration storage + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ----------- | ------------------ | ---- | --- | ------- | -------------- | +| id | Primary key | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| cat | Category | varchar(50) | NO | | | | +| k | Key | varchar(100) | NO | | | | +| v | Value | mediumtext | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| --------- | ------------------- | +| PRIMARY | id | +| uid_cat_k | UNIQUE, uid, cat, k | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_permissionset.md b/doc/database/db_permissionset.md new file mode 100644 index 0000000000..38c6fe8f31 --- /dev/null +++ b/doc/database/db_permissionset.md @@ -0,0 +1,33 @@ +Table permissionset +=========== + + + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ------------------------------------------------------ | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner id of this permission set | mediumint unsigned | NO | | 0 | | +| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | | +| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | | +| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | | +| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ----------------------------------------- | ------------------------------------------------------------- | +| PRIMARY | id | +| uid_allow_cid_allow_gid_deny_cid_deny_gid | uid, allow_cid(50), allow_gid(30), deny_cid(50), deny_gid(30) | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_photo.md b/doc/database/db_photo.md index 2bb7473e21..b641ae4596 100644 --- a/doc/database/db_photo.md +++ b/doc/database/db_photo.md @@ -1,29 +1,60 @@ Table photo =========== -| Field | Description | Type | Null | Key | Default | Extra | -| ----------- | ------------------------------------------------------ | ---------------- | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| uid | user.id of the owner of this data | int(10) unsigned | NO | MUL | 0 | | -| contact-id | contact.id | int(10) unsigned | NO | | 0 | | -| guid | A unique identifier for this photo | varchar(64) | NO | MUL | | | -| resource-id | | varchar(255) | NO | MUL | | | -| created | creation date | datetime | NO | | 0001-01-01 00:00:00 | | -| edited | last edited date | datetime | NO | | 0001-01-01 00:00:00 | | -| title | | varchar(255) | NO | | | | -| desc | | text | NO | | NULL | | -| album | The name of the album to which the photo belongs | varchar(255) | NO | | | | -| filename | | varchar(255) | NO | | | | -| type | image type | varchar(128) | NO | | image/jpeg | | -| height | | smallint(6) | NO | | 0 | | -| width | | smallint(6) | NO | | 0 | | -| size | | int(10) unsigned | NO | | 0 | | -| data | | mediumblob | NO | | NULL | | -| scale | | tinyint(3) | NO | | 0 | | -| profile | | tinyint(1) | NO | | 0 | | -| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | NO | | NULL | | -| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | | -| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | | -| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | | +photo storage + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | ------------------------------------------------------ | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| contact-id | contact.id | int unsigned | NO | | 0 | | +| guid | A unique identifier for this photo | char(16) | NO | | | | +| resource-id | | char(32) | NO | | | | +| hash | hash value of the photo | char(32) | YES | | NULL | | +| created | creation date | datetime | NO | | 0001-01-01 00:00:00 | | +| edited | last edited date | datetime | NO | | 0001-01-01 00:00:00 | | +| title | | varchar(255) | NO | | | | +| desc | | text | YES | | NULL | | +| album | The name of the album to which the photo belongs | varchar(255) | NO | | | | +| filename | | varchar(255) | NO | | | | +| type | | varchar(30) | NO | | image/jpeg | | +| height | | smallint unsigned | NO | | 0 | | +| width | | smallint unsigned | NO | | 0 | | +| datasize | | int unsigned | NO | | 0 | | +| data | | mediumblob | NO | | NULL | | +| scale | | tinyint unsigned | NO | | 0 | | +| profile | | boolean | NO | | 0 | | +| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | | +| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | | +| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | | +| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | | +| accessible | Make photo publicly accessible, ignoring permissions | boolean | NO | | 0 | | +| backend-class | Storage backend class | tinytext | YES | | NULL | | +| backend-ref | Storage backend data reference | text | YES | | NULL | | +| updated | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ----------------------------- | ------------------------------------ | +| PRIMARY | id | +| contactid | contact-id | +| uid_contactid | uid, contact-id | +| uid_profile | uid, profile | +| uid_album_scale_created | uid, album(32), scale, created | +| uid_album_resource-id_created | uid, album(32), resource-id, created | +| resource-id | resource-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| contact-id | [contact](help/database/db_contact) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_poll.md b/doc/database/db_poll.md deleted file mode 100644 index fd89b345c1..0000000000 --- a/doc/database/db_poll.md +++ /dev/null @@ -1,19 +0,0 @@ -Table poll -========== - -| Field | Description | Type | Null | Key | Default | Extra | -|-------|-------------|------------|------|-----|---------|----------------| -| id | | int(11) | NO | PRI | NULL | auto_increment | -| uid | | int(11) | NO | MUL | 0 | | -| q0 | | mediumtext | NO | | NULL | | -| q1 | | mediumtext | NO | | NULL | | -| q2 | | mediumtext | NO | | NULL | | -| q3 | | mediumtext | NO | | NULL | | -| q4 | | mediumtext | NO | | NULL | | -| q5 | | mediumtext | NO | | NULL | | -| q6 | | mediumtext | NO | | NULL | | -| q7 | | mediumtext | NO | | NULL | | -| q8 | | mediumtext | NO | | NULL | | -| q9 | | mediumtext | NO | | NULL | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_poll_result.md b/doc/database/db_poll_result.md deleted file mode 100644 index 5a732d0adf..0000000000 --- a/doc/database/db_poll_result.md +++ /dev/null @@ -1,10 +0,0 @@ -Table poll_result -================= - -| Field | Description | Type | Null | Key | Default | Extra | -|---------|------------------|---------|------|-----|---------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| poll_id | | int(11) | NO | MUL | 0 | | -| choice | | int(11) | NO | MUL | 0 | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_post-category.md b/doc/database/db_post-category.md new file mode 100644 index 0000000000..b825a8f4b1 --- /dev/null +++ b/doc/database/db_post-category.md @@ -0,0 +1,34 @@ +Table post-category +=========== + +post relation to categories + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------ | --------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| uid | User id | mediumint unsigned | NO | PRI | 0 | | +| type | | tinyint unsigned | NO | PRI | 0 | | +| tid | | int unsigned | NO | PRI | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ---------------------- | +| PRIMARY | uri-id, uid, type, tid | +| uri-id | tid | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| uid | [user](help/database/db_user) | uid | +| tid | [tag](help/database/db_tag) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-content.md b/doc/database/db_post-content.md new file mode 100644 index 0000000000..0addf43a31 --- /dev/null +++ b/doc/database/db_post-content.md @@ -0,0 +1,46 @@ +Table post-content +=========== + +Content for all posts + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| title | item title | varchar(255) | NO | | | | +| content-warning | | varchar(255) | NO | | | | +| body | item body content | mediumtext | YES | | NULL | | +| raw-body | Body without embedded media links | mediumtext | YES | | NULL | | +| location | text location where this item originated | varchar(255) | NO | | | | +| coord | longitude/latitude pair representing location where this item originated | varchar(255) | NO | | | | +| language | Language information about this post | text | YES | | NULL | | +| app | application which generated this item | varchar(255) | NO | | | | +| rendered-hash | | varchar(32) | NO | | | | +| rendered-html | item.body converted to html | mediumtext | YES | | NULL | | +| object-type | ActivityStreams object type | varchar(100) | NO | | | | +| object | JSON encoded object structure unless it is an implied object (normal post) | text | YES | | NULL | | +| target-type | ActivityStreams target type if applicable (URI) | varchar(100) | NO | | | | +| target | JSON encoded target structure if used | text | YES | | NULL | | +| resource-id | Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type | varchar(32) | NO | | | | +| plink | permalink or URL to a displayable copy of the message at its source | varchar(255) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| -------------------------- | -------------------------------------- | +| PRIMARY | uri-id | +| plink | plink(191) | +| resource-id | resource-id | +| title-content-warning-body | FULLTEXT, title, content-warning, body | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-delivery-data.md b/doc/database/db_post-delivery-data.md new file mode 100644 index 0000000000..ad4ca6af32 --- /dev/null +++ b/doc/database/db_post-delivery-data.md @@ -0,0 +1,37 @@ +Table post-delivery-data +=========== + +Delivery data for items + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| postopts | External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery | text | YES | | NULL | | +| inform | Additional receivers of the linked item | mediumtext | YES | | NULL | | +| queue_count | Initial number of delivery recipients, used as item.delivery_queue_count | mediumint | NO | | 0 | | +| queue_done | Number of successful deliveries, used as item.delivery_queue_done | mediumint | NO | | 0 | | +| queue_failed | Number of unsuccessful deliveries, used as item.delivery_queue_failed | mediumint | NO | | 0 | | +| activitypub | Number of successful deliveries via ActivityPub | mediumint | NO | | 0 | | +| dfrn | Number of successful deliveries via DFRN | mediumint | NO | | 0 | | +| legacy_dfrn | Number of successful deliveries via legacy DFRN | mediumint | NO | | 0 | | +| diaspora | Number of successful deliveries via Diaspora | mediumint | NO | | 0 | | +| ostatus | Number of successful deliveries via OStatus | mediumint | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | uri-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-media.md b/doc/database/db_post-media.md new file mode 100644 index 0000000000..e17a04e5fb --- /dev/null +++ b/doc/database/db_post-media.md @@ -0,0 +1,46 @@ +Table post-media +=========== + +Attached media + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------------- | --------------------------------------------------------- | ----------------- | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | | NULL | | +| url | Media URL | varbinary(511) | NO | | NULL | | +| type | Media type | tinyint unsigned | NO | | 0 | | +| mimetype | | varchar(60) | YES | | NULL | | +| height | Height of the media | smallint unsigned | YES | | NULL | | +| width | Width of the media | smallint unsigned | YES | | NULL | | +| size | Media size | int unsigned | YES | | NULL | | +| preview | Preview URL | varbinary(255) | YES | | NULL | | +| preview-height | Height of the preview picture | smallint unsigned | YES | | NULL | | +| preview-width | Width of the preview picture | smallint unsigned | YES | | NULL | | +| description | | text | YES | | NULL | | +| name | Name of the media | varchar(255) | YES | | NULL | | +| author-url | URL of the author of the media | varbinary(255) | YES | | NULL | | +| author-name | Name of the author of the media | varchar(255) | YES | | NULL | | +| author-image | Image of the author of the media | varbinary(255) | YES | | NULL | | +| publisher-url | URL of the publisher of the media | varbinary(255) | YES | | NULL | | +| publisher-name | Name of the publisher of the media | varchar(255) | YES | | NULL | | +| publisher-image | Image of the publisher of the media | varbinary(255) | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ---------- | ------------------- | +| PRIMARY | id | +| uri-id-url | UNIQUE, uri-id, url | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-tag.md b/doc/database/db_post-tag.md new file mode 100644 index 0000000000..7811f32e07 --- /dev/null +++ b/doc/database/db_post-tag.md @@ -0,0 +1,34 @@ +Table post-tag +=========== + +post relation to tags + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------ | --------------------------------------------------------- | ---------------- | ---- | --- | ------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| type | | tinyint unsigned | NO | PRI | 0 | | +| tid | | int unsigned | NO | PRI | 0 | | +| cid | Contact id of the mentioned public contact | int unsigned | NO | PRI | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ---------------------- | +| PRIMARY | uri-id, type, tid, cid | +| tid | tid | +| cid | cid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| tid | [tag](help/database/db_tag) | id | +| cid | [contact](help/database/db_contact) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-thread-user.md b/doc/database/db_post-thread-user.md new file mode 100644 index 0000000000..3efb5a77af --- /dev/null +++ b/doc/database/db_post-thread-user.md @@ -0,0 +1,70 @@ +Table post-thread-user +=========== + +Thread related data per user + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | ------------------------------------------------------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| owner-id | Item owner | int unsigned | NO | | 0 | | +| author-id | Item author | int unsigned | NO | | 0 | | +| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | | +| network | | char(4) | NO | | | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | +| received | | datetime | NO | | 0001-01-01 00:00:00 | | +| changed | Date that something in the conversation changed, indicating clients should fetch the conversation again | datetime | NO | | 0001-01-01 00:00:00 | | +| commented | | datetime | NO | | 0001-01-01 00:00:00 | | +| uid | Owner id which owns this copy of the item | mediumint unsigned | NO | PRI | 0 | | +| pinned | The thread is pinned on the profile page | boolean | NO | | 0 | | +| starred | | boolean | NO | | 0 | | +| ignored | Ignore updates for this thread | boolean | NO | | 0 | | +| wall | This item was posted to the wall of uid | boolean | NO | | 0 | | +| mention | | boolean | NO | | 0 | | +| pubmail | | boolean | NO | | 0 | | +| forum_mode | | tinyint unsigned | NO | | 0 | | +| contact-id | contact.id | int unsigned | NO | | 0 | | +| unseen | post has not been seen | boolean | NO | | 1 | | +| hidden | Marker to hide the post from the user | boolean | NO | | 0 | | +| origin | item originated at this site | boolean | NO | | 0 | | +| psid | ID of the permission set of this post | int unsigned | YES | | NULL | | +| post-user-id | Id of the post-user table | int unsigned | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------------- | -------------- | +| PRIMARY | uid, uri-id | +| uri-id | uri-id | +| owner-id | owner-id | +| author-id | author-id | +| causer-id | causer-id | +| uid | uid | +| contact-id | contact-id | +| psid | psid | +| post-user-id | post-user-id | +| commented | commented | +| uid_received | uid, received | +| uid_pinned | uid, pinned | +| uid_commented | uid, commented | +| uid_starred | uid, starred | +| uid_mention | uid, mention | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| owner-id | [contact](help/database/db_contact) | id | +| author-id | [contact](help/database/db_contact) | id | +| causer-id | [contact](help/database/db_contact) | id | +| uid | [user](help/database/db_user) | uid | +| contact-id | [contact](help/database/db_contact) | id | +| psid | [permissionset](help/database/db_permissionset) | id | +| post-user-id | [post-user](help/database/db_post-user) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-thread.md b/doc/database/db_post-thread.md new file mode 100644 index 0000000000..96fd0d4275 --- /dev/null +++ b/doc/database/db_post-thread.md @@ -0,0 +1,43 @@ +Table post-thread +=========== + +Thread related data + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ------------------------------------------------------------------------------------------------------- | ------------ | ---- | --- | ------------------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| owner-id | Item owner | int unsigned | NO | | 0 | | +| author-id | Item author | int unsigned | NO | | 0 | | +| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | | +| network | | char(4) | NO | | | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | +| received | | datetime | NO | | 0001-01-01 00:00:00 | | +| changed | Date that something in the conversation changed, indicating clients should fetch the conversation again | datetime | NO | | 0001-01-01 00:00:00 | | +| commented | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| --------- | --------- | +| PRIMARY | uri-id | +| owner-id | owner-id | +| author-id | author-id | +| causer-id | causer-id | +| received | received | +| commented | commented | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| owner-id | [contact](help/database/db_contact) | id | +| author-id | [contact](help/database/db_contact) | id | +| causer-id | [contact](help/database/db_contact) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-user-notification.md b/doc/database/db_post-user-notification.md new file mode 100644 index 0000000000..36edd4a289 --- /dev/null +++ b/doc/database/db_post-user-notification.md @@ -0,0 +1,31 @@ +Table post-user-notification +=========== + +User post notifications + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----------------- | --------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| uid | Owner id which owns this copy of the item | mediumint unsigned | NO | PRI | NULL | | +| notification-type | | tinyint unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ----------- | +| PRIMARY | uid, uri-id | +| uri-id | uri-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post-user.md b/doc/database/db_post-user.md new file mode 100644 index 0000000000..5fbc3e985a --- /dev/null +++ b/doc/database/db_post-user.md @@ -0,0 +1,86 @@ +Table post-user +=========== + +User specific post data + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----------------- | --------------------------------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | | NULL | | +| parent-uri-id | Id of the item-uri table that contains the parent uri | int unsigned | YES | | NULL | | +| thr-parent-id | Id of the item-uri table that contains the thread parent uri | int unsigned | YES | | NULL | | +| external-id | Id of the item-uri table entry that contains the external uri | int unsigned | YES | | NULL | | +| created | Creation timestamp. | datetime | NO | | 0001-01-01 00:00:00 | | +| edited | Date of last edit (default is created) | datetime | NO | | 0001-01-01 00:00:00 | | +| received | datetime | datetime | NO | | 0001-01-01 00:00:00 | | +| gravity | | tinyint unsigned | NO | | 0 | | +| network | Network from where the item comes from | char(4) | NO | | | | +| owner-id | Link to the contact table with uid=0 of the owner of this item | int unsigned | NO | | 0 | | +| author-id | Link to the contact table with uid=0 of the author of this item | int unsigned | NO | | 0 | | +| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | | +| post-type | Post type (personal note, image, article, ...) | tinyint unsigned | NO | | 0 | | +| post-reason | Reason why the post arrived at the user | tinyint unsigned | NO | | 0 | | +| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | YES | | NULL | | +| private | 0=public, 1=private, 2=unlisted | tinyint unsigned | NO | | 0 | | +| global | | boolean | NO | | 0 | | +| visible | | boolean | NO | | 0 | | +| deleted | item has been marked for deletion | boolean | NO | | 0 | | +| uid | Owner id which owns this copy of the item | mediumint unsigned | NO | | NULL | | +| protocol | Protocol used to deliver the item for this user | tinyint unsigned | YES | | NULL | | +| contact-id | contact.id | int unsigned | NO | | 0 | | +| event-id | Used to link to the event.id | int unsigned | YES | | NULL | | +| unseen | post has not been seen | boolean | NO | | 1 | | +| hidden | Marker to hide the post from the user | boolean | NO | | 0 | | +| notification-type | | tinyint unsigned | NO | | 0 | | +| wall | This item was posted to the wall of uid | boolean | NO | | 0 | | +| origin | item originated at this site | boolean | NO | | 0 | | +| psid | ID of the permission set of this post | int unsigned | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| -------------------- | ----------------------- | +| PRIMARY | id | +| uid_uri-id | UNIQUE, uid, uri-id | +| uri-id | uri-id | +| parent-uri-id | parent-uri-id | +| thr-parent-id | thr-parent-id | +| external-id | external-id | +| owner-id | owner-id | +| author-id | author-id | +| causer-id | causer-id | +| vid | vid | +| contact-id | contact-id | +| event-id | event-id | +| psid | psid | +| author-id_uid | author-id, uid | +| author-id_received | author-id, received | +| parent-uri-id_uid | parent-uri-id, uid | +| uid_contactid | uid, contact-id | +| uid_unseen_contactid | uid, unseen, contact-id | +| uid_unseen | uid, unseen | +| uid_hidden_uri-id | uid, hidden, uri-id | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| parent-uri-id | [item-uri](help/database/db_item-uri) | id | +| thr-parent-id | [item-uri](help/database/db_item-uri) | id | +| external-id | [item-uri](help/database/db_item-uri) | id | +| owner-id | [contact](help/database/db_contact) | id | +| author-id | [contact](help/database/db_contact) | id | +| causer-id | [contact](help/database/db_contact) | id | +| vid | [verb](help/database/db_verb) | id | +| uid | [user](help/database/db_user) | uid | +| contact-id | [contact](help/database/db_contact) | id | +| event-id | [event](help/database/db_event) | id | +| psid | [permissionset](help/database/db_permissionset) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_post.md b/doc/database/db_post.md new file mode 100644 index 0000000000..303269b1c6 --- /dev/null +++ b/doc/database/db_post.md @@ -0,0 +1,58 @@ +Table post +=========== + +Structure for all posts + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------- | --------------------------------------------------------------------------------- | ----------------- | ---- | --- | ------------------- | ----- | +| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | | +| parent-uri-id | Id of the item-uri table that contains the parent uri | int unsigned | YES | | NULL | | +| thr-parent-id | Id of the item-uri table that contains the thread parent uri | int unsigned | YES | | NULL | | +| external-id | Id of the item-uri table entry that contains the external uri | int unsigned | YES | | NULL | | +| created | Creation timestamp. | datetime | NO | | 0001-01-01 00:00:00 | | +| edited | Date of last edit (default is created) | datetime | NO | | 0001-01-01 00:00:00 | | +| received | datetime | datetime | NO | | 0001-01-01 00:00:00 | | +| gravity | | tinyint unsigned | NO | | 0 | | +| network | Network from where the item comes from | char(4) | NO | | | | +| owner-id | Link to the contact table with uid=0 of the owner of this item | int unsigned | NO | | 0 | | +| author-id | Link to the contact table with uid=0 of the author of this item | int unsigned | NO | | 0 | | +| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | | +| post-type | Post type (personal note, image, article, ...) | tinyint unsigned | NO | | 0 | | +| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | YES | | NULL | | +| private | 0=public, 1=private, 2=unlisted | tinyint unsigned | NO | | 0 | | +| global | | boolean | NO | | 0 | | +| visible | | boolean | NO | | 0 | | +| deleted | item has been marked for deletion | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------------- | ------------- | +| PRIMARY | uri-id | +| parent-uri-id | parent-uri-id | +| thr-parent-id | thr-parent-id | +| external-id | external-id | +| owner-id | owner-id | +| author-id | author-id | +| causer-id | causer-id | +| vid | vid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uri-id | [item-uri](help/database/db_item-uri) | id | +| parent-uri-id | [item-uri](help/database/db_item-uri) | id | +| thr-parent-id | [item-uri](help/database/db_item-uri) | id | +| external-id | [item-uri](help/database/db_item-uri) | id | +| owner-id | [contact](help/database/db_contact) | id | +| author-id | [contact](help/database/db_contact) | id | +| causer-id | [contact](help/database/db_contact) | id | +| vid | [verb](help/database/db_verb) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_process.md b/doc/database/db_process.md new file mode 100644 index 0000000000..062e6ff22c --- /dev/null +++ b/doc/database/db_process.md @@ -0,0 +1,24 @@ +Table process +=========== + +Currently running system processes + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ----------- | ------------- | ---- | --- | ------------------- | ----- | +| pid | | int unsigned | NO | PRI | NULL | | +| command | | varbinary(32) | NO | | | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------- | +| PRIMARY | pid | +| command | command | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_profile.md b/doc/database/db_profile.md index 375e06635a..4ea3b56003 100644 --- a/doc/database/db_profile.md +++ b/doc/database/db_profile.md @@ -1,48 +1,70 @@ Table profile -============= +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|--------------|-----------------------------------------------|--------------|------|-----|---------------------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| uid | user.id of the owner of this data | int(11) | NO | | 0 | | -| profile-name | Name of the profile | varchar(255) | NO | | | | -| is-default | Mark this profile as default profile | tinyint(1) | NO | | 0 | | -| hide-friends | Hide friend list from viewers of this profile | tinyint(1) | NO | | 0 | | -| name | | varchar(255) | NO | | | | -| pdesc | Deprecated | varchar(255) | NO | | | | -| dob | Day of birth | varchar(32) | NO | | 0001-01-01 | | -| address | | varchar(255) | NO | | | | -| locality | | varchar(255) | NO | | | | -| region | | varchar(255) | NO | | | | -| postal-code | | varchar(32) | NO | | | | -| country-name | | varchar(255) | NO | | | | -| hometown | Deprecated | varchar(255) | NO | MUL | | | -| gender | Deprecated | varchar(32) | NO | | | | -| marital | Deprecated | varchar(255) | NO | | | | -| with | Deprecated | text | NO | | NULL | | -| howlong | Deprecated | datetime | NO | | 0001-01-01 00:00:00 | | -| sexual | Deprecated | varchar(255) | NO | | | | -| politic | Deprecated | varchar(255) | NO | | | | -| religion | Deprecated | varchar(255) | NO | | | | -| pub_keywords | | text | NO | | NULL | | -| prv_keywords | | text | NO | | NULL | | -| likes | Deprecated | text | NO | | NULL | | -| dislikes | Deprecated | text | NO | | NULL | | -| about | Profile description | text | NO | | | | -| summary | Deprecated | varchar(255) | NO | | | | -| music | Deprecated | text | NO | | NULL | | -| book | Deprecated | text | NO | | NULL | | -| tv | Deprecated | text | NO | | NULL | | -| film | Deprecated | text | NO | | NULL | | -| interest | Deprecated | text | NO | | NULL | | -| romance | Deprecated | text | NO | | NULL | | -| work | Deprecated | text | NO | | NULL | | -| education | Deprecated | text | NO | | NULL | | -| contact | Deprecated | text | NO | | NULL | | -| homepage | | varchar(255) | NO | | | | -| photo | | varchar(255) | NO | | | | -| thumb | | varchar(255) | NO | | | | -| publish | publish default profile in local directory | tinyint(1) | NO | | 0 | | -| net-publish | publish profile in global directory | tinyint(1) | NO | | 0 | | +user profiles data + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | --------------------------------------------- | ------------------ | ---- | --- | ---------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner User id | mediumint unsigned | NO | | 0 | | +| profile-name | Deprecated | varchar(255) | YES | | NULL | | +| is-default | Deprecated | boolean | YES | | NULL | | +| hide-friends | Hide friend list from viewers of this profile | boolean | NO | | 0 | | +| name | | varchar(255) | NO | | | | +| pdesc | Deprecated | varchar(255) | YES | | NULL | | +| dob | Day of birth | varchar(32) | NO | | 0000-00-00 | | +| address | | varchar(255) | NO | | | | +| locality | | varchar(255) | NO | | | | +| region | | varchar(255) | NO | | | | +| postal-code | | varchar(32) | NO | | | | +| country-name | | varchar(255) | NO | | | | +| hometown | Deprecated | varchar(255) | YES | | NULL | | +| gender | Deprecated | varchar(32) | YES | | NULL | | +| marital | Deprecated | varchar(255) | YES | | NULL | | +| with | Deprecated | text | YES | | NULL | | +| howlong | Deprecated | datetime | YES | | NULL | | +| sexual | Deprecated | varchar(255) | YES | | NULL | | +| politic | Deprecated | varchar(255) | YES | | NULL | | +| religion | Deprecated | varchar(255) | YES | | NULL | | +| pub_keywords | | text | YES | | NULL | | +| prv_keywords | | text | YES | | NULL | | +| likes | Deprecated | text | YES | | NULL | | +| dislikes | Deprecated | text | YES | | NULL | | +| about | Profile description | text | YES | | NULL | | +| summary | Deprecated | varchar(255) | YES | | NULL | | +| music | Deprecated | text | YES | | NULL | | +| book | Deprecated | text | YES | | NULL | | +| tv | Deprecated | text | YES | | NULL | | +| film | Deprecated | text | YES | | NULL | | +| interest | Deprecated | text | YES | | NULL | | +| romance | Deprecated | text | YES | | NULL | | +| work | Deprecated | text | YES | | NULL | | +| education | Deprecated | text | YES | | NULL | | +| contact | Deprecated | text | YES | | NULL | | +| homepage | | varchar(255) | NO | | | | +| xmpp | | varchar(255) | NO | | | | +| photo | | varchar(255) | NO | | | | +| thumb | | varchar(255) | NO | | | | +| publish | publish default profile in local directory | boolean | NO | | 0 | | +| net-publish | publish profile in global directory | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| -------------- | ---------------------- | +| PRIMARY | id | +| uid_is-default | uid, is-default | +| pub_keywords | FULLTEXT, pub_keywords | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_profile_check.md b/doc/database/db_profile_check.md index 411da06d30..4049bd6048 100644 --- a/doc/database/db_profile_check.md +++ b/doc/database/db_profile_check.md @@ -1,13 +1,35 @@ Table profile_check -=================== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| -------- | ------------- | ---------------- | ---- | --- | ------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| uid | user.id | int(10) unsigned | NO | | 0 | | -| cid | contact.id | int(10) unsigned | NO | | 0 | | -| dfrn_id | | varchar(255) | NO | | | | -| sec | | varchar(255) | NO | | 0 | | -| expire | | int(11) | NO | | NULL | | +DFRN remote auth use + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ------------- | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| cid | contact.id | int unsigned | NO | | 0 | | +| dfrn_id | | varchar(255) | NO | | | | +| sec | | varchar(255) | NO | | | | +| expire | | int unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | +| cid | cid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| cid | [contact](help/database/db_contact) | id | Return to [database documentation](help/database) diff --git a/doc/database/db_profile_field.md b/doc/database/db_profile_field.md new file mode 100644 index 0000000000..56e8e3d0b6 --- /dev/null +++ b/doc/database/db_profile_field.md @@ -0,0 +1,38 @@ +Table profile_field +=========== + +Custom profile fields + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------- | ----------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | Owner user id | mediumint unsigned | NO | | 0 | | +| order | Field ordering per user | mediumint unsigned | NO | | 1 | | +| psid | ID of the permission set of this profile field - 0 = public | int unsigned | YES | | NULL | | +| label | Label of the field | varchar(255) | NO | | | | +| value | Value of the field | text | YES | | NULL | | +| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | | +| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | +| order | order | +| psid | psid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | +| psid | [permissionset](help/database/db_permissionset) | id | + +Return to [database documentation](help/database) diff --git a/doc/database/db_push_subscriber.md b/doc/database/db_push_subscriber.md index b766ccb46c..4ba50a4d1d 100644 --- a/doc/database/db_push_subscriber.md +++ b/doc/database/db_push_subscriber.md @@ -1,10 +1,38 @@ Table push_subscriber -===================== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|---------|------------------|---------|------|-----|---------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| poll_id | | int(11) | NO | MUL | 0 | | -| choice | | int(11) | NO | MUL | 0 | | +Used for OStatus: Contains feed subscribers + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------------ | --------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| callback_url | | varchar(255) | NO | | | | +| topic | | varchar(255) | NO | | | | +| nickname | | varchar(255) | NO | | | | +| push | Retrial counter | tinyint | NO | | 0 | | +| last_update | Date of last successful trial | datetime | NO | | 0001-01-01 00:00:00 | | +| next_try | Next retrial date | datetime | NO | | 0001-01-01 00:00:00 | | +| renewed | Date of last subscription renewal | datetime | NO | | 0001-01-01 00:00:00 | | +| secret | | varchar(255) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| -------- | -------- | +| PRIMARY | id | +| next_try | next_try | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_queue.md b/doc/database/db_queue.md deleted file mode 100644 index 6b19f02f28..0000000000 --- a/doc/database/db_queue.md +++ /dev/null @@ -1,14 +0,0 @@ -Table queue -=========== - -| Field | Description | Type | Null | Key | Default | Extra | -|---------|------------------|-------------|------|-----|---------------------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| cid | | int(11) | NO | MUL | 0 | | -| network | | varchar(32) | NO | MUL | | | -| created | | datetime | NO | MUL | 0001-01-01 00:00:00 | | -| last | | datetime | NO | MUL | 0001-01-01 00:00:00 | | -| content | | mediumtext | NO | | NULL | | -| batch | | tinyint(1) | NO | MUL | 0 | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_register.md b/doc/database/db_register.md index 974a2dc673..8ace3c199b 100644 --- a/doc/database/db_register.md +++ b/doc/database/db_register.md @@ -1,13 +1,34 @@ Table register -============== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| -------- | ------------- | ---------------- | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(11) unsigned | NO | PRI | NULL | auto_increment | -| hash | | varchar(255) | NO | | | | -| created | | datetime | NO | | 0001-01-01 00:00:00 | | -| uid | user.id | int(11) unsigned | NO | | | | -| password | | varchar(255) | NO | | | | -| language | | varchar(16) | NO | | | | +registrations requiring admin approval + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | ------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| hash | | varchar(255) | NO | | | | +| created | | datetime | NO | | 0001-01-01 00:00:00 | | +| uid | User id | mediumint unsigned | NO | | 0 | | +| password | | varchar(255) | NO | | | | +| language | | varchar(16) | NO | | | | +| note | | text | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_search.md b/doc/database/db_search.md index 63d0a46b40..157d09ecb8 100644 --- a/doc/database/db_search.md +++ b/doc/database/db_search.md @@ -1,10 +1,31 @@ Table search -============ +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|-------|------------------|--------------|------|-----|---------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| uid | | int(11) | NO | MUL | 0 | | -| term | | varchar(255) | NO | MUL | | | + + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ------------- | ------------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| uid | User id | mediumint unsigned | NO | | 0 | | +| term | | varchar(255) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| -------- | ------------- | +| PRIMARY | id | +| uid_term | uid, term(64) | +| term | term(64) | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_session.md b/doc/database/db_session.md index 1e87c24d03..794e49c6a7 100644 --- a/doc/database/db_session.md +++ b/doc/database/db_session.md @@ -1,11 +1,26 @@ Table session -============= +=========== + +web session storage + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ------ | ------------- | --------------- | ---- | --- | ------- | -------------- | +| id | sequential ID | bigint unsigned | NO | PRI | NULL | auto_increment | +| sid | | varbinary(255) | NO | | | | +| data | | text | YES | | NULL | | +| expire | | int unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------- | +| PRIMARY | id | +| sid | sid(64) | +| expire | expire | -| Field | Description | Type | Null | Key | Default | Extra | -| ------ | ------------- | ------------------- | ---- | --- | ------- | --------------- | -| id | sequential ID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | -| sid | | varchar(255) | NO | MUL | | | -| data | | text | NO | | NULL | | -| expire | | int(10) unsigned | NO | MUL | 0 | | Return to [database documentation](help/database) diff --git a/doc/database/db_sign.md b/doc/database/db_sign.md deleted file mode 100644 index 6986613e59..0000000000 --- a/doc/database/db_sign.md +++ /dev/null @@ -1,12 +0,0 @@ -Table sign -========== - -| Field | Description | Type | Null | Key | Default | Extra | -| ------------ | ------------- | ---------------- | ---- | --- | ------- | --------------- | -| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment | -| iid | item.id | int(10) unsigned | NO | MUL | 0 | | -| signed_text | | mediumtext | NO | | NULL | | -| signature | | text | NO | | NULL | | -| signer | | varchar(255) | NO | | | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_storage.md b/doc/database/db_storage.md new file mode 100644 index 0000000000..55911e28a6 --- /dev/null +++ b/doc/database/db_storage.md @@ -0,0 +1,22 @@ +Table storage +=========== + +Data stored by Database storage backend + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ------------------------------ | ------------ | ---- | --- | ------- | -------------- | +| id | Auto incremented image data id | int unsigned | NO | PRI | NULL | auto_increment | +| data | file data | longblob | NO | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_tag.md b/doc/database/db_tag.md new file mode 100644 index 0000000000..8c742917a7 --- /dev/null +++ b/doc/database/db_tag.md @@ -0,0 +1,25 @@ +Table tag +=========== + +tags and mentions + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ----------- | -------------- | ---- | --- | ------- | -------------- | +| id | | int unsigned | NO | PRI | NULL | auto_increment | +| name | | varchar(96) | NO | | | | +| url | | varbinary(255) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| ------------- | ----------------- | +| PRIMARY | id | +| type_name_url | UNIQUE, name, url | +| url | url | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_term.md b/doc/database/db_term.md deleted file mode 100644 index d18bf1c3b1..0000000000 --- a/doc/database/db_term.md +++ /dev/null @@ -1,19 +0,0 @@ -Table term -========== - -| Field | Description | Type | Null | Key | Default | Extra | -|----------| ------------- |---------------------|------|-----|---------------------|----------------| -| tid | | int(10) unsigned | NO | PRI | NULL | auto_increment | -| oid | | int(10) unsigned | NO | MUL | 0 | | -| otype | | tinyint(3) unsigned | NO | MUL | 0 | | -| type | | tinyint(3) unsigned | NO | MUL | 0 | | -| term | | varchar(255) | NO | | | | -| url | | varchar(255) | NO | | | | -| aid | | int(10) unsigned | NO | | 0 | | -| uid | | int(10) unsigned | NO | MUL | 0 | | -| guid | | varchar(255) | NO | MUL | | | -| created | | datetime | NO | | 0001-01-01 00:00:00 | | -| received | | datetime | NO | | 0001-01-01 00:00:00 | | -| global | | tinyint(1) | NO | | 0 | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_thread.md b/doc/database/db_thread.md deleted file mode 100644 index 13b70b4511..0000000000 --- a/doc/database/db_thread.md +++ /dev/null @@ -1,33 +0,0 @@ -Table thread -============ - -| Field | Description | Type | Null | Key | Default | Extra | -|-------------|------------------|------------------|------|-----|---------------------|-------| -| iid | sequential ID | int(10) unsigned | NO | PRI | 0 | | -| uid | | int(10) unsigned | NO | MUL | 0 | | -| contact-id | | int(11) unsigned | NO | | 0 | | -| gcontact-id | Global Contact | int(11) unsigned | NO | | 0 | | -| owner-id | Item owner | int(11) unsigned | NO | MUL | 0 | | -| author-id | Item author | int(11) unsigned | NO | MUL | 0 | | -| created | | datetime | NO | MUL | 0001-01-01 00:00:00 | | -| edited | | datetime | NO | | 0001-01-01 00:00:00 | | -| commented | | datetime | NO | MUL | 0001-01-01 00:00:00 | | -| received | | datetime | NO | | 0001-01-01 00:00:00 | | -| changed | | datetime | NO | | 0001-01-01 00:00:00 | | -| wall | | tinyint(1) | NO | MUL | 0 | | -| private | | tinyint(1) | NO | | 0 | | -| pubmail | | tinyint(1) | NO | | 0 | | -| moderated | | tinyint(1) | NO | | 0 | | -| visible | | tinyint(1) | NO | | 0 | | -| spam | | tinyint(1) | NO | | 0 | | -| starred | | tinyint(1) | NO | | 0 | | -| ignored | | tinyint(1) | NO | | 0 | | -| bookmark | | tinyint(1) | NO | | 0 | | -| unseen | | tinyint(1) | NO | | 1 | | -| deleted | | tinyint(1) | NO | | 0 | | -| origin | | tinyint(1) | NO | | 0 | | -| forum_mode | | tinyint(1) | NO | | 0 | | -| mention | | tinyint(1) | NO | | 0 | | -| network | | varchar(32) | NO | | | | - -Return to [database documentation](help/database) diff --git a/doc/database/db_tokens.md b/doc/database/db_tokens.md index 3b3778d68c..7cf9bba4cc 100644 --- a/doc/database/db_tokens.md +++ b/doc/database/db_tokens.md @@ -1,13 +1,35 @@ Table tokens -============ +=========== -| Field | Description | Type | Null | Key | Default | Extra | -| ---------- | ----------- | ------------ | ---- | --- | ------- | ----- | -| id | | varchar(40) | NO | PRI | NULL | | -| secret | | text | NO | | NULL | | -| client_id | | varchar(20) | NO | | | | -| expires | | int(11) | NO | | 0 | | -| scope | | varchar(200) | NO | | | | -| uid | | int(11) | NO | | 0 | | +OAuth usage + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ----------- | ------------------ | ---- | --- | ------- | ----- | +| id | | varchar(40) | NO | PRI | NULL | | +| secret | | text | YES | | NULL | | +| client_id | | varchar(20) | NO | | | | +| expires | | int | NO | | 0 | | +| scope | | varchar(200) | NO | | | | +| uid | User id | mediumint unsigned | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| --------- | --------- | +| PRIMARY | id | +| client_id | client_id | +| uid | uid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| client_id | [clients](help/database/db_clients) | client_id | +| uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_user-contact.md b/doc/database/db_user-contact.md new file mode 100644 index 0000000000..35d140cfff --- /dev/null +++ b/doc/database/db_user-contact.md @@ -0,0 +1,33 @@ +Table user-contact +=========== + +User specific public contact data + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ------------------------------------------- | ------------------ | ---- | --- | ------- | ----- | +| cid | Contact id of the linked public contact | int unsigned | NO | PRI | 0 | | +| uid | User id | mediumint unsigned | NO | PRI | 0 | | +| blocked | Contact is completely blocked for this user | boolean | YES | | NULL | | +| ignored | Posts from this contact are ignored | boolean | YES | | NULL | | +| collapsed | Posts from this contact are collapsed | boolean | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | -------- | +| PRIMARY | uid, cid | +| cid | cid | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| cid | [contact](help/database/db_contact) | id | +| uid | [user](help/database/db_user) | uid | + +Return to [database documentation](help/database) diff --git a/doc/database/db_user.md b/doc/database/db_user.md index 7033bcc896..611fb76b05 100644 --- a/doc/database/db_user.md +++ b/doc/database/db_user.md @@ -1,77 +1,75 @@ Table user -========== +=========== -| Field | Description | Type | Null | Key | Default | Extra | -|--------------------------|-----------------------------------------------------------------------------------------|---------------------|------|-----|---------------------|----------------| -| uid | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| guid | A unique identifier for this user | varchar(64) | NO | | | | -| username | Name that this user is known by | varchar(255) | NO | | | | -| password | encrypted password | varchar(255) | NO | | | | -| nickname | nick- and user name | varchar(255) | NO | MUL | | | -| email | the users email address | varchar(255) | NO | | | | -| openid | | varchar(255) | NO | | | | -| timezone | PHP-legal timezone | varchar(128) | NO | | | | -| language | default language | varchar(32) | NO | | en | | -| register_date | timestamp of registration | datetime | NO | | 0001-01-01 00:00:00 | | -| login_date | timestamp of last login | datetime | NO | | 0001-01-01 00:00:00 | | -| default-location | Default for item.location | varchar(255) | NO | | | | -| allow_location | 1 allows to display the location | tinyint(1) | NO | | 0 | | -| theme | user theme preference | varchar(255) | NO | | | | -| pubkey | RSA public key 4096 bit | text | NO | | NULL | | -| prvkey | RSA private key 4096 bit | text | NO | | NULL | | -| spubkey | | text | NO | | NULL | | -| sprvkey | | text | NO | | NULL | | -| verified | user is verified through email | tinyint(1) unsigned | NO | | 0 | | -| blocked | 1 for user is blocked | tinyint(1) unsigned | NO | | 0 | | -| blockwall | Prohibit contacts to post to the profile page of the user | tinyint(1) unsigned | NO | | 0 | | -| hidewall | Hide profile details from unkown viewers | tinyint(1) unsigned | NO | | 0 | | -| blocktags | Prohibit contacts to tag the post of this user | tinyint(1) unsigned | NO | | 0 | | -| unkmail | Permit unknown people to send private mails to this user | tinyint(1) | NO | | 0 | | -| cntunkmail | | int(11) | NO | | 10 | | -| notify-flags | email notification options | int(11) unsigned | NO | | 65535 | | -| page-flags | page/profile type | int(11) unsigned | NO | | 0 | | -| prvnets | | tinyint(1) | NO | | 0 | | -| pwdreset | | varchar(255) | NO | | | | -| maxreq | | int(11) | NO | | 10 | | -| expire | | int(11) unsigned | NO | | 0 | | -| account_removed | if 1 the account is removed | tinyint(1) | NO | | 0 | | -| account_expired | | tinyint(1) | NO | | 0 | | -| account_expires_on | timestamp when account expires and will be deleted | datetime | NO | | 0001-01-01 00:00:00 | | -| expire_notification_sent | timestamp of last warning of account expiration | datetime | NO | | 0001-01-01 00:00:00 | | -| def_gid | | int(11) | NO | | 0 | | -| allow_cid | default permission for this user | mediumtext | NO | | NULL | | -| allow_gid | default permission for this user | mediumtext | NO | | NULL | | -| deny_cid | default permission for this user | mediumtext | NO | | NULL | | -| deny_gid | default permission for this user | mediumtext | NO | | NULL | | -| openidserver | | text | NO | | NULL | | +The local users -``` -/** -* page-flags -*/ -define ( 'PAGE_NORMAL', 0 ); -define ( 'PAGE_SOAPBOX', 1 ); -define ( 'PAGE_COMMUNITY', 2 ); -define ( 'PAGE_FREELOVE', 3 ); -define ( 'PAGE_BLOG', 4 ); -define ( 'PAGE_PRVGROUP', 5 ); +Fields +------ -/** -* notify-flags -*/ -define ( 'NOTIFY_INTRO', 0x0001 ); -define ( 'NOTIFY_CONFIRM', 0x0002 ); -define ( 'NOTIFY_WALL', 0x0004 ); -define ( 'NOTIFY_COMMENT', 0x0008 ); -define ( 'NOTIFY_MAIL', 0x0010 ); -define ( 'NOTIFY_SUGGEST', 0x0020 ); -define ( 'NOTIFY_PROFILE', 0x0040 ); -define ( 'NOTIFY_TAGSELF', 0x0080 ); -define ( 'NOTIFY_TAGSHARE', 0x0100 ); -define ( 'NOTIFY_POKE', 0x0200 ); -define ( 'NOTIFY_SHARE', 0x0400 ); +| Field | Description | Type | Null | Key | Default | Extra | +| ------------------------ | --------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- | +| uid | sequential ID | mediumint unsigned | NO | PRI | NULL | auto_increment | +| parent-uid | The parent user that has full control about this user | mediumint unsigned | YES | | NULL | | +| guid | A unique identifier for this user | varchar(64) | NO | | | | +| username | Name that this user is known by | varchar(255) | NO | | | | +| password | encrypted password | varchar(255) | NO | | | | +| legacy_password | Is the password hash double-hashed? | boolean | NO | | 0 | | +| nickname | nick- and user name | varchar(255) | NO | | | | +| email | the users email address | varchar(255) | NO | | | | +| openid | | varchar(255) | NO | | | | +| timezone | PHP-legal timezone | varchar(128) | NO | | | | +| language | default language | varchar(32) | NO | | en | | +| register_date | timestamp of registration | datetime | NO | | 0001-01-01 00:00:00 | | +| login_date | timestamp of last login | datetime | NO | | 0001-01-01 00:00:00 | | +| default-location | Default for item.location | varchar(255) | NO | | | | +| allow_location | 1 allows to display the location | boolean | NO | | 0 | | +| theme | user theme preference | varchar(255) | NO | | | | +| pubkey | RSA public key 4096 bit | text | YES | | NULL | | +| prvkey | RSA private key 4096 bit | text | YES | | NULL | | +| spubkey | | text | YES | | NULL | | +| sprvkey | | text | YES | | NULL | | +| verified | user is verified through email | boolean | NO | | 0 | | +| blocked | 1 for user is blocked | boolean | NO | | 0 | | +| blockwall | Prohibit contacts to post to the profile page of the user | boolean | NO | | 0 | | +| hidewall | Hide profile details from unkown viewers | boolean | NO | | 0 | | +| blocktags | Prohibit contacts to tag the post of this user | boolean | NO | | 0 | | +| unkmail | Permit unknown people to send private mails to this user | boolean | NO | | 0 | | +| cntunkmail | | int unsigned | NO | | 10 | | +| notify-flags | email notification options | smallint unsigned | NO | | 65535 | | +| page-flags | page/profile type | tinyint unsigned | NO | | 0 | | +| account-type | | tinyint unsigned | NO | | 0 | | +| prvnets | | boolean | NO | | 0 | | +| pwdreset | Password reset request token | varchar(255) | YES | | NULL | | +| pwdreset_time | Timestamp of the last password reset request | datetime | YES | | NULL | | +| maxreq | | int unsigned | NO | | 10 | | +| expire | | int unsigned | NO | | 0 | | +| account_removed | if 1 the account is removed | boolean | NO | | 0 | | +| account_expired | | boolean | NO | | 0 | | +| account_expires_on | timestamp when account expires and will be deleted | datetime | NO | | 0001-01-01 00:00:00 | | +| expire_notification_sent | timestamp of last warning of account expiration | datetime | NO | | 0001-01-01 00:00:00 | | +| def_gid | | int unsigned | NO | | 0 | | +| allow_cid | default permission for this user | mediumtext | YES | | NULL | | +| allow_gid | default permission for this user | mediumtext | YES | | NULL | | +| deny_cid | default permission for this user | mediumtext | YES | | NULL | | +| deny_gid | default permission for this user | mediumtext | YES | | NULL | | +| openidserver | | text | YES | | NULL | | -define ( 'NOTIFY_SYSTEM', 0x8000 ); -``` +Indexes +------------ + +| Name | Fields | +| ---------- | ------------ | +| PRIMARY | uid | +| nickname | nickname(32) | +| parent-uid | parent-uid | +| guid | guid | +| email | email(64) | + +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +| parent-uid | [user](help/database/db_user) | uid | Return to [database documentation](help/database) diff --git a/doc/database/db_userd.md b/doc/database/db_userd.md index 80e3084757..17a81b408a 100644 --- a/doc/database/db_userd.md +++ b/doc/database/db_userd.md @@ -1,9 +1,23 @@ Table userd =========== -| Field | Description | Type | Null | Key | Default | Extra | -|----------|------------------|--------------|------|-----|---------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| username | | varchar(255) | NO | MUL | NULL | | +Deleted usernames + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| -------- | ------------- | ------------ | ---- | --- | ------- | -------------- | +| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment | +| username | | varchar(255) | NO | | NULL | | + +Indexes +------------ + +| Name | Fields | +| -------- | ------------ | +| PRIMARY | id | +| username | username(32) | + Return to [database documentation](help/database) diff --git a/doc/database/db_verb.md b/doc/database/db_verb.md new file mode 100644 index 0000000000..43507053b2 --- /dev/null +++ b/doc/database/db_verb.md @@ -0,0 +1,23 @@ +Table verb +=========== + +Activity Verbs + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ----------- | ----------------- | ---- | --- | ------- | -------------- | +| id | | smallint unsigned | NO | PRI | NULL | auto_increment | +| name | | varchar(100) | NO | | | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | id | +| name | name | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_worker-ipc.md b/doc/database/db_worker-ipc.md new file mode 100644 index 0000000000..1635981d70 --- /dev/null +++ b/doc/database/db_worker-ipc.md @@ -0,0 +1,22 @@ +Table worker-ipc +=========== + +Inter process communication between the frontend and the worker + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| ----- | ------------------------- | ------- | ---- | --- | ------- | ----- | +| key | | int | NO | PRI | NULL | | +| jobs | Flag for outstanding jobs | boolean | YES | | NULL | | + +Indexes +------------ + +| Name | Fields | +| ------- | ------ | +| PRIMARY | key | + + +Return to [database documentation](help/database) diff --git a/doc/database/db_workerqueue.md b/doc/database/db_workerqueue.md index 182358a4c4..a479ecbcaa 100644 --- a/doc/database/db_workerqueue.md +++ b/doc/database/db_workerqueue.md @@ -1,14 +1,38 @@ Table workerqueue -================= +=========== + +Background tasks queue entries + +Fields +------ + +| Field | Description | Type | Null | Key | Default | Extra | +| --------- | ------------------------------------------------------- | ---------------- | ---- | --- | ------------------- | -------------- | +| id | Auto incremented worker task id | int unsigned | NO | PRI | NULL | auto_increment | +| command | Task command | varchar(100) | YES | | NULL | | +| parameter | Task parameter | mediumtext | YES | | NULL | | +| priority | Task priority | tinyint unsigned | NO | | 0 | | +| created | Creation date | datetime | NO | | 0001-01-01 00:00:00 | | +| pid | Process id of the worker | int unsigned | NO | | 0 | | +| executed | Execution date | datetime | NO | | 0001-01-01 00:00:00 | | +| next_try | Next retrial date | datetime | NO | | 0001-01-01 00:00:00 | | +| retrial | Retrial counter | tinyint | NO | | 0 | | +| done | Marked 1 when the task was done - will be deleted later | boolean | NO | | 0 | | + +Indexes +------------ + +| Name | Fields | +| ----------------------------- | -------------------------------- | +| PRIMARY | id | +| command | command | +| done_command_parameter | done, command, parameter(64) | +| done_executed | done, executed | +| done_priority_retrial_created | done, priority, retrial, created | +| done_priority_next_try | done, priority, next_try | +| done_pid_next_try | done, pid, next_try | +| done_pid_retrial | done, pid, retrial | +| done_pid_priority_created | done, pid, priority, created | -| Field | Description | Type | Null | Key | Default | Extra | -|-----------|------------------|---------------------|------|-----|---------------------|----------------| -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| parameter | | text | NO | | NULL | | -| priority | | tinyint(3) unsigned | NO | | 0 | | -| created | | datetime | NO | MUL | 0001-01-01 00:00:00 | | -| pid | | int(11) | NO | | 0 | | -| executed | | datetime | NO | | 0001-01-01 00:00:00 | | -| done | set to 1 if done | tinyint(1) | NO | | 0 | | Return to [database documentation](help/database) diff --git a/src/Console/DatabaseStructure.php b/src/Console/DatabaseStructure.php index c6d708eb71..b44400c01a 100644 --- a/src/Console/DatabaseStructure.php +++ b/src/Console/DatabaseStructure.php @@ -120,6 +120,7 @@ HELP; $output = ob_get_clean(); break; case "dumpsql": + DBStructure::writeStructure(); ob_start(); DBStructure::printStructure($basePath); $output = ob_get_clean(); diff --git a/src/Database/DBStructure.php b/src/Database/DBStructure.php index 914846590b..9af6100a0a 100644 --- a/src/Database/DBStructure.php +++ b/src/Database/DBStructure.php @@ -24,6 +24,7 @@ namespace Friendica\Database; use Exception; use Friendica\Core\Hook; use Friendica\Core\Logger; +use Friendica\Core\Renderer; use Friendica\DI; use Friendica\Model\Item; use Friendica\Model\User; @@ -159,6 +160,110 @@ class DBStructure return DI::l10n()->t('Errors encountered performing database changes: ') . $message . EOL; } + public static function writeStructure() + { + Renderer::registerTemplateEngine('Friendica\Render\FriendicaSmartyEngine'); + + $tables = []; + foreach (self::definition(null) as $name => $definition) { + $indexes = [[ + 'name' => 'Name', + 'fields' => 'Fields', + ], + [ + 'name' => '-', + 'fields' => '-', + ]]; + + $lengths = ['name' => 4, 'fields' => 6]; + foreach ($definition['indexes'] as $key => $value) { + $fieldlist = implode(', ', $value); + $indexes[] = ['name' => $key, 'fields' => $fieldlist]; + $lengths['name'] = max($lengths['name'], strlen($key)); + $lengths['fields'] = max($lengths['fields'], strlen($fieldlist)); + } + + array_walk_recursive($indexes, function(&$value, $key) use ($lengths) + { + $value = str_pad($value, $lengths[$key], $value === '-' ? '-' : ' '); + }); + + $foreign = []; + $fields = [[ + 'name' => 'Field', + 'comment' => 'Description', + 'type' => 'Type', + 'null' => 'Null', + 'primary' => 'Key', + 'default' => 'Default', + 'extra' => 'Extra', + ], + [ + 'name' => '-', + 'comment' => '-', + 'type' => '-', + 'null' => '-', + 'primary' => '-', + 'default' => '-', + 'extra' => '-', + ]]; + $lengths = [ + 'name' => 5, + 'comment' => 11, + 'type' => 4, + 'null' => 4, + 'primary' => 3, + 'default' => 7, + 'extra' => 5, + ]; + foreach ($definition['fields'] as $key => $value) { + $field = []; + $field['name'] = $key; + $field['comment'] = $value['comment'] ?? ''; + $field['type'] = $value['type']; + $field['null'] = ($value['not null'] ?? false) ? 'NO' : 'YES'; + $field['primary'] = ($value['primary'] ?? false) ? 'PRI' : ''; + $field['default'] = $value['default'] ?? 'NULL'; + $field['extra'] = $value['extra'] ?? ''; + + foreach ($field as $fieldname => $fieldvalue) { + $lengths[$fieldname] = max($lengths[$fieldname] ?? 0, strlen($fieldvalue)); + } + $fields[] = $field; + + if (!empty($value['foreign'])) { + $foreign[] = [ + 'field' => $key, + 'targettable' => array_keys($value['foreign'])[0], + 'targetfield' => array_values($value['foreign'])[0] + ]; + } + } + + array_walk_recursive($fields, function(&$value, $key) use ($lengths) + { + $value = str_pad($value, $lengths[$key], $value === '-' ? '-' : ' '); + }); + + $tables[] = ['name' => $name, 'comment' => $definition['comment']]; + $content = Renderer::replaceMacros(Renderer::getMarkupTemplate('structure.tpl'), [ + '$name' => $name, + '$comment' => $definition['comment'], + '$fields' => $fields, + '$indexes' => $indexes, + '$foreign' => $foreign, + ]); + $filename = DI::basePath() . '/doc/database/db_' . $name . '.md'; + file_put_contents($filename, $content); + } + asort($tables); + $content = Renderer::replaceMacros(Renderer::getMarkupTemplate('tables.tpl'), [ + '$tables' => $tables, + ]); + $filename = DI::basePath() . '/doc/database.md'; + file_put_contents($filename, $content); + } + public static function printStructure($basePath) { $database = self::definition($basePath, false); @@ -1206,7 +1311,7 @@ class DBStructure if ($verbose) { echo "Zero contact added\n"; } - } + } } elseif (self::existsTable('contact') && $verbose) { echo "Zero contact already added\n"; } elseif ($verbose) { @@ -1230,7 +1335,7 @@ class DBStructure if (self::existsTable('permissionset')) { if (!DBA::exists('permissionset', ['id' => 0])) { - DBA::insert('permissionset', ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']); + DBA::insert('permissionset', ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']); $lastid = DBA::lastInsertId(); if ($lastid != 0) { DBA::update('permissionset', ['id' => 0], ['id' => $lastid]); @@ -1265,7 +1370,7 @@ class DBStructure } elseif ($verbose) { echo "permissionset: Table not found\n"; } - + if (!self::existsForeignKeyForField('tokens', 'client_id')) { $tokens = DBA::p("SELECT `tokens`.`id` FROM `tokens` LEFT JOIN `clients` ON `clients`.`client_id` = `tokens`.`client_id` diff --git a/src/Model/Event.php b/src/Model/Event.php index c59baba9cb..81e33013fb 100644 --- a/src/Model/Event.php +++ b/src/Model/Event.php @@ -586,10 +586,10 @@ class Event $last_date = ''; $fmt = DI::l10n()->t('l, F j'); foreach ($event_result as $event) { - $item = Post::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link'], ['id' => $event['itemid']]); + $item = Post::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link', 'private'], ['id' => $event['itemid']]); if (!DBA::isResult($item)) { // Using default values when no item had been found - $item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '']; + $item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '', 'private' => Item::PUBLIC]; } $event = array_merge($event, $item); diff --git a/src/Module/Admin/Site.php b/src/Module/Admin/Site.php index c12dd7b753..a04b4194df 100644 --- a/src/Module/Admin/Site.php +++ b/src/Module/Admin/Site.php @@ -32,6 +32,7 @@ use Friendica\Model\Contact; use Friendica\Model\User; use Friendica\Module\BaseAdmin; use Friendica\Module\Register; +use Friendica\Protocol\Relay; use Friendica\Util\BasePath; use Friendica\Util\EMailer\MailBuilder; use Friendica\Util\Strings; @@ -208,8 +209,6 @@ class Site extends BaseAdmin $worker_fastlane = !empty($_POST['worker_fastlane']); $relay_directly = !empty($_POST['relay_directly']); - $relay_server = (!empty($_POST['relay_server']) ? Strings::escapeTags(trim($_POST['relay_server'])) : ''); - $relay_subscribe = !empty($_POST['relay_subscribe']); $relay_scope = (!empty($_POST['relay_scope']) ? Strings::escapeTags(trim($_POST['relay_scope'])) : ''); $relay_server_tags = (!empty($_POST['relay_server_tags']) ? Strings::escapeTags(trim($_POST['relay_server_tags'])) : ''); $relay_deny_tags = (!empty($_POST['relay_deny_tags']) ? Strings::escapeTags(trim($_POST['relay_deny_tags'])) : ''); @@ -418,8 +417,6 @@ class Site extends BaseAdmin DI::config()->set('system', 'worker_fastlane' , $worker_fastlane); DI::config()->set('system', 'relay_directly' , $relay_directly); - DI::config()->set('system', 'relay_server' , $relay_server); - DI::config()->set('system', 'relay_subscribe' , $relay_subscribe); DI::config()->set('system', 'relay_scope' , $relay_scope); DI::config()->set('system', 'relay_server_tags', $relay_server_tags); DI::config()->set('system', 'relay_deny_tags' , $relay_deny_tags); @@ -589,6 +586,10 @@ class Site extends BaseAdmin '$performance' => DI::l10n()->t('Performance'), '$worker_title' => DI::l10n()->t('Worker'), '$relay_title' => DI::l10n()->t('Message Relay'), + '$relay_description' => DI::l10n()->t('Use the command "console relay" in the command line to add or remove relays.'), + '$no_relay_list' => DI::l10n()->t('The system is not subscribed to any relays at the moment.'), + '$relay_list_title' => DI::l10n()->t('The system is currently subscribed to the following relays:'), + '$relay_list' => Relay::getList(['url']), '$relocate' => DI::l10n()->t('Relocate Instance'), '$relocate_warning' => DI::l10n()->t('Warning! Advanced function. Could make this server unreachable.'), '$baseurl' => DI::baseUrl()->get(true), @@ -688,10 +689,8 @@ class Site extends BaseAdmin '$worker_queues' => ['worker_queues', DI::l10n()->t('Maximum number of parallel workers'), DI::config()->get('system', 'worker_queues'), DI::l10n()->t('On shared hosters set this to %d. On larger systems, values of %d are great. Default value is %d.', 5, 20, 10)], '$worker_fastlane' => ['worker_fastlane', DI::l10n()->t('Enable fastlane'), DI::config()->get('system', 'worker_fastlane'), DI::l10n()->t('When enabed, the fastlane mechanism starts an additional worker if processes with higher priority are blocked by processes of lower priority.')], - '$relay_subscribe' => ['relay_subscribe', DI::l10n()->t('Use relay servers'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from relay servers. They will be included in the search, subscribed tags and on the global community page.')], - '$relay_server' => ['relay_server', DI::l10n()->t('"Social Relay" server'), DI::config()->get('system', 'relay_server'), DI::l10n()->t('Address of the "Social Relay" server where public posts should be send to. For example %s. ActivityRelay servers are administrated via the "console relay" command line command.', 'https://social-relay.isurf.ca')], '$relay_directly' => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')], - '$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), ['' => DI::l10n()->t('Disabled'), 'all' => DI::l10n()->t('all'), 'tags' => DI::l10n()->t('tags')]], + '$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), [SR_SCOPE_NONE => DI::l10n()->t('Disabled'), SR_SCOPE_ALL => DI::l10n()->t('all'), SR_SCOPE_TAGS => DI::l10n()->t('tags')]], '$relay_server_tags' => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')], '$relay_deny_tags' => ['relay_deny_tags', DI::l10n()->t('Deny Server tags'), DI::config()->get('system', 'relay_deny_tags'), DI::l10n()->t('Comma separated list of tags that are rejected.')], '$relay_user_tags' => ['relay_user_tags', DI::l10n()->t('Allow user tags'), DI::config()->get('system', 'relay_user_tags'), DI::l10n()->t('If enabled, the tags from the saved searches will used for the "tags" subscription in addition to the "relay_server_tags".')], diff --git a/src/Module/WellKnown/XSocialRelay.php b/src/Module/WellKnown/XSocialRelay.php index 6a72a810cd..6dcd65c505 100644 --- a/src/Module/WellKnown/XSocialRelay.php +++ b/src/Module/WellKnown/XSocialRelay.php @@ -35,13 +35,7 @@ class XSocialRelay extends BaseModule { $config = DI::config(); - $subscribe = $config->get('system', 'relay_subscribe', false); - - if ($subscribe) { - $scope = $config->get('system', 'relay_scope', SR_SCOPE_ALL); - } else { - $scope = SR_SCOPE_NONE; - } + $scope = $config->get('system', 'relay_scope'); $systemTags = []; $userTags = []; @@ -63,7 +57,7 @@ class XSocialRelay extends BaseModule $tagList = array_unique(array_merge($systemTags, $userTags)); $relay = [ - 'subscribe' => $subscribe, + 'subscribe' => ($scope != SR_SCOPE_NONE), 'scope' => $scope, 'tags' => $tagList, 'protocols' => [ diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index f6fd1ad132..3e6b130a33 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -68,13 +68,9 @@ class Transmitter */ public static function addRelayServerInboxes(array $inboxes = []) { - $contacts = DBA::select('apcontact', ['inbox'], - ["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)", - 'Application', 0, Contact::FRIEND]); - while ($contact = DBA::fetch($contacts)) { + foreach (Relay::getList(['inbox']) as $contact) { $inboxes[$contact['inbox']] = $contact['inbox']; } - DBA::close($contacts); return $inboxes; } @@ -92,7 +88,7 @@ class Transmitter return $inboxes; } - $relays = Relay::getList($item_id, [], [Protocol::ACTIVITYPUB]); + $relays = Relay::getDirectRelayList($item_id); if (empty($relays)) { return $inboxes; } diff --git a/src/Protocol/Relay.php b/src/Protocol/Relay.php index d40ba5c338..f89dc39999 100644 --- a/src/Protocol/Relay.php +++ b/src/Protocol/Relay.php @@ -29,7 +29,6 @@ use Friendica\DI; use Friendica\Model\APContact; use Friendica\Model\Contact; use Friendica\Model\GServer; -use Friendica\Model\Item; use Friendica\Model\Post; use Friendica\Model\Search; use Friendica\Model\Tag; @@ -54,12 +53,7 @@ class Relay { $config = DI::config(); - $subscribe = $config->get('system', 'relay_subscribe', false); - if ($subscribe) { - $scope = $config->get('system', 'relay_scope', SR_SCOPE_ALL); - } else { - $scope = SR_SCOPE_NONE; - } + $scope = $config->get('system', 'relay_scope'); if ($scope == SR_SCOPE_NONE) { Logger::info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]); @@ -168,7 +162,7 @@ class Relay return; } - if (DBA::isResult($old)) { + if (DBA::isResult($old)) { $fields['updated'] = DateTimeFormat::utcNow(); Logger::info('Update relay contact', ['server' => $gserver['url'], 'id' => $old['id'], 'fields' => $fields]); @@ -224,76 +218,65 @@ class Relay } /** - * Return a list of relay servers - * - * The list contains not only the official relays but also servers that we serve directly + * Return a list of servers that we serve via the direct relay * * @param integer $item_id id of the item that is sent * @param array $contacts Previously fetched contacts - * @param array $networks Networks of the relay servers + * @param array $networks Networks of the relay servers * * @return array of relay servers * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function getList(int $item_id, array $contacts, array $networks) + public static function getDirectRelayList(int $item_id) { $serverlist = []; - // Fetching relay servers - $serverdata = DI::config()->get("system", "relay_server"); - - if (!empty($serverdata)) { - $servers = explode(",", $serverdata); - foreach ($servers as $server) { - $gserver = DBA::selectFirst('gserver', ['id', 'url', 'network'], ['nurl' => Strings::normaliseLink($server)]); - if (DBA::isResult($gserver)) { - $serverlist[$gserver['id']] = $gserver; - } - } + if (!DI::config()->get("system", "relay_directly", false)) { + return []; } - if (DI::config()->get("system", "relay_directly", false)) { - // We distribute our stuff based on the parent to ensure that the thread will be complete - $parent = Post::selectFirst(['uri-id'], ['id' => $item_id]); - if (!DBA::isResult($parent)) { - return; - } + // We distribute our stuff based on the parent to ensure that the thread will be complete + $parent = Post::selectFirst(['uri-id'], ['id' => $item_id]); + if (!DBA::isResult($parent)) { + return []; + } - // Servers that want to get all content - $servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'all']); + // Servers that want to get all content + $servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'all']); + while ($server = DBA::fetch($servers)) { + $serverlist[$server['id']] = $server; + } + DBA::close($servers); + + // All tags of the current post + $tags = DBA::select('tag-view', ['name'], ['uri-id' => $parent['uri-id'], 'type' => Tag::HASHTAG]); + $taglist = []; + while ($tag = DBA::fetch($tags)) { + $taglist[] = $tag['name']; + } + DBA::close($tags); + + // All servers who wants content with this tag + $tagserverlist = []; + if (!empty($taglist)) { + $tagserver = DBA::select('gserver-tag', ['gserver-id'], ['tag' => $taglist]); + while ($server = DBA::fetch($tagserver)) { + $tagserverlist[] = $server['gserver-id']; + } + DBA::close($tagserver); + } + + // All adresses with the given id + if (!empty($tagserverlist)) { + $servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'tags', 'id' => $tagserverlist]); while ($server = DBA::fetch($servers)) { $serverlist[$server['id']] = $server; } DBA::close($servers); - - // All tags of the current post - $tags = DBA::select('tag-view', ['name'], ['uri-id' => $parent['uri-id'], 'type' => Tag::HASHTAG]); - $taglist = []; - while ($tag = DBA::fetch($tags)) { - $taglist[] = $tag['name']; - } - DBA::close($tags); - - // All servers who wants content with this tag - $tagserverlist = []; - if (!empty($taglist)) { - $tagserver = DBA::select('gserver-tag', ['gserver-id'], ['tag' => $taglist]); - while ($server = DBA::fetch($tagserver)) { - $tagserverlist[] = $server['gserver-id']; - } - DBA::close($tagserver); - } - - // All adresses with the given id - if (!empty($tagserverlist)) { - $servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'tags', 'id' => $tagserverlist]); - while ($server = DBA::fetch($servers)) { - $serverlist[$server['id']] = $server; - } - DBA::close($servers); - } } + $contacts = []; + // Now we are collecting all relay contacts foreach ($serverlist as $gserver) { // We don't send messages to ourselves @@ -304,15 +287,24 @@ class Relay if (empty($contact)) { continue; } - - if (in_array($contact['network'], $networks) && !in_array($contact['batch'], array_column($contacts, 'batch'))) { - $contacts[] = $contact; - } } return $contacts; } + /** + * Return a list of relay servers + * + * @param array $fields Field list + * @return array + * @throws Exception + */ + public static function getList($fields = []):array + { + return DBA::selectToArray('apcontact', $fields, + ["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)", 'Application', 0, Contact::FRIEND]); + } + /** * Return a contact for a given server address or creates a dummy entry * diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 550b3a4739..e31141ea46 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -39,7 +39,6 @@ use Friendica\Protocol\Activity; use Friendica\Protocol\ActivityPub; use Friendica\Protocol\Diaspora; use Friendica\Protocol\OStatus; -use Friendica\Protocol\Relay; use Friendica\Protocol\Salmon; use Friendica\Util\Network; use Friendica\Util\Strings; @@ -442,12 +441,12 @@ class Notifier $batch_delivery = false; if ($public_message && !in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) { - $relay_list = []; + $participants = []; if ($diaspora_delivery && !$unlisted) { $batch_delivery = true; - $relay_list_stmt = DBA::p( + $participants_stmt = DBA::p( "SELECT `batch`, `network`, `protocol`, ANY_VALUE(`id`) AS `id`, @@ -466,17 +465,11 @@ class Notifier $owner['uid'], Contact::SHARING ); - $relay_list = DBA::toArray($relay_list_stmt); + $participants = DBA::toArray($participants_stmt); // Fetch the participation list // The function will ensure that there are no duplicates - $relay_list = Diaspora::participantsForThread($target_item, $relay_list); - - // Add the relay to the list, avoid duplicates. - // Don't send community posts to the relay. Forum posts via the Diaspora protocol are looking ugly. - if (!$followup && !Item::isForumPost($target_item, $owner) && !self::isForumPost($target_item)) { - $relay_list = Relay::getList($target_id, $relay_list, [Protocol::DFRN, Protocol::DIASPORA]); - } + $participants = Diaspora::participantsForThread($target_item, $participants); } $condition = ['network' => Protocol::DFRN, 'uid' => $owner['uid'], 'blocked' => false, @@ -484,7 +477,7 @@ class Notifier $contacts = DBA::toArray(DBA::select('contact', ['id', 'url', 'addr', 'name', 'network', 'protocol'], $condition)); - $conversants = array_merge($contacts, $relay_list); + $conversants = array_merge($contacts, $participants); $delivery_queue_count += self::delivery($cmd, $post_uriid, $sender_uid, $target_item, $thr_parent, $owner, $batch_delivery, true, $conversants, $ap_contacts, []); diff --git a/static/settings.config.php b/static/settings.config.php index c1c7e7bc88..e8c6d09f81 100644 --- a/static/settings.config.php +++ b/static/settings.config.php @@ -164,9 +164,13 @@ return [ // Comma separated list of tags that are rejected. 'relay_deny_tags' => '', - // relay_server (String) - // Address of the relay server where public posts should be send to. - 'relay_server' => 'https://social-relay.isurf.ca', + // relay_directly (Boolean) + // Directly transmit content to relay subscribers without using a relay server + 'relay_directly' => false, + + // relay_scope (SR_SCOPE_NONE, SR_SCOPE_TAGS or SR_SCOPE_ALL) + // Defines the scope of accepted posts from the relay servers + 'relay_scope' => SR_SCOPE_NONE, // relay_server_tags (String) // Comma separated list of tags for the "tags" subscription. diff --git a/view/lang/C/messages.po b/view/lang/C/messages.po index 93cfa0fc3d..4e0cd47c3b 100644 --- a/view/lang/C/messages.po +++ b/view/lang/C/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 2021.06-rc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-13 17:55+0000\n" +"POT-Creation-Date: 2021-06-13 11:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1366,7 +1366,7 @@ msgstr "" msgid "Basic" msgstr "" -#: mod/events.php:577 src/Module/Admin/Site.php:587 src/Module/Contact.php:961 +#: mod/events.php:577 src/Module/Admin/Site.php:584 src/Module/Contact.php:961 #: src/Module/Profile/Profile.php:245 msgid "Advanced" msgstr "" @@ -2175,7 +2175,7 @@ msgstr "" #: mod/settings.php:564 mod/settings.php:662 mod/settings.php:797 #: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:87 -#: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:582 +#: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:579 #: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:66 #: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:189 msgid "Save Settings" @@ -5237,7 +5237,7 @@ msgstr "" #: src/Module/Admin/Blocklist/Server.php:88 src/Module/Admin/Federation.php:159 #: src/Module/Admin/Item/Delete.php:65 src/Module/Admin/Logs/Settings.php:80 #: src/Module/Admin/Logs/View.php:64 src/Module/Admin/Queue.php:72 -#: src/Module/Admin/Site.php:579 src/Module/Admin/Summary.php:232 +#: src/Module/Admin/Site.php:576 src/Module/Admin/Summary.php:232 #: src/Module/Admin/Themes/Details.php:90 src/Module/Admin/Themes/Index.php:111 #: src/Module/Admin/Tos.php:58 src/Module/Admin/Users/Active.php:136 #: src/Module/Admin/Users/Blocked.php:137 src/Module/Admin/Users/Create.php:61 @@ -5783,275 +5783,289 @@ msgstr "" msgid "Priority" msgstr "" -#: src/Module/Admin/Site.php:69 +#: src/Module/Admin/Site.php:70 msgid "Can not parse base url. Must have at least ://" msgstr "" -#: src/Module/Admin/Site.php:123 +#: src/Module/Admin/Site.php:124 msgid "Relocation started. Could take a while to complete." msgstr "" -#: src/Module/Admin/Site.php:249 +#: src/Module/Admin/Site.php:248 msgid "Invalid storage backend setting value." msgstr "" -#: src/Module/Admin/Site.php:449 src/Module/Settings/Display.php:134 +#: src/Module/Admin/Site.php:446 src/Module/Settings/Display.php:134 msgid "No special theme for mobile devices" msgstr "" -#: src/Module/Admin/Site.php:466 src/Module/Settings/Display.php:144 +#: src/Module/Admin/Site.php:463 src/Module/Settings/Display.php:144 #, php-format msgid "%s - (Experimental)" msgstr "" -#: src/Module/Admin/Site.php:478 +#: src/Module/Admin/Site.php:475 msgid "No community page for local users" msgstr "" -#: src/Module/Admin/Site.php:479 +#: src/Module/Admin/Site.php:476 msgid "No community page" msgstr "" -#: src/Module/Admin/Site.php:480 +#: src/Module/Admin/Site.php:477 msgid "Public postings from users of this site" msgstr "" -#: src/Module/Admin/Site.php:481 +#: src/Module/Admin/Site.php:478 msgid "Public postings from the federated network" msgstr "" -#: src/Module/Admin/Site.php:482 +#: src/Module/Admin/Site.php:479 msgid "Public postings from local users and the federated network" msgstr "" -#: src/Module/Admin/Site.php:488 +#: src/Module/Admin/Site.php:485 msgid "Multi user instance" msgstr "" -#: src/Module/Admin/Site.php:516 +#: src/Module/Admin/Site.php:513 msgid "Closed" msgstr "" -#: src/Module/Admin/Site.php:517 +#: src/Module/Admin/Site.php:514 msgid "Requires approval" msgstr "" -#: src/Module/Admin/Site.php:518 +#: src/Module/Admin/Site.php:515 msgid "Open" msgstr "" -#: src/Module/Admin/Site.php:522 src/Module/Install.php:215 +#: src/Module/Admin/Site.php:519 src/Module/Install.php:215 msgid "No SSL policy, links will track page SSL state" msgstr "" -#: src/Module/Admin/Site.php:523 src/Module/Install.php:216 +#: src/Module/Admin/Site.php:520 src/Module/Install.php:216 msgid "Force all links to use SSL" msgstr "" -#: src/Module/Admin/Site.php:524 src/Module/Install.php:217 +#: src/Module/Admin/Site.php:521 src/Module/Install.php:217 msgid "Self-signed certificate, use SSL for local links only (discouraged)" msgstr "" -#: src/Module/Admin/Site.php:528 +#: src/Module/Admin/Site.php:525 msgid "Don't check" msgstr "" -#: src/Module/Admin/Site.php:529 +#: src/Module/Admin/Site.php:526 msgid "check the stable version" msgstr "" -#: src/Module/Admin/Site.php:530 +#: src/Module/Admin/Site.php:527 msgid "check the development version" msgstr "" -#: src/Module/Admin/Site.php:534 +#: src/Module/Admin/Site.php:531 msgid "none" msgstr "" -#: src/Module/Admin/Site.php:535 +#: src/Module/Admin/Site.php:532 msgid "Local contacts" msgstr "" -#: src/Module/Admin/Site.php:536 +#: src/Module/Admin/Site.php:533 msgid "Interactors" msgstr "" -#: src/Module/Admin/Site.php:549 +#: src/Module/Admin/Site.php:546 msgid "Database (legacy)" msgstr "" -#: src/Module/Admin/Site.php:580 src/Module/BaseAdmin.php:90 +#: src/Module/Admin/Site.php:577 src/Module/BaseAdmin.php:90 msgid "Site" msgstr "" -#: src/Module/Admin/Site.php:581 +#: src/Module/Admin/Site.php:578 msgid "General Information" msgstr "" -#: src/Module/Admin/Site.php:583 +#: src/Module/Admin/Site.php:580 msgid "Republish users to directory" msgstr "" -#: src/Module/Admin/Site.php:584 src/Module/Register.php:139 +#: src/Module/Admin/Site.php:581 src/Module/Register.php:139 msgid "Registration" msgstr "" -#: src/Module/Admin/Site.php:585 +#: src/Module/Admin/Site.php:582 msgid "File upload" msgstr "" -#: src/Module/Admin/Site.php:586 +#: src/Module/Admin/Site.php:583 msgid "Policies" msgstr "" -#: src/Module/Admin/Site.php:588 +#: src/Module/Admin/Site.php:585 msgid "Auto Discovered Contact Directory" msgstr "" -#: src/Module/Admin/Site.php:589 +#: src/Module/Admin/Site.php:586 msgid "Performance" msgstr "" -#: src/Module/Admin/Site.php:590 +#: src/Module/Admin/Site.php:587 msgid "Worker" msgstr "" -#: src/Module/Admin/Site.php:591 +#: src/Module/Admin/Site.php:588 msgid "Message Relay" msgstr "" -#: src/Module/Admin/Site.php:592 -msgid "Relocate Instance" +#: src/Module/Admin/Site.php:589 +msgid "" +"Use the command \"console relay\" in the command line to add or remove " +"relays." +msgstr "" + +#: src/Module/Admin/Site.php:590 +msgid "The system is not subscribed to any relays at the moment." +msgstr "" + +#: src/Module/Admin/Site.php:591 +msgid "The system is currently subscribed to the following relays:" msgstr "" #: src/Module/Admin/Site.php:593 +msgid "Relocate Instance" +msgstr "" + +#: src/Module/Admin/Site.php:594 msgid "" "Warning! Advanced function. Could make this server " "unreachable." msgstr "" -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:598 msgid "Site name" msgstr "" -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:599 msgid "Sender Email" msgstr "" -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:599 msgid "" "The email address your server shall use to send notification emails from." msgstr "" -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:600 msgid "Name of the system actor" msgstr "" -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:600 msgid "" "Name of the internal system account that is used to perform ActivityPub " "requests. This must be an unused username. If set, this can't be changed " "again." msgstr "" -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:601 msgid "Banner/Logo" msgstr "" -#: src/Module/Admin/Site.php:601 +#: src/Module/Admin/Site.php:602 msgid "Email Banner/Logo" msgstr "" -#: src/Module/Admin/Site.php:602 +#: src/Module/Admin/Site.php:603 msgid "Shortcut icon" msgstr "" -#: src/Module/Admin/Site.php:602 +#: src/Module/Admin/Site.php:603 msgid "Link to an icon that will be used for browsers." msgstr "" -#: src/Module/Admin/Site.php:603 +#: src/Module/Admin/Site.php:604 msgid "Touch icon" msgstr "" -#: src/Module/Admin/Site.php:603 +#: src/Module/Admin/Site.php:604 msgid "Link to an icon that will be used for tablets and mobiles." msgstr "" -#: src/Module/Admin/Site.php:604 +#: src/Module/Admin/Site.php:605 msgid "Additional Info" msgstr "" -#: src/Module/Admin/Site.php:604 +#: src/Module/Admin/Site.php:605 #, php-format msgid "" "For public servers: you can add additional information here that will be " "listed at %s/servers." msgstr "" -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:606 msgid "System language" msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:607 msgid "System theme" msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:607 msgid "" "Default system theme - may be over-ridden by user profiles - Change default theme settings" msgstr "" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:608 msgid "Mobile system theme" msgstr "" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:608 msgid "Theme for mobile devices" msgstr "" -#: src/Module/Admin/Site.php:608 src/Module/Install.php:225 +#: src/Module/Admin/Site.php:609 src/Module/Install.php:225 msgid "SSL link policy" msgstr "" -#: src/Module/Admin/Site.php:608 src/Module/Install.php:227 +#: src/Module/Admin/Site.php:609 src/Module/Install.php:227 msgid "Determines whether generated links should be forced to use SSL" msgstr "" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:610 msgid "Force SSL" msgstr "" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:610 msgid "" "Force all Non-SSL requests to SSL - Attention: on some systems it could lead " "to endless loops." msgstr "" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:611 msgid "Hide help entry from navigation menu" msgstr "" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:611 msgid "" "Hides the menu entry for the Help pages from the navigation menu. You can " "still access it calling /help directly." msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:612 msgid "Single user instance" msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:612 msgid "Make this instance multi-user or single-user for the named user" msgstr "" -#: src/Module/Admin/Site.php:613 +#: src/Module/Admin/Site.php:614 msgid "File storage backend" msgstr "" -#: src/Module/Admin/Site.php:613 +#: src/Module/Admin/Site.php:614 msgid "" "The backend used to store uploaded data. If you change the storage backend, " "you can manually move the existing files. If you do not do so, the files " @@ -6060,202 +6074,202 @@ msgid "" "for more information about the choices and the moving procedure." msgstr "" -#: src/Module/Admin/Site.php:615 +#: src/Module/Admin/Site.php:616 msgid "Maximum image size" msgstr "" -#: src/Module/Admin/Site.php:615 +#: src/Module/Admin/Site.php:616 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "" -#: src/Module/Admin/Site.php:616 +#: src/Module/Admin/Site.php:617 msgid "Maximum image length" msgstr "" -#: src/Module/Admin/Site.php:616 +#: src/Module/Admin/Site.php:617 msgid "" "Maximum length in pixels of the longest side of uploaded images. Default is " "-1, which means no limits." msgstr "" -#: src/Module/Admin/Site.php:617 +#: src/Module/Admin/Site.php:618 msgid "JPEG image quality" msgstr "" -#: src/Module/Admin/Site.php:617 +#: src/Module/Admin/Site.php:618 msgid "" "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is " "100, which is full quality." msgstr "" -#: src/Module/Admin/Site.php:619 +#: src/Module/Admin/Site.php:620 msgid "Register policy" msgstr "" -#: src/Module/Admin/Site.php:620 +#: src/Module/Admin/Site.php:621 msgid "Maximum Daily Registrations" msgstr "" -#: src/Module/Admin/Site.php:620 +#: src/Module/Admin/Site.php:621 msgid "" "If registration is permitted above, this sets the maximum number of new user " "registrations to accept per day. If register is set to closed, this setting " "has no effect." msgstr "" -#: src/Module/Admin/Site.php:621 +#: src/Module/Admin/Site.php:622 msgid "Register text" msgstr "" -#: src/Module/Admin/Site.php:621 +#: src/Module/Admin/Site.php:622 msgid "" "Will be displayed prominently on the registration page. You can use BBCode " "here." msgstr "" -#: src/Module/Admin/Site.php:622 +#: src/Module/Admin/Site.php:623 msgid "Forbidden Nicknames" msgstr "" -#: src/Module/Admin/Site.php:622 +#: src/Module/Admin/Site.php:623 msgid "" "Comma separated list of nicknames that are forbidden from registration. " "Preset is a list of role names according RFC 2142." msgstr "" -#: src/Module/Admin/Site.php:623 +#: src/Module/Admin/Site.php:624 msgid "Accounts abandoned after x days" msgstr "" -#: src/Module/Admin/Site.php:623 +#: src/Module/Admin/Site.php:624 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "" -#: src/Module/Admin/Site.php:624 +#: src/Module/Admin/Site.php:625 msgid "Allowed friend domains" msgstr "" -#: src/Module/Admin/Site.php:624 +#: src/Module/Admin/Site.php:625 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "" -#: src/Module/Admin/Site.php:625 +#: src/Module/Admin/Site.php:626 msgid "Allowed email domains" msgstr "" -#: src/Module/Admin/Site.php:625 +#: src/Module/Admin/Site.php:626 msgid "" "Comma separated list of domains which are allowed in email addresses for " "registrations to this site. Wildcards are accepted. Empty to allow any " "domains" msgstr "" -#: src/Module/Admin/Site.php:626 +#: src/Module/Admin/Site.php:627 msgid "No OEmbed rich content" msgstr "" -#: src/Module/Admin/Site.php:626 +#: src/Module/Admin/Site.php:627 msgid "" "Don't show the rich content (e.g. embedded PDF), except from the domains " "listed below." msgstr "" -#: src/Module/Admin/Site.php:627 +#: src/Module/Admin/Site.php:628 msgid "Trusted third-party domains" msgstr "" -#: src/Module/Admin/Site.php:627 +#: src/Module/Admin/Site.php:628 msgid "" "Comma separated list of domains from which content is allowed to be embedded " "in posts like with OEmbed. All sub-domains of the listed domains are allowed " "as well." msgstr "" -#: src/Module/Admin/Site.php:628 +#: src/Module/Admin/Site.php:629 msgid "Block public" msgstr "" -#: src/Module/Admin/Site.php:628 +#: src/Module/Admin/Site.php:629 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:630 msgid "Force publish" msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:630 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:630 msgid "Enabling this may violate privacy laws like the GDPR" msgstr "" -#: src/Module/Admin/Site.php:630 +#: src/Module/Admin/Site.php:631 msgid "Global directory URL" msgstr "" -#: src/Module/Admin/Site.php:630 +#: src/Module/Admin/Site.php:631 msgid "" "URL to the global directory. If this is not set, the global directory is " "completely unavailable to the application." msgstr "" -#: src/Module/Admin/Site.php:631 +#: src/Module/Admin/Site.php:632 msgid "Private posts by default for new users" msgstr "" -#: src/Module/Admin/Site.php:631 +#: src/Module/Admin/Site.php:632 msgid "" "Set default post permissions for all new members to the default privacy " "group rather than public." msgstr "" -#: src/Module/Admin/Site.php:632 +#: src/Module/Admin/Site.php:633 msgid "Don't include post content in email notifications" msgstr "" -#: src/Module/Admin/Site.php:632 +#: src/Module/Admin/Site.php:633 msgid "" "Don't include the content of a post/comment/private message/etc. in the " "email notifications that are sent out from this site, as a privacy measure." msgstr "" -#: src/Module/Admin/Site.php:633 +#: src/Module/Admin/Site.php:634 msgid "Disallow public access to addons listed in the apps menu." msgstr "" -#: src/Module/Admin/Site.php:633 +#: src/Module/Admin/Site.php:634 msgid "" "Checking this box will restrict addons listed in the apps menu to members " "only." msgstr "" -#: src/Module/Admin/Site.php:634 +#: src/Module/Admin/Site.php:635 msgid "Don't embed private images in posts" msgstr "" -#: src/Module/Admin/Site.php:634 +#: src/Module/Admin/Site.php:635 msgid "" "Don't replace locally-hosted private photos in posts with an embedded copy " "of the image. This means that contacts who receive posts containing private " "photos will have to authenticate and load each image, which may take a while." msgstr "" -#: src/Module/Admin/Site.php:635 +#: src/Module/Admin/Site.php:636 msgid "Explicit Content" msgstr "" -#: src/Module/Admin/Site.php:635 +#: src/Module/Admin/Site.php:636 msgid "" "Set this to announce that your node is used mostly for explicit content that " "might not be suited for minors. This information will be published in the " @@ -6264,234 +6278,234 @@ msgid "" "will be shown at the user registration page." msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:637 msgid "Allow Users to set remote_self" msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:637 msgid "" "With checking this, every user is allowed to mark every contact as a " "remote_self in the repair contact dialog. Setting this flag on a contact " "causes mirroring every posting of that contact in the users stream." msgstr "" -#: src/Module/Admin/Site.php:637 +#: src/Module/Admin/Site.php:638 msgid "Block multiple registrations" msgstr "" -#: src/Module/Admin/Site.php:637 +#: src/Module/Admin/Site.php:638 msgid "Disallow users to register additional accounts for use as pages." msgstr "" -#: src/Module/Admin/Site.php:638 +#: src/Module/Admin/Site.php:639 msgid "Disable OpenID" msgstr "" -#: src/Module/Admin/Site.php:638 +#: src/Module/Admin/Site.php:639 msgid "Disable OpenID support for registration and logins." msgstr "" -#: src/Module/Admin/Site.php:639 +#: src/Module/Admin/Site.php:640 msgid "No Fullname check" msgstr "" -#: src/Module/Admin/Site.php:639 +#: src/Module/Admin/Site.php:640 msgid "" "Allow users to register without a space between the first name and the last " "name in their full name." msgstr "" -#: src/Module/Admin/Site.php:640 +#: src/Module/Admin/Site.php:641 msgid "Community pages for visitors" msgstr "" -#: src/Module/Admin/Site.php:640 +#: src/Module/Admin/Site.php:641 msgid "" "Which community pages should be available for visitors. Local users always " "see both pages." msgstr "" -#: src/Module/Admin/Site.php:641 +#: src/Module/Admin/Site.php:642 msgid "Posts per user on community page" msgstr "" -#: src/Module/Admin/Site.php:641 +#: src/Module/Admin/Site.php:642 msgid "" "The maximum number of posts per user on the community page. (Not valid for " "\"Global Community\")" msgstr "" -#: src/Module/Admin/Site.php:642 +#: src/Module/Admin/Site.php:643 msgid "Disable OStatus support" msgstr "" -#: src/Module/Admin/Site.php:642 +#: src/Module/Admin/Site.php:643 msgid "" "Disable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All " "communications in OStatus are public, so privacy warnings will be " "occasionally displayed." msgstr "" -#: src/Module/Admin/Site.php:643 +#: src/Module/Admin/Site.php:644 msgid "OStatus support can only be enabled if threading is enabled." msgstr "" -#: src/Module/Admin/Site.php:645 +#: src/Module/Admin/Site.php:646 msgid "" "Diaspora support can't be enabled because Friendica was installed into a sub " "directory." msgstr "" -#: src/Module/Admin/Site.php:646 +#: src/Module/Admin/Site.php:647 msgid "Enable Diaspora support" msgstr "" -#: src/Module/Admin/Site.php:646 +#: src/Module/Admin/Site.php:647 msgid "Provide built-in Diaspora network compatibility." msgstr "" -#: src/Module/Admin/Site.php:647 +#: src/Module/Admin/Site.php:648 msgid "Only allow Friendica contacts" msgstr "" -#: src/Module/Admin/Site.php:647 +#: src/Module/Admin/Site.php:648 msgid "" "All contacts must use Friendica protocols. All other built-in communication " "protocols disabled." msgstr "" -#: src/Module/Admin/Site.php:648 +#: src/Module/Admin/Site.php:649 msgid "Verify SSL" msgstr "" -#: src/Module/Admin/Site.php:648 +#: src/Module/Admin/Site.php:649 msgid "" "If you wish, you can turn on strict certificate checking. This will mean you " "cannot connect (at all) to self-signed SSL sites." msgstr "" -#: src/Module/Admin/Site.php:649 +#: src/Module/Admin/Site.php:650 msgid "Proxy user" msgstr "" -#: src/Module/Admin/Site.php:650 +#: src/Module/Admin/Site.php:651 msgid "Proxy URL" msgstr "" -#: src/Module/Admin/Site.php:651 +#: src/Module/Admin/Site.php:652 msgid "Network timeout" msgstr "" -#: src/Module/Admin/Site.php:651 +#: src/Module/Admin/Site.php:652 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "" -#: src/Module/Admin/Site.php:652 +#: src/Module/Admin/Site.php:653 msgid "Maximum Load Average" msgstr "" -#: src/Module/Admin/Site.php:652 +#: src/Module/Admin/Site.php:653 #, php-format msgid "" "Maximum system load before delivery and poll processes are deferred - " "default %d." msgstr "" -#: src/Module/Admin/Site.php:653 +#: src/Module/Admin/Site.php:654 msgid "Maximum Load Average (Frontend)" msgstr "" -#: src/Module/Admin/Site.php:653 +#: src/Module/Admin/Site.php:654 msgid "Maximum system load before the frontend quits service - default 50." msgstr "" -#: src/Module/Admin/Site.php:654 +#: src/Module/Admin/Site.php:655 msgid "Minimal Memory" msgstr "" -#: src/Module/Admin/Site.php:654 +#: src/Module/Admin/Site.php:655 msgid "" "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - " "default 0 (deactivated)." msgstr "" -#: src/Module/Admin/Site.php:655 +#: src/Module/Admin/Site.php:656 msgid "Periodically optimize tables" msgstr "" -#: src/Module/Admin/Site.php:655 +#: src/Module/Admin/Site.php:656 msgid "Periodically optimize tables like the cache and the workerqueue" msgstr "" -#: src/Module/Admin/Site.php:657 +#: src/Module/Admin/Site.php:658 msgid "Discover followers/followings from contacts" msgstr "" -#: src/Module/Admin/Site.php:657 +#: src/Module/Admin/Site.php:658 msgid "" "If enabled, contacts are checked for their followers and following contacts." msgstr "" -#: src/Module/Admin/Site.php:658 +#: src/Module/Admin/Site.php:659 msgid "None - deactivated" msgstr "" -#: src/Module/Admin/Site.php:659 +#: src/Module/Admin/Site.php:660 msgid "" "Local contacts - contacts of our local contacts are discovered for their " "followers/followings." msgstr "" -#: src/Module/Admin/Site.php:660 +#: src/Module/Admin/Site.php:661 msgid "" "Interactors - contacts of our local contacts and contacts who interacted on " "locally visible postings are discovered for their followers/followings." msgstr "" -#: src/Module/Admin/Site.php:662 +#: src/Module/Admin/Site.php:663 msgid "Synchronize the contacts with the directory server" msgstr "" -#: src/Module/Admin/Site.php:662 +#: src/Module/Admin/Site.php:663 msgid "" "if enabled, the system will check periodically for new contacts on the " "defined directory server." msgstr "" -#: src/Module/Admin/Site.php:664 +#: src/Module/Admin/Site.php:665 msgid "Days between requery" msgstr "" -#: src/Module/Admin/Site.php:664 +#: src/Module/Admin/Site.php:665 msgid "Number of days after which a server is requeried for his contacts." msgstr "" -#: src/Module/Admin/Site.php:665 +#: src/Module/Admin/Site.php:666 msgid "Discover contacts from other servers" msgstr "" -#: src/Module/Admin/Site.php:665 +#: src/Module/Admin/Site.php:666 msgid "" "Periodically query other servers for contacts. The system queries Friendica, " "Mastodon and Hubzilla servers." msgstr "" -#: src/Module/Admin/Site.php:666 +#: src/Module/Admin/Site.php:667 msgid "Search the local directory" msgstr "" -#: src/Module/Admin/Site.php:666 +#: src/Module/Admin/Site.php:667 msgid "" "Search the local directory instead of the global directory. When searching " "locally, every search will be executed on the global directory in the " "background. This improves the search results when the search is repeated." msgstr "" -#: src/Module/Admin/Site.php:668 +#: src/Module/Admin/Site.php:669 msgid "Publish server information" msgstr "" -#: src/Module/Admin/Site.php:668 +#: src/Module/Admin/Site.php:669 msgid "" "If enabled, general server and usage data will be published. The data " "contains the name and version of the server, number of users with public " @@ -6499,50 +6513,50 @@ msgid "" "href=\"http://the-federation.info/\">the-federation.info for details." msgstr "" -#: src/Module/Admin/Site.php:670 +#: src/Module/Admin/Site.php:671 msgid "Check upstream version" msgstr "" -#: src/Module/Admin/Site.php:670 +#: src/Module/Admin/Site.php:671 msgid "" "Enables checking for new Friendica versions at github. If there is a new " "version, you will be informed in the admin panel overview." msgstr "" -#: src/Module/Admin/Site.php:671 +#: src/Module/Admin/Site.php:672 msgid "Suppress Tags" msgstr "" -#: src/Module/Admin/Site.php:671 +#: src/Module/Admin/Site.php:672 msgid "Suppress showing a list of hashtags at the end of the posting." msgstr "" -#: src/Module/Admin/Site.php:672 +#: src/Module/Admin/Site.php:673 msgid "Clean database" msgstr "" -#: src/Module/Admin/Site.php:672 +#: src/Module/Admin/Site.php:673 msgid "" "Remove old remote items, orphaned database records and old content from some " "other helper tables." msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:674 msgid "Lifespan of remote items" msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:674 msgid "" "When the database cleanup is enabled, this defines the days after which " "remote items will be deleted. Own items, and marked or filed items are " "always kept. 0 disables this behaviour." msgstr "" -#: src/Module/Admin/Site.php:674 +#: src/Module/Admin/Site.php:675 msgid "Lifespan of unclaimed items" msgstr "" -#: src/Module/Admin/Site.php:674 +#: src/Module/Admin/Site.php:675 msgid "" "When the database cleanup is enabled, this defines the days after which " "unclaimed remote items (mostly content from the relay) will be deleted. " @@ -6550,206 +6564,184 @@ msgid "" "items if set to 0." msgstr "" -#: src/Module/Admin/Site.php:675 +#: src/Module/Admin/Site.php:676 msgid "Lifespan of raw conversation data" msgstr "" -#: src/Module/Admin/Site.php:675 +#: src/Module/Admin/Site.php:676 msgid "" "The conversation data is used for ActivityPub and OStatus, as well as for " "debug purposes. It should be safe to remove it after 14 days, default is 90 " "days." msgstr "" -#: src/Module/Admin/Site.php:676 +#: src/Module/Admin/Site.php:677 msgid "Path to item cache" msgstr "" -#: src/Module/Admin/Site.php:676 +#: src/Module/Admin/Site.php:677 msgid "The item caches buffers generated bbcode and external images." msgstr "" -#: src/Module/Admin/Site.php:677 +#: src/Module/Admin/Site.php:678 msgid "Cache duration in seconds" msgstr "" -#: src/Module/Admin/Site.php:677 +#: src/Module/Admin/Site.php:678 msgid "" "How long should the cache files be hold? Default value is 86400 seconds (One " "day). To disable the item cache, set the value to -1." msgstr "" -#: src/Module/Admin/Site.php:678 +#: src/Module/Admin/Site.php:679 msgid "Maximum numbers of comments per post" msgstr "" -#: src/Module/Admin/Site.php:678 +#: src/Module/Admin/Site.php:679 msgid "How much comments should be shown for each post? Default value is 100." msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:680 msgid "Maximum numbers of comments per post on the display page" msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:680 msgid "" "How many comments should be shown on the single view for each post? Default " "value is 1000." msgstr "" -#: src/Module/Admin/Site.php:680 +#: src/Module/Admin/Site.php:681 msgid "Temp path" msgstr "" -#: src/Module/Admin/Site.php:680 +#: src/Module/Admin/Site.php:681 msgid "" "If you have a restricted system where the webserver can't access the system " "temp path, enter another path here." msgstr "" -#: src/Module/Admin/Site.php:681 +#: src/Module/Admin/Site.php:682 msgid "Disable picture proxy" msgstr "" -#: src/Module/Admin/Site.php:681 +#: src/Module/Admin/Site.php:682 msgid "" "The picture proxy increases performance and privacy. It shouldn't be used on " "systems with very low bandwidth." msgstr "" -#: src/Module/Admin/Site.php:682 +#: src/Module/Admin/Site.php:683 msgid "Only search in tags" msgstr "" -#: src/Module/Admin/Site.php:682 +#: src/Module/Admin/Site.php:683 msgid "On large systems the text search can slow down the system extremely." msgstr "" -#: src/Module/Admin/Site.php:684 +#: src/Module/Admin/Site.php:685 msgid "New base url" msgstr "" -#: src/Module/Admin/Site.php:684 +#: src/Module/Admin/Site.php:685 msgid "" "Change base url for this server. Sends relocate message to all Friendica and " "Diaspora* contacts of all users." msgstr "" -#: src/Module/Admin/Site.php:686 +#: src/Module/Admin/Site.php:687 msgid "RINO Encryption" msgstr "" -#: src/Module/Admin/Site.php:686 +#: src/Module/Admin/Site.php:687 msgid "Encryption layer between nodes." msgstr "" -#: src/Module/Admin/Site.php:686 src/Module/Admin/Site.php:694 +#: src/Module/Admin/Site.php:687 src/Module/Admin/Site.php:693 #: src/Module/Contact.php:562 src/Module/Settings/TwoFactor/Index.php:118 msgid "Disabled" msgstr "" -#: src/Module/Admin/Site.php:686 +#: src/Module/Admin/Site.php:687 msgid "Enabled" msgstr "" -#: src/Module/Admin/Site.php:688 +#: src/Module/Admin/Site.php:689 msgid "Maximum number of parallel workers" msgstr "" -#: src/Module/Admin/Site.php:688 +#: src/Module/Admin/Site.php:689 #, php-format msgid "" "On shared hosters set this to %d. On larger systems, values of %d are great. " "Default value is %d." msgstr "" -#: src/Module/Admin/Site.php:689 +#: src/Module/Admin/Site.php:690 msgid "Enable fastlane" msgstr "" -#: src/Module/Admin/Site.php:689 +#: src/Module/Admin/Site.php:690 msgid "" "When enabed, the fastlane mechanism starts an additional worker if processes " "with higher priority are blocked by processes of lower priority." msgstr "" -#: src/Module/Admin/Site.php:691 -msgid "Use relay servers" -msgstr "" - -#: src/Module/Admin/Site.php:691 -msgid "" -"Enables the receiving of public posts from relay servers. They will be " -"included in the search, subscribed tags and on the global community page." -msgstr "" - #: src/Module/Admin/Site.php:692 -msgid "\"Social Relay\" server" -msgstr "" - -#: src/Module/Admin/Site.php:692 -#, php-format -msgid "" -"Address of the \"Social Relay\" server where public posts should be send to. " -"For example %s. ActivityRelay servers are administrated via the \"console " -"relay\" command line command." -msgstr "" - -#: src/Module/Admin/Site.php:693 msgid "Direct relay transfer" msgstr "" -#: src/Module/Admin/Site.php:693 +#: src/Module/Admin/Site.php:692 msgid "" "Enables the direct transfer to other servers without using the relay servers" msgstr "" -#: src/Module/Admin/Site.php:694 +#: src/Module/Admin/Site.php:693 msgid "Relay scope" msgstr "" -#: src/Module/Admin/Site.php:694 +#: src/Module/Admin/Site.php:693 msgid "" "Can be \"all\" or \"tags\". \"all\" means that every public post should be " "received. \"tags\" means that only posts with selected tags should be " "received." msgstr "" -#: src/Module/Admin/Site.php:694 +#: src/Module/Admin/Site.php:693 msgid "all" msgstr "" -#: src/Module/Admin/Site.php:694 +#: src/Module/Admin/Site.php:693 msgid "tags" msgstr "" -#: src/Module/Admin/Site.php:695 +#: src/Module/Admin/Site.php:694 msgid "Server tags" msgstr "" -#: src/Module/Admin/Site.php:695 +#: src/Module/Admin/Site.php:694 msgid "Comma separated list of tags for the \"tags\" subscription." msgstr "" -#: src/Module/Admin/Site.php:696 +#: src/Module/Admin/Site.php:695 msgid "Deny Server tags" msgstr "" -#: src/Module/Admin/Site.php:696 +#: src/Module/Admin/Site.php:695 msgid "Comma separated list of tags that are rejected." msgstr "" -#: src/Module/Admin/Site.php:697 +#: src/Module/Admin/Site.php:696 msgid "Allow user tags" msgstr "" -#: src/Module/Admin/Site.php:697 +#: src/Module/Admin/Site.php:696 msgid "" "If enabled, the tags from the saved searches will used for the \"tags\" " "subscription in addition to the \"relay_server_tags\"." msgstr "" -#: src/Module/Admin/Site.php:700 +#: src/Module/Admin/Site.php:699 msgid "Start Relocation" msgstr "" diff --git a/view/templates/admin/site.tpl b/view/templates/admin/site.tpl index c44553d6df..75d9437d78 100644 --- a/view/templates/admin/site.tpl +++ b/view/templates/admin/site.tpl @@ -127,13 +127,22 @@

{{$relay_title}}

- {{include file="field_checkbox.tpl" field=$relay_subscribe}} - {{include file="field_input.tpl" field=$relay_server}} - {{include file="field_checkbox.tpl" field=$relay_directly}} + {{if $relay_list}} +

{{$relay_list_title}}

+
    + {{foreach $relay_list as $relay}} +
  • {{$relay.url}}
  • + {{/foreach}} +
+ {{else}} +

{{$no_relay_list}}

+ {{/if}} +

{{$relay_description}}

{{include file="field_select.tpl" field=$relay_scope}} {{include file="field_input.tpl" field=$relay_server_tags}} {{include file="field_input.tpl" field=$relay_deny_tags}} {{include file="field_checkbox.tpl" field=$relay_user_tags}} + {{include file="field_checkbox.tpl" field=$relay_directly}}
diff --git a/view/templates/structure.tpl b/view/templates/structure.tpl new file mode 100644 index 0000000000..f6a647b791 --- /dev/null +++ b/view/templates/structure.tpl @@ -0,0 +1,31 @@ +Table {{$name nofilter}} +=========== + +{{$comment nofilter}} + +Fields +------ + +{{foreach $fields as $field}} +| {{$field.name nofilter}} | {{$field.comment nofilter}} | {{$field.type nofilter}} | {{$field.null nofilter}} | {{$field.primary nofilter}} | {{$field.default nofilter}} | {{$field.extra nofilter}} | +{{/foreach}} + +Indexes +------------ + +{{foreach $indexes as $index}} +| {{$index.name nofilter}} | {{$index.fields nofilter}} | +{{/foreach}} + +{{if $foreign}} +Foreign Keys +------------ + +| Field | Target Table | Target Field | +|-------|--------------|--------------| +{{foreach $foreign as $key}} +| {{$key.field nofilter}} | [{{$key.targettable nofilter}}](help/database/db_{{$key.targettable nofilter}}) | {{$key.targetfield nofilter}} | +{{/foreach}} +{{/if}} + +Return to [database documentation](help/database) diff --git a/view/templates/tables.tpl b/view/templates/tables.tpl new file mode 100644 index 0000000000..2bf38c9f10 --- /dev/null +++ b/view/templates/tables.tpl @@ -0,0 +1,10 @@ +Database Tables +=============== + +* [Home](help) + +| Table | Description | +|-------|-------------| +{{foreach $tables as $table}} +| [{{$table.name nofilter}}](help/database/db_{{$table.name nofilter}}) | {{$table.comment nofilter}} | +{{/foreach}} diff --git a/view/theme/frio/templates/admin/site.tpl b/view/theme/frio/templates/admin/site.tpl index 57f43cefbb..69076833dd 100644 --- a/view/theme/frio/templates/admin/site.tpl +++ b/view/theme/frio/templates/admin/site.tpl @@ -297,13 +297,22 @@
- {{include file="field_checkbox.tpl" field=$relay_subscribe}} - {{include file="field_input.tpl" field=$relay_server}} - {{include file="field_checkbox.tpl" field=$relay_directly}} + {{if $relay_list}} +

{{$relay_list_title}}

+
    + {{foreach $relay_list as $relay}} +
  • {{$relay.url}}
  • + {{/foreach}} +
+ {{else}} +

{{$no_relay_list}}

+ {{/if}} +

{{$relay_description}}

{{include file="field_select.tpl" field=$relay_scope}} {{include file="field_input.tpl" field=$relay_server_tags}} {{include file="field_input.tpl" field=$relay_deny_tags}} {{include file="field_checkbox.tpl" field=$relay_user_tags}} + {{include file="field_checkbox.tpl" field=$relay_directly}}