From 7ca202baada95b69eea822e04fe89467c7ad74e2 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Nov 2019 17:05:06 +0100 Subject: [PATCH 01/41] add a tar pid to the registration form --- src/Module/Register.php | 5 +++++ view/templates/register.tpl | 1 + view/theme/frio/templates/register.tpl | 1 + 3 files changed, 7 insertions(+) diff --git a/src/Module/Register.php b/src/Module/Register.php index 03f9dbb69..4071020e3 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -261,6 +261,11 @@ class Register extends BaseModule $a->internalRedirect('register/'); } + // Is there text in the tar pid? + if (!empty($_POST('registeertarpid'))) { + \notice(L10n::t('You have entered too much information.')); + $a->internalRedirect('register/'); + } Model\Register::createForApproval($user['uid'], Config::get('system', 'language'), $_POST['permonlybox']); diff --git a/view/templates/register.tpl b/view/templates/register.tpl index 456fadaab..bbfdffa62 100644 --- a/view/templates/register.tpl +++ b/view/templates/register.tpl @@ -56,6 +56,7 @@ {{if $permonly}} {{include file="field_textarea.tpl" field=$permonlybox}} + {{/if}} {{$publish nofilter}} diff --git a/view/theme/frio/templates/register.tpl b/view/theme/frio/templates/register.tpl index 4819c5ee8..7dd802f5e 100644 --- a/view/theme/frio/templates/register.tpl +++ b/view/theme/frio/templates/register.tpl @@ -56,6 +56,7 @@ {{if $permonly}} {{include file="field_textarea.tpl" field=$permonlybox}} + {{/if}} {{$publish nofilter}} From 0215ceeecda51e4610587d7fe8d32f371fc31743 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Nov 2019 17:11:24 +0100 Subject: [PATCH 02/41] use placeholder --- view/templates/register.tpl | 2 +- view/theme/frio/templates/register.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/view/templates/register.tpl b/view/templates/register.tpl index bbfdffa62..609aa5771 100644 --- a/view/templates/register.tpl +++ b/view/templates/register.tpl @@ -56,7 +56,7 @@ {{if $permonly}} {{include file="field_textarea.tpl" field=$permonlybox}} - + {{/if}} {{$publish nofilter}} diff --git a/view/theme/frio/templates/register.tpl b/view/theme/frio/templates/register.tpl index 7dd802f5e..1ad53aad6 100644 --- a/view/theme/frio/templates/register.tpl +++ b/view/theme/frio/templates/register.tpl @@ -56,7 +56,7 @@ {{if $permonly}} {{include file="field_textarea.tpl" field=$permonlybox}} - + {{/if}} {{$publish nofilter}} From 1377d13055e6aeea37811e925455bdb17f98777e Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Nov 2019 17:37:53 +0100 Subject: [PATCH 03/41] ypot --- src/Module/Register.php | 4 ++-- view/templates/register.tpl | 2 +- view/theme/frio/templates/register.tpl | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Module/Register.php b/src/Module/Register.php index 4071020e3..0837b5706 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -261,8 +261,8 @@ class Register extends BaseModule $a->internalRedirect('register/'); } - // Is there text in the tar pid? - if (!empty($_POST('registeertarpid'))) { + // Is there text in the tar pit? + if (!empty($_POST('registertarpit'))) { \notice(L10n::t('You have entered too much information.')); $a->internalRedirect('register/'); } diff --git a/view/templates/register.tpl b/view/templates/register.tpl index 609aa5771..7aa1a4d99 100644 --- a/view/templates/register.tpl +++ b/view/templates/register.tpl @@ -56,7 +56,7 @@ {{if $permonly}} {{include file="field_textarea.tpl" field=$permonlybox}} - + {{/if}} {{$publish nofilter}} diff --git a/view/theme/frio/templates/register.tpl b/view/theme/frio/templates/register.tpl index 1ad53aad6..81e519ef7 100644 --- a/view/theme/frio/templates/register.tpl +++ b/view/theme/frio/templates/register.tpl @@ -56,7 +56,7 @@ {{if $permonly}} {{include file="field_textarea.tpl" field=$permonlybox}} - + {{/if}} {{$publish nofilter}} From 9fad4abcec5206974891145810a613a03d5a7cd1 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Nov 2019 22:47:57 +0100 Subject: [PATCH 04/41] add missing quotation --- mod/settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/settings.php b/mod/settings.php index 5709df720..79c007979 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -1253,7 +1253,7 @@ function settings_content(App $a) '$importcontact' => L10n::t('Import Contacts'), '$importcontact_text' => L10n::t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'), '$importcontact_button' => L10n::t('Upload File'), - '$importcontact_maxsize' => Config::get('system', max_csv_file_size, 30720), + '$importcontact_maxsize' => Config::get('system', 'max_csv_file_size', 30720), '$relocate' => L10n::t('Relocate'), '$relocate_text' => L10n::t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."), '$relocate_button' => L10n::t("Resend relocate message to contacts"), From 9f9dd18adc6b443a02c666eb417c64670c0d4587 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Mon, 4 Nov 2019 07:21:45 +0100 Subject: [PATCH 05/41] move frio template --- view/templates/settings/userexport.tpl | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 view/templates/settings/userexport.tpl diff --git a/view/templates/settings/userexport.tpl b/view/templates/settings/userexport.tpl new file mode 100644 index 000000000..b9e177af2 --- /dev/null +++ b/view/templates/settings/userexport.tpl @@ -0,0 +1,10 @@ + +

{{$title}}

+ + +{{foreach $options as $o}} +
+
{{$o.1}}
+
{{$o.2}}
+
+{{/foreach}} From 58ac1a29b11855f0e68348b8e8d2ba80b7cea38f Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Mon, 4 Nov 2019 07:44:47 +0100 Subject: [PATCH 06/41] add missing frio template --- view/theme/frio/templates/settings/userexport.tpl | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 view/theme/frio/templates/settings/userexport.tpl diff --git a/view/theme/frio/templates/settings/userexport.tpl b/view/theme/frio/templates/settings/userexport.tpl new file mode 100644 index 000000000..247ed86a2 --- /dev/null +++ b/view/theme/frio/templates/settings/userexport.tpl @@ -0,0 +1,12 @@ + +
+ {{* include the title template for the settings title *}} + {{include file="section_title.tpl" title=$title}} + + {{foreach $options as $o}} +
+
{{$o.1}}
+
{{$o.2}}
+
+ {{/foreach}} +
From 3978b279bb6730cfe04f7758d2bd46e4e988ddd5 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Mon, 4 Nov 2019 10:30:15 +0100 Subject: [PATCH 07/41] regen messages.po after Hackathon 2019 --- view/lang/C/messages.po | 8235 ++++++++++++++++++++------------------- 1 file changed, 4170 insertions(+), 4065 deletions(-) diff --git a/view/lang/C/messages.po b/view/lang/C/messages.po index 5289dccdd..3894baee4 100644 --- a/view/lang/C/messages.po +++ b/view/lang/C/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-15 07:45+0200\n" +"POT-Creation-Date: 2019-11-04 10:26+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,824 +18,780 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" -#: include/items.php:354 src/Module/Admin/Themes/Details.php:53 -#: src/Module/Admin/Themes/Index.php:43 src/Module/Debug/ItemBody.php:27 -#: src/Module/Debug/ItemBody.php:40 -msgid "Item not found." -msgstr "" - -#: include/items.php:392 -msgid "Do you really want to delete this item?" -msgstr "" - -#: include/items.php:394 mod/api.php:109 mod/profiles.php:526 -#: mod/profiles.php:529 mod/profiles.php:551 mod/dfrn_request.php:640 -#: mod/follow.php:163 mod/message.php:150 mod/suggest.php:73 -#: mod/settings.php:1089 mod/settings.php:1095 mod/settings.php:1102 -#: mod/settings.php:1106 mod/settings.php:1110 mod/settings.php:1114 -#: mod/settings.php:1118 mod/settings.php:1122 mod/settings.php:1142 -#: mod/settings.php:1143 mod/settings.php:1144 mod/settings.php:1145 -#: mod/settings.php:1146 src/Module/Register.php:97 src/Module/Contact.php:423 -msgid "Yes" -msgstr "" - -#: include/items.php:397 include/conversation.php:1251 mod/tagrm.php:20 -#: mod/tagrm.php:115 mod/unfollow.php:132 mod/dfrn_request.php:650 -#: mod/editpost.php:110 mod/fbrowser.php:110 mod/fbrowser.php:139 -#: mod/follow.php:174 mod/message.php:153 mod/photos.php:1084 -#: mod/photos.php:1191 mod/suggest.php:76 mod/settings.php:678 -#: mod/settings.php:704 src/Module/Contact.php:426 -msgid "Cancel" -msgstr "" - -#: include/items.php:444 mod/api.php:34 mod/api.php:39 mod/delegate.php:30 -#: mod/delegate.php:48 mod/delegate.php:59 mod/ostatus_subscribe.php:18 -#: mod/regmod.php:89 mod/repair_ostatus.php:16 mod/uimport.php:17 -#: mod/unfollow.php:22 mod/unfollow.php:77 mod/unfollow.php:109 -#: mod/wall_attach.php:76 mod/wall_attach.php:79 mod/wall_upload.php:107 -#: mod/wall_upload.php:110 mod/wallmessage.php:19 mod/wallmessage.php:43 -#: mod/wallmessage.php:82 mod/wallmessage.php:106 mod/profiles.php:182 -#: mod/profiles.php:499 mod/cal.php:301 mod/common.php:27 mod/crepair.php:90 -#: mod/dfrn_confirm.php:64 mod/editpost.php:21 mod/follow.php:57 -#: mod/follow.php:134 mod/fsuggest.php:63 mod/manage.php:130 mod/message.php:56 -#: mod/message.php:101 mod/network.php:37 mod/notes.php:27 mod/photos.php:178 -#: mod/photos.php:962 mod/poke.php:141 mod/profile_photo.php:32 -#: mod/profile_photo.php:177 mod/profile_photo.php:197 mod/suggest.php:39 -#: mod/events.php:208 mod/item.php:170 mod/notifications.php:73 -#: mod/settings.php:52 mod/settings.php:165 mod/settings.php:667 -#: src/Module/Attach.php:42 src/Module/FollowConfirm.php:27 -#: src/Module/Group.php:31 src/Module/Group.php:77 src/Module/Invite.php:22 -#: src/Module/Invite.php:110 src/Module/Notifications/Notify.php:19 -#: src/Module/Profile/Contacts.php:50 src/Module/Register.php:192 -#: src/Module/Search/Directory.php:18 src/Module/Contact.php:340 -msgid "Permission denied." -msgstr "" - -#: include/api.php:1119 +#: include/api.php:1121 #, php-format msgid "Daily posting limit of %d post reached. The post was rejected." msgid_plural "Daily posting limit of %d posts reached. The post was rejected." msgstr[0] "" msgstr[1] "" -#: include/api.php:1133 +#: include/api.php:1135 #, php-format msgid "Weekly posting limit of %d post reached. The post was rejected." msgid_plural "Weekly posting limit of %d posts reached. The post was rejected." msgstr[0] "" msgstr[1] "" -#: include/api.php:1147 +#: include/api.php:1149 #, php-format msgid "Monthly posting limit of %d post reached. The post was rejected." msgstr "" -#: include/api.php:4589 mod/photos.php:91 mod/photos.php:196 mod/photos.php:640 -#: mod/photos.php:1090 mod/photos.php:1107 mod/photos.php:1610 -#: mod/profile_photo.php:85 mod/profile_photo.php:94 mod/profile_photo.php:103 -#: mod/profile_photo.php:210 mod/profile_photo.php:298 -#: mod/profile_photo.php:308 src/Model/User.php:796 src/Model/User.php:804 -#: src/Model/User.php:812 +#: include/api.php:4566 mod/profile_photo.php:85 mod/profile_photo.php:94 +#: mod/profile_photo.php:103 mod/profile_photo.php:210 +#: mod/profile_photo.php:298 mod/profile_photo.php:308 mod/photos.php:90 +#: mod/photos.php:181 mod/photos.php:628 mod/photos.php:1055 +#: mod/photos.php:1072 mod/photos.php:1580 src/Model/User.php:841 +#: src/Model/User.php:849 src/Model/User.php:857 msgid "Profile Photos" msgstr "" -#: include/conversation.php:161 include/conversation.php:298 -#: src/Model/Item.php:3309 +#: include/conversation.php:167 include/conversation.php:304 +#: src/Model/Item.php:3322 msgid "event" msgstr "" -#: include/conversation.php:164 include/conversation.php:174 -#: include/conversation.php:301 include/conversation.php:310 -#: mod/subthread.php:88 mod/tagger.php:69 +#: include/conversation.php:170 include/conversation.php:180 +#: include/conversation.php:307 include/conversation.php:316 +#: mod/subthread.php:91 mod/tagger.php:72 msgid "status" msgstr "" -#: include/conversation.php:169 include/conversation.php:306 -#: mod/subthread.php:88 mod/tagger.php:69 src/Model/Item.php:3311 +#: include/conversation.php:175 include/conversation.php:312 +#: mod/subthread.php:91 mod/tagger.php:72 src/Model/Item.php:3324 msgid "photo" msgstr "" -#: include/conversation.php:182 -#, php-format -msgid "%1$s likes %2$s's %3$s" -msgstr "" - -#: include/conversation.php:184 -#, php-format -msgid "%1$s doesn't like %2$s's %3$s" -msgstr "" - -#: include/conversation.php:186 -#, php-format -msgid "%1$s attends %2$s's %3$s" -msgstr "" - #: include/conversation.php:188 #, php-format -msgid "%1$s doesn't attend %2$s's %3$s" +msgid "%1$s likes %2$s's %3$s" msgstr "" #: include/conversation.php:190 #, php-format +msgid "%1$s doesn't like %2$s's %3$s" +msgstr "" + +#: include/conversation.php:192 +#, php-format +msgid "%1$s attends %2$s's %3$s" +msgstr "" + +#: include/conversation.php:194 +#, php-format +msgid "%1$s doesn't attend %2$s's %3$s" +msgstr "" + +#: include/conversation.php:196 +#, php-format msgid "%1$s attends maybe %2$s's %3$s" msgstr "" -#: include/conversation.php:225 +#: include/conversation.php:231 #, php-format msgid "%1$s is now friends with %2$s" msgstr "" -#: include/conversation.php:266 +#: include/conversation.php:272 #, php-format msgid "%1$s poked %2$s" msgstr "" -#: include/conversation.php:320 mod/tagger.php:102 +#: include/conversation.php:326 mod/tagger.php:105 #, php-format msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" -#: include/conversation.php:342 +#: include/conversation.php:348 msgid "post/item" msgstr "" -#: include/conversation.php:343 +#: include/conversation.php:349 #, php-format msgid "%1$s marked %2$s's %3$s as favorite" msgstr "" -#: include/conversation.php:569 mod/profiles.php:352 mod/photos.php:1442 +#: include/conversation.php:574 mod/photos.php:1407 mod/profiles.php:352 msgid "Likes" msgstr "" -#: include/conversation.php:570 mod/profiles.php:355 mod/photos.php:1442 +#: include/conversation.php:575 mod/photos.php:1407 mod/profiles.php:355 msgid "Dislikes" msgstr "" -#: include/conversation.php:571 include/conversation.php:1566 -#: mod/photos.php:1443 +#: include/conversation.php:576 include/conversation.php:1577 +#: mod/photos.php:1408 msgid "Attending" msgid_plural "Attending" msgstr[0] "" msgstr[1] "" -#: include/conversation.php:572 mod/photos.php:1443 +#: include/conversation.php:577 mod/photos.php:1408 msgid "Not attending" msgstr "" -#: include/conversation.php:573 mod/photos.php:1443 +#: include/conversation.php:578 mod/photos.php:1408 msgid "Might attend" msgstr "" -#: include/conversation.php:574 +#: include/conversation.php:579 msgid "Reshares" msgstr "" -#: include/conversation.php:654 mod/photos.php:1499 src/Object/Post.php:209 +#: include/conversation.php:659 mod/photos.php:1469 src/Object/Post.php:206 msgid "Select" msgstr "" -#: include/conversation.php:655 mod/photos.php:1500 mod/settings.php:738 -#: src/Module/Admin/Users.php:288 src/Module/Contact.php:805 -#: src/Module/Contact.php:1086 +#: include/conversation.php:660 mod/photos.php:1470 mod/settings.php:730 +#: src/Module/Admin/Users.php:288 src/Module/Contact.php:826 +#: src/Module/Contact.php:1107 msgid "Delete" msgstr "" -#: include/conversation.php:681 src/Object/Post.php:383 src/Object/Post.php:384 +#: include/conversation.php:689 src/Object/Post.php:383 src/Object/Post.php:384 #, php-format msgid "View %s's profile @ %s" msgstr "" -#: include/conversation.php:694 src/Object/Post.php:371 +#: include/conversation.php:702 src/Object/Post.php:371 msgid "Categories:" msgstr "" -#: include/conversation.php:695 src/Object/Post.php:372 +#: include/conversation.php:703 src/Object/Post.php:372 msgid "Filed under:" msgstr "" -#: include/conversation.php:702 src/Object/Post.php:397 +#: include/conversation.php:710 src/Object/Post.php:397 #, php-format msgid "%s from %s" msgstr "" -#: include/conversation.php:717 +#: include/conversation.php:725 msgid "View in context" msgstr "" -#: include/conversation.php:719 include/conversation.php:1232 -#: mod/wallmessage.php:141 mod/editpost.php:86 mod/message.php:260 -#: mod/message.php:442 mod/photos.php:1415 src/Module/Item/Compose.php:193 +#: include/conversation.php:727 include/conversation.php:1243 +#: mod/editpost.php:87 mod/message.php:260 mod/message.php:442 +#: mod/photos.php:1380 mod/wallmessage.php:141 src/Module/Item/Compose.php:197 #: src/Object/Post.php:424 msgid "Please wait" msgstr "" -#: include/conversation.php:783 +#: include/conversation.php:791 msgid "remove" msgstr "" -#: include/conversation.php:787 +#: include/conversation.php:795 msgid "Delete Selected Items" msgstr "" -#: include/conversation.php:942 view/theme/frio/theme.php:363 +#: include/conversation.php:950 view/theme/frio/theme.php:363 msgid "Follow Thread" msgstr "" -#: include/conversation.php:943 src/Model/Contact.php:1225 +#: include/conversation.php:951 src/Model/Contact.php:1255 msgid "View Status" msgstr "" -#: include/conversation.php:944 include/conversation.php:962 mod/match.php:87 -#: mod/suggest.php:87 src/Model/Contact.php:1165 src/Model/Contact.php:1218 -#: src/Model/Contact.php:1226 src/Module/AllFriends.php:74 -#: src/Module/BaseSearchModule.php:133 src/Module/Directory.php:150 +#: include/conversation.php:952 include/conversation.php:970 mod/suggest.php:87 +#: mod/match.php:87 src/Model/Contact.php:1185 src/Model/Contact.php:1247 +#: src/Model/Contact.php:1256 src/Module/AllFriends.php:74 +#: src/Module/BaseSearchModule.php:137 src/Module/Directory.php:148 msgid "View Profile" msgstr "" -#: include/conversation.php:945 src/Model/Contact.php:1227 +#: include/conversation.php:953 src/Model/Contact.php:1257 msgid "View Photos" msgstr "" -#: include/conversation.php:946 src/Model/Contact.php:1219 -#: src/Model/Contact.php:1228 +#: include/conversation.php:954 src/Model/Contact.php:1248 +#: src/Model/Contact.php:1258 msgid "Network Posts" msgstr "" -#: include/conversation.php:947 src/Model/Contact.php:1220 -#: src/Model/Contact.php:1229 +#: include/conversation.php:955 src/Model/Contact.php:1249 +#: src/Model/Contact.php:1259 msgid "View Contact" msgstr "" -#: include/conversation.php:948 src/Model/Contact.php:1231 +#: include/conversation.php:956 src/Model/Contact.php:1261 msgid "Send PM" msgstr "" -#: include/conversation.php:949 src/Module/Admin/Blocklist/Contact.php:67 -#: src/Module/Admin/Users.php:289 src/Module/Contact.php:585 -#: src/Module/Contact.php:802 src/Module/Contact.php:1061 +#: include/conversation.php:957 src/Module/Admin/Blocklist/Contact.php:67 +#: src/Module/Admin/Users.php:289 src/Module/Contact.php:606 +#: src/Module/Contact.php:823 src/Module/Contact.php:1082 msgid "Block" msgstr "" -#: include/conversation.php:950 mod/notifications.php:63 -#: mod/notifications.php:197 mod/notifications.php:290 -#: src/Module/Contact.php:586 src/Module/Contact.php:803 -#: src/Module/Contact.php:1069 +#: include/conversation.php:958 mod/notifications.php:66 +#: mod/notifications.php:201 mod/notifications.php:294 +#: src/Module/Contact.php:607 src/Module/Contact.php:824 +#: src/Module/Contact.php:1090 msgid "Ignore" msgstr "" -#: include/conversation.php:954 src/Model/Contact.php:1232 +#: include/conversation.php:962 src/Model/Contact.php:1262 msgid "Poke" msgstr "" -#: include/conversation.php:959 mod/match.php:88 mod/follow.php:160 -#: mod/suggest.php:88 view/theme/vier/theme.php:201 src/Content/Widget.php:66 -#: src/Model/Contact.php:1221 src/Module/AllFriends.php:75 -#: src/Module/BaseSearchModule.php:134 +#: include/conversation.php:967 mod/suggest.php:88 mod/follow.php:160 +#: mod/match.php:88 view/theme/vier/theme.php:178 src/Content/Widget.php:67 +#: src/Model/Contact.php:1250 src/Model/Contact.php:1263 +#: src/Module/AllFriends.php:75 src/Module/BaseSearchModule.php:138 msgid "Connect/Follow" msgstr "" -#: include/conversation.php:1084 +#: include/conversation.php:1095 #, php-format msgid "%s likes this." msgstr "" -#: include/conversation.php:1087 +#: include/conversation.php:1098 #, php-format msgid "%s doesn't like this." msgstr "" -#: include/conversation.php:1090 +#: include/conversation.php:1101 #, php-format msgid "%s attends." msgstr "" -#: include/conversation.php:1093 +#: include/conversation.php:1104 #, php-format msgid "%s doesn't attend." msgstr "" -#: include/conversation.php:1096 +#: include/conversation.php:1107 #, php-format msgid "%s attends maybe." msgstr "" -#: include/conversation.php:1099 include/conversation.php:1142 +#: include/conversation.php:1110 include/conversation.php:1153 #, php-format msgid "%s reshared this." msgstr "" -#: include/conversation.php:1107 +#: include/conversation.php:1118 msgid "and" msgstr "" -#: include/conversation.php:1113 +#: include/conversation.php:1124 #, php-format msgid "and %d other people" msgstr "" -#: include/conversation.php:1121 +#: include/conversation.php:1132 #, php-format msgid "%2$d people like this" msgstr "" -#: include/conversation.php:1122 +#: include/conversation.php:1133 #, php-format msgid "%s like this." msgstr "" -#: include/conversation.php:1125 +#: include/conversation.php:1136 #, php-format msgid "%2$d people don't like this" msgstr "" -#: include/conversation.php:1126 +#: include/conversation.php:1137 #, php-format msgid "%s don't like this." msgstr "" -#: include/conversation.php:1129 +#: include/conversation.php:1140 #, php-format msgid "%2$d people attend" msgstr "" -#: include/conversation.php:1130 +#: include/conversation.php:1141 #, php-format msgid "%s attend." msgstr "" -#: include/conversation.php:1133 +#: include/conversation.php:1144 #, php-format msgid "%2$d people don't attend" msgstr "" -#: include/conversation.php:1134 +#: include/conversation.php:1145 #, php-format msgid "%s don't attend." msgstr "" -#: include/conversation.php:1137 +#: include/conversation.php:1148 #, php-format msgid "%2$d people attend maybe" msgstr "" -#: include/conversation.php:1138 +#: include/conversation.php:1149 #, php-format msgid "%s attend maybe." msgstr "" -#: include/conversation.php:1141 +#: include/conversation.php:1152 #, php-format msgid "%2$d people reshared this" msgstr "" -#: include/conversation.php:1171 +#: include/conversation.php:1182 msgid "Visible to everybody" msgstr "" -#: include/conversation.php:1172 src/Module/Item/Compose.php:187 -#: src/Object/Post.php:888 +#: include/conversation.php:1183 src/Module/Item/Compose.php:191 +#: src/Object/Post.php:893 msgid "Please enter a image/video/audio/webpage URL:" msgstr "" -#: include/conversation.php:1173 +#: include/conversation.php:1184 msgid "Tag term:" msgstr "" -#: include/conversation.php:1174 src/Module/Filer/SaveTag.php:48 +#: include/conversation.php:1185 src/Module/Filer/SaveTag.php:48 msgid "Save to Folder:" msgstr "" -#: include/conversation.php:1175 +#: include/conversation.php:1186 msgid "Where are you right now?" msgstr "" -#: include/conversation.php:1176 +#: include/conversation.php:1187 msgid "Delete item(s)?" msgstr "" -#: include/conversation.php:1208 +#: include/conversation.php:1219 msgid "New Post" msgstr "" -#: include/conversation.php:1211 +#: include/conversation.php:1222 msgid "Share" msgstr "" -#: include/conversation.php:1212 mod/wallmessage.php:139 mod/editpost.php:72 -#: mod/message.php:258 mod/message.php:439 +#: include/conversation.php:1223 mod/editpost.php:73 mod/message.php:258 +#: mod/message.php:439 mod/wallmessage.php:139 msgid "Upload photo" msgstr "" -#: include/conversation.php:1213 mod/editpost.php:73 +#: include/conversation.php:1224 mod/editpost.php:74 msgid "upload photo" msgstr "" -#: include/conversation.php:1214 mod/editpost.php:74 +#: include/conversation.php:1225 mod/editpost.php:75 msgid "Attach file" msgstr "" -#: include/conversation.php:1215 mod/editpost.php:75 +#: include/conversation.php:1226 mod/editpost.php:76 msgid "attach file" msgstr "" -#: include/conversation.php:1216 src/Module/Item/Compose.php:179 -#: src/Object/Post.php:880 +#: include/conversation.php:1227 src/Module/Item/Compose.php:183 +#: src/Object/Post.php:885 msgid "Bold" msgstr "" -#: include/conversation.php:1217 src/Module/Item/Compose.php:180 -#: src/Object/Post.php:881 +#: include/conversation.php:1228 src/Module/Item/Compose.php:184 +#: src/Object/Post.php:886 msgid "Italic" msgstr "" -#: include/conversation.php:1218 src/Module/Item/Compose.php:181 -#: src/Object/Post.php:882 +#: include/conversation.php:1229 src/Module/Item/Compose.php:185 +#: src/Object/Post.php:887 msgid "Underline" msgstr "" -#: include/conversation.php:1219 src/Module/Item/Compose.php:182 -#: src/Object/Post.php:883 +#: include/conversation.php:1230 src/Module/Item/Compose.php:186 +#: src/Object/Post.php:888 msgid "Quote" msgstr "" -#: include/conversation.php:1220 src/Module/Item/Compose.php:183 -#: src/Object/Post.php:884 +#: include/conversation.php:1231 src/Module/Item/Compose.php:187 +#: src/Object/Post.php:889 msgid "Code" msgstr "" -#: include/conversation.php:1221 src/Module/Item/Compose.php:184 -#: src/Object/Post.php:885 +#: include/conversation.php:1232 src/Module/Item/Compose.php:188 +#: src/Object/Post.php:890 msgid "Image" msgstr "" -#: include/conversation.php:1222 src/Module/Item/Compose.php:185 -#: src/Object/Post.php:886 +#: include/conversation.php:1233 src/Module/Item/Compose.php:189 +#: src/Object/Post.php:891 msgid "Link" msgstr "" -#: include/conversation.php:1223 src/Module/Item/Compose.php:186 -#: src/Object/Post.php:887 +#: include/conversation.php:1234 src/Module/Item/Compose.php:190 +#: src/Object/Post.php:892 msgid "Link or Media" msgstr "" -#: include/conversation.php:1224 mod/editpost.php:82 -#: src/Module/Item/Compose.php:189 +#: include/conversation.php:1235 mod/editpost.php:83 +#: src/Module/Item/Compose.php:193 msgid "Set your location" msgstr "" -#: include/conversation.php:1225 mod/editpost.php:83 +#: include/conversation.php:1236 mod/editpost.php:84 msgid "set location" msgstr "" -#: include/conversation.php:1226 mod/editpost.php:84 +#: include/conversation.php:1237 mod/editpost.php:85 msgid "Clear browser location" msgstr "" -#: include/conversation.php:1227 mod/editpost.php:85 +#: include/conversation.php:1238 mod/editpost.php:86 msgid "clear location" msgstr "" -#: include/conversation.php:1229 mod/editpost.php:99 -#: src/Module/Item/Compose.php:194 +#: include/conversation.php:1240 mod/editpost.php:100 +#: src/Module/Item/Compose.php:198 msgid "Set title" msgstr "" -#: include/conversation.php:1231 mod/editpost.php:101 -#: src/Module/Item/Compose.php:195 +#: include/conversation.php:1242 mod/editpost.php:102 +#: src/Module/Item/Compose.php:199 msgid "Categories (comma-separated list)" msgstr "" -#: include/conversation.php:1233 mod/editpost.php:87 +#: include/conversation.php:1244 mod/editpost.php:88 msgid "Permission settings" msgstr "" -#: include/conversation.php:1234 mod/editpost.php:116 +#: include/conversation.php:1245 mod/editpost.php:117 msgid "permissions" msgstr "" -#: include/conversation.php:1243 mod/editpost.php:96 +#: include/conversation.php:1254 mod/editpost.php:97 msgid "Public post" msgstr "" -#: include/conversation.php:1247 mod/editpost.php:107 mod/photos.php:1433 -#: mod/photos.php:1472 mod/photos.php:1532 mod/events.php:550 -#: src/Module/Item/Compose.php:188 src/Object/Post.php:889 +#: include/conversation.php:1258 mod/editpost.php:108 mod/events.php:556 +#: mod/photos.php:1398 mod/photos.php:1437 mod/photos.php:1502 +#: src/Module/Item/Compose.php:192 src/Object/Post.php:894 msgid "Preview" msgstr "" -#: include/conversation.php:1256 +#: include/conversation.php:1262 include/items.php:392 mod/suggest.php:76 +#: mod/dfrn_request.php:652 mod/editpost.php:111 mod/fbrowser.php:110 +#: mod/fbrowser.php:139 mod/follow.php:174 mod/message.php:153 +#: mod/photos.php:1049 mod/photos.php:1156 mod/settings.php:670 +#: mod/settings.php:696 mod/tagrm.php:20 mod/tagrm.php:115 mod/unfollow.php:132 +#: src/Module/Contact.php:447 +msgid "Cancel" +msgstr "" + +#: include/conversation.php:1267 msgid "Post to Groups" msgstr "" -#: include/conversation.php:1257 +#: include/conversation.php:1268 msgid "Post to Contacts" msgstr "" -#: include/conversation.php:1258 +#: include/conversation.php:1269 msgid "Private post" msgstr "" -#: include/conversation.php:1263 mod/editpost.php:114 src/Model/Profile.php:550 -#: src/Module/Contact.php:301 +#: include/conversation.php:1274 mod/editpost.php:115 src/Model/Profile.php:546 +#: src/Module/Contact.php:322 msgid "Message" msgstr "" -#: include/conversation.php:1264 mod/editpost.php:115 +#: include/conversation.php:1275 mod/editpost.php:116 msgid "Browser" msgstr "" -#: include/conversation.php:1536 +#: include/conversation.php:1547 msgid "View all" msgstr "" -#: include/conversation.php:1560 +#: include/conversation.php:1571 msgid "Like" msgid_plural "Likes" msgstr[0] "" msgstr[1] "" -#: include/conversation.php:1563 +#: include/conversation.php:1574 msgid "Dislike" msgid_plural "Dislikes" msgstr[0] "" msgstr[1] "" -#: include/conversation.php:1569 +#: include/conversation.php:1580 msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "" msgstr[1] "" -#: include/conversation.php:1572 src/Content/ContactSelector.php:243 +#: include/conversation.php:1583 src/Content/ContactSelector.php:243 msgid "Undecided" msgid_plural "Undecided" msgstr[0] "" msgstr[1] "" -#: include/enotify.php:57 +#: include/enotify.php:58 msgid "Friendica Notification" msgstr "" -#: include/enotify.php:60 +#: include/enotify.php:61 msgid "Thank You," msgstr "" -#: include/enotify.php:63 +#: include/enotify.php:64 #, php-format msgid "%1$s, %2$s Administrator" msgstr "" -#: include/enotify.php:65 +#: include/enotify.php:66 #, php-format msgid "%s Administrator" msgstr "" -#: include/enotify.php:134 +#: include/enotify.php:135 #, php-format msgid "[Friendica:Notify] New mail received at %s" msgstr "" -#: include/enotify.php:136 +#: include/enotify.php:137 #, php-format msgid "%1$s sent you a new private message at %2$s." msgstr "" -#: include/enotify.php:137 +#: include/enotify.php:138 msgid "a private message" msgstr "" -#: include/enotify.php:137 +#: include/enotify.php:138 #, php-format msgid "%1$s sent you %2$s." msgstr "" -#: include/enotify.php:139 +#: include/enotify.php:140 #, php-format msgid "Please visit %s to view and/or reply to your private messages." msgstr "" -#: include/enotify.php:172 +#: include/enotify.php:173 #, php-format msgid "%1$s tagged you on [url=%2$s]a %3$s[/url]" msgstr "" -#: include/enotify.php:178 +#: include/enotify.php:179 #, php-format msgid "%1$s commented on [url=%2$s]a %3$s[/url]" msgstr "" -#: include/enotify.php:188 +#: include/enotify.php:189 #, php-format msgid "%1$s tagged you on [url=%2$s]%3$s's %4$s[/url]" msgstr "" -#: include/enotify.php:195 +#: include/enotify.php:196 #, php-format msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]" msgstr "" -#: include/enotify.php:207 +#: include/enotify.php:208 #, php-format msgid "%1$s tagged you on [url=%2$s]your %3$s[/url]" msgstr "" -#: include/enotify.php:213 +#: include/enotify.php:214 #, php-format msgid "%1$s commented on [url=%2$s]your %3$s[/url]" msgstr "" -#: include/enotify.php:224 +#: include/enotify.php:225 #, php-format msgid "%1$s tagged you on [url=%2$s]their %3$s[/url]" msgstr "" -#: include/enotify.php:230 +#: include/enotify.php:231 #, php-format msgid "%1$s commented on [url=%2$s]their %3$s[/url]" msgstr "" -#: include/enotify.php:243 +#: include/enotify.php:244 #, php-format msgid "[Friendica:Notify] %s tagged you" msgstr "" -#: include/enotify.php:245 +#: include/enotify.php:246 #, php-format msgid "%1$s tagged you at %2$s" msgstr "" -#: include/enotify.php:247 +#: include/enotify.php:248 #, php-format msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s" msgstr "" -#: include/enotify.php:249 +#: include/enotify.php:250 #, php-format msgid "%s commented on an item/conversation you have been following." msgstr "" -#: include/enotify.php:254 include/enotify.php:269 include/enotify.php:284 -#: include/enotify.php:303 include/enotify.php:319 +#: include/enotify.php:255 include/enotify.php:270 include/enotify.php:285 +#: include/enotify.php:304 include/enotify.php:320 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "" -#: include/enotify.php:261 +#: include/enotify.php:262 #, php-format msgid "[Friendica:Notify] %s posted to your profile wall" msgstr "" -#: include/enotify.php:263 +#: include/enotify.php:264 #, php-format msgid "%1$s posted to your profile wall at %2$s" msgstr "" -#: include/enotify.php:264 +#: include/enotify.php:265 #, php-format msgid "%1$s posted to [url=%2$s]your wall[/url]" msgstr "" -#: include/enotify.php:276 +#: include/enotify.php:277 #, php-format msgid "[Friendica:Notify] %s shared a new post" msgstr "" -#: include/enotify.php:278 +#: include/enotify.php:279 #, php-format msgid "%1$s shared a new post at %2$s" msgstr "" -#: include/enotify.php:279 +#: include/enotify.php:280 #, php-format msgid "%1$s [url=%2$s]shared a post[/url]." msgstr "" -#: include/enotify.php:291 +#: include/enotify.php:292 #, php-format msgid "[Friendica:Notify] %1$s poked you" msgstr "" -#: include/enotify.php:293 +#: include/enotify.php:294 #, php-format msgid "%1$s poked you at %2$s" msgstr "" -#: include/enotify.php:294 +#: include/enotify.php:295 #, php-format msgid "%1$s [url=%2$s]poked you[/url]." msgstr "" -#: include/enotify.php:311 +#: include/enotify.php:312 #, php-format msgid "[Friendica:Notify] %s tagged your post" msgstr "" -#: include/enotify.php:313 +#: include/enotify.php:314 #, php-format msgid "%1$s tagged your post at %2$s" msgstr "" -#: include/enotify.php:314 +#: include/enotify.php:315 #, php-format msgid "%1$s tagged [url=%2$s]your post[/url]" msgstr "" -#: include/enotify.php:326 +#: include/enotify.php:327 msgid "[Friendica:Notify] Introduction received" msgstr "" -#: include/enotify.php:328 -#, php-format -msgid "You've received an introduction from '%1$s' at %2$s" -msgstr "" - #: include/enotify.php:329 #, php-format +msgid "You've received an introduction from '%1$s' at %2$s" +msgstr "" + +#: include/enotify.php:330 +#, php-format msgid "You've received [url=%1$s]an introduction[/url] from %2$s." msgstr "" -#: include/enotify.php:334 include/enotify.php:380 +#: include/enotify.php:335 include/enotify.php:381 #, php-format msgid "You may visit their profile at %s" msgstr "" -#: include/enotify.php:336 +#: include/enotify.php:337 #, php-format msgid "Please visit %s to approve or reject the introduction." msgstr "" -#: include/enotify.php:343 +#: include/enotify.php:344 msgid "[Friendica:Notify] A new person is sharing with you" msgstr "" -#: include/enotify.php:345 include/enotify.php:346 +#: include/enotify.php:346 include/enotify.php:347 #, php-format msgid "%1$s is sharing with you at %2$s" msgstr "" -#: include/enotify.php:353 +#: include/enotify.php:354 msgid "[Friendica:Notify] You have a new follower" msgstr "" -#: include/enotify.php:355 include/enotify.php:356 +#: include/enotify.php:356 include/enotify.php:357 #, php-format msgid "You have a new follower at %2$s : %1$s" msgstr "" -#: include/enotify.php:369 +#: include/enotify.php:370 msgid "[Friendica:Notify] Friend suggestion received" msgstr "" -#: include/enotify.php:371 -#, php-format -msgid "You've received a friend suggestion from '%1$s' at %2$s" -msgstr "" - #: include/enotify.php:372 #, php-format +msgid "You've received a friend suggestion from '%1$s' at %2$s" +msgstr "" + +#: include/enotify.php:373 +#, php-format msgid "You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s." msgstr "" -#: include/enotify.php:378 +#: include/enotify.php:379 msgid "Name:" msgstr "" -#: include/enotify.php:379 +#: include/enotify.php:380 msgid "Photo:" msgstr "" -#: include/enotify.php:382 +#: include/enotify.php:383 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "" -#: include/enotify.php:390 include/enotify.php:405 +#: include/enotify.php:391 include/enotify.php:406 msgid "[Friendica:Notify] Connection accepted" msgstr "" -#: include/enotify.php:392 include/enotify.php:407 -#, php-format -msgid "'%1$s' has accepted your connection request at %2$s" -msgstr "" - #: include/enotify.php:393 include/enotify.php:408 #, php-format +msgid "'%1$s' has accepted your connection request at %2$s" +msgstr "" + +#: include/enotify.php:394 include/enotify.php:409 +#, php-format msgid "%2$s has accepted your [url=%1$s]connection request[/url]." msgstr "" -#: include/enotify.php:398 +#: include/enotify.php:399 msgid "" "You are now mutual friends and may exchange status updates, photos, and " "email without restriction." msgstr "" -#: include/enotify.php:400 +#: include/enotify.php:401 #, php-format msgid "Please visit %s if you wish to make any changes to this relationship." msgstr "" -#: include/enotify.php:413 +#: include/enotify.php:414 #, php-format msgid "" "'%1$s' has chosen to accept you a fan, which restricts some forms of " @@ -844,37 +800,37 @@ msgid "" "automatically." msgstr "" -#: include/enotify.php:415 +#: include/enotify.php:416 #, php-format msgid "" "'%1$s' may choose to extend this into a two-way or more permissive " "relationship in the future." msgstr "" -#: include/enotify.php:417 +#: include/enotify.php:418 #, php-format msgid "Please visit %s if you wish to make any changes to this relationship." msgstr "" -#: include/enotify.php:427 mod/removeme.php:46 +#: include/enotify.php:428 mod/removeme.php:46 msgid "[Friendica System Notify]" msgstr "" -#: include/enotify.php:427 +#: include/enotify.php:428 msgid "registration request" msgstr "" -#: include/enotify.php:429 -#, php-format -msgid "You've received a registration request from '%1$s' at %2$s" -msgstr "" - #: include/enotify.php:430 #, php-format +msgid "You've received a registration request from '%1$s' at %2$s" +msgstr "" + +#: include/enotify.php:431 +#, php-format msgid "You've received a [url=%1$s]registration request[/url] from %2$s." msgstr "" -#: include/enotify.php:435 +#: include/enotify.php:436 #, php-format msgid "" "Full Name:\t%s\n" @@ -882,107 +838,53 @@ msgid "" "Login Name:\t%s (%s)" msgstr "" -#: include/enotify.php:441 +#: include/enotify.php:442 #, php-format msgid "Please visit %s to approve or reject the request." msgstr "" -#: mod/api.php:84 mod/api.php:106 -msgid "Authorize application connection" +#: include/items.php:355 src/Module/Admin/Themes/Details.php:53 +#: src/Module/Admin/Themes/Index.php:43 src/Module/Debug/ItemBody.php:27 +#: src/Module/Debug/ItemBody.php:40 +msgid "Item not found." msgstr "" -#: mod/api.php:85 -msgid "Return to your app and insert this Securty Code:" +#: include/items.php:387 +msgid "Do you really want to delete this item?" msgstr "" -#: mod/api.php:94 src/Module/BaseAdminModule.php:56 -msgid "Please login to continue." +#: include/items.php:389 mod/suggest.php:73 mod/api.php:110 +#: mod/dfrn_request.php:642 mod/follow.php:163 mod/message.php:150 +#: mod/profiles.php:526 mod/profiles.php:529 mod/profiles.php:551 +#: mod/settings.php:1081 mod/settings.php:1087 mod/settings.php:1094 +#: mod/settings.php:1098 mod/settings.php:1102 mod/settings.php:1106 +#: mod/settings.php:1110 mod/settings.php:1114 mod/settings.php:1134 +#: mod/settings.php:1135 mod/settings.php:1136 mod/settings.php:1137 +#: mod/settings.php:1138 src/Module/Contact.php:444 src/Module/Register.php:91 +msgid "Yes" msgstr "" -#: mod/api.php:108 -msgid "" -"Do you want to authorize this application to access your posts and contacts, " -"and/or create new posts for you?" -msgstr "" - -#: mod/api.php:110 mod/profiles.php:526 mod/profiles.php:530 -#: mod/profiles.php:551 mod/dfrn_request.php:640 mod/follow.php:163 -#: mod/settings.php:1089 mod/settings.php:1095 mod/settings.php:1102 -#: mod/settings.php:1106 mod/settings.php:1110 mod/settings.php:1114 -#: mod/settings.php:1118 mod/settings.php:1122 mod/settings.php:1142 -#: mod/settings.php:1143 mod/settings.php:1144 mod/settings.php:1145 -#: mod/settings.php:1146 src/Module/Register.php:98 -msgid "No" -msgstr "" - -#: mod/delegate.php:42 -msgid "Parent user not found." -msgstr "" - -#: mod/delegate.php:149 -msgid "No parent user" -msgstr "" - -#: mod/delegate.php:164 -msgid "Parent Password:" -msgstr "" - -#: mod/delegate.php:164 -msgid "" -"Please enter the password of the parent account to legitimize your request." -msgstr "" - -#: mod/delegate.php:171 -msgid "Parent User" -msgstr "" - -#: mod/delegate.php:174 -msgid "" -"Parent users have total control about this account, including the account " -"settings. Please double check whom you give this access." -msgstr "" - -#: mod/delegate.php:175 mod/settings.php:677 mod/settings.php:784 -#: mod/settings.php:874 mod/settings.php:953 mod/settings.php:1178 -#: src/Module/Admin/Addons/Index.php:52 src/Module/Admin/Features.php:69 -#: src/Module/Admin/Logs/Settings.php:65 src/Module/Admin/Themes/Index.php:97 -#: src/Module/Admin/Tos.php:50 src/Module/Admin/Site.php:568 -msgid "Save Settings" -msgstr "" - -#: mod/delegate.php:176 src/Content/Nav.php:263 -msgid "Delegate Page Management" -msgstr "" - -#: mod/delegate.php:177 -msgid "Delegates" -msgstr "" - -#: mod/delegate.php:179 -msgid "" -"Delegates are able to manage all aspects of this account/page except for " -"basic account settings. Please do not delegate your personal account to " -"anybody that you do not trust completely." -msgstr "" - -#: mod/delegate.php:180 -msgid "Existing Page Delegates" -msgstr "" - -#: mod/delegate.php:182 -msgid "Potential Delegates" -msgstr "" - -#: mod/delegate.php:184 mod/tagrm.php:114 -msgid "Remove" -msgstr "" - -#: mod/delegate.php:185 -msgid "Add" -msgstr "" - -#: mod/delegate.php:186 -msgid "No entries." +#: include/items.php:439 mod/ostatus_subscribe.php:18 mod/repair_ostatus.php:16 +#: mod/notes.php:27 mod/profile_photo.php:32 mod/profile_photo.php:177 +#: mod/profile_photo.php:197 mod/suggest.php:39 mod/api.php:35 mod/api.php:40 +#: mod/cal.php:291 mod/common.php:27 mod/crepair.php:90 mod/dfrn_confirm.php:65 +#: mod/editpost.php:22 mod/events.php:214 mod/follow.php:57 mod/follow.php:134 +#: mod/fsuggest.php:63 mod/item.php:174 mod/message.php:56 mod/message.php:101 +#: mod/network.php:38 mod/notifications.php:76 mod/photos.php:163 +#: mod/photos.php:927 mod/poke.php:142 mod/profiles.php:182 +#: mod/profiles.php:499 mod/regmod.php:89 mod/settings.php:54 +#: mod/settings.php:167 mod/settings.php:659 mod/uimport.php:17 +#: mod/unfollow.php:22 mod/unfollow.php:77 mod/unfollow.php:109 +#: mod/wall_attach.php:63 mod/wall_attach.php:66 mod/wall_upload.php:95 +#: mod/wall_upload.php:98 mod/wallmessage.php:19 mod/wallmessage.php:43 +#: mod/wallmessage.php:82 mod/wallmessage.php:106 src/Module/Attach.php:42 +#: src/Module/Group.php:31 src/Module/Group.php:77 src/Module/Invite.php:22 +#: src/Module/Invite.php:110 src/Module/Notifications/Notify.php:20 +#: src/Module/Profile/Contacts.php:50 src/Module/Search/Directory.php:19 +#: src/Module/Settings/Delegation.php:26 src/Module/Settings/Delegation.php:54 +#: src/Module/Contact.php:361 src/Module/Delegation.php:98 +#: src/Module/FollowConfirm.php:27 src/Module/Register.php:186 +msgid "Permission denied." msgstr "" #: mod/oexchange.php:32 @@ -1017,7 +919,7 @@ msgstr "" msgid "failed" msgstr "" -#: mod/ostatus_subscribe.php:89 src/Object/Post.php:285 +#: mod/ostatus_subscribe.php:89 src/Object/Post.php:282 msgid "ignored" msgstr "" @@ -1038,9 +940,9 @@ msgid "Profile Visibility Editor" msgstr "" #: mod/profperm.php:117 view/theme/frio/theme.php:268 src/Content/Nav.php:161 -#: src/Model/Profile.php:889 src/Model/Profile.php:925 -#: src/Module/Welcome.php:38 src/Module/Contact.php:618 -#: src/Module/Contact.php:847 +#: src/Model/Profile.php:885 src/Model/Profile.php:921 +#: src/Module/Welcome.php:38 src/Module/Contact.php:639 +#: src/Module/Contact.php:868 msgid "Profile" msgstr "" @@ -1056,19 +958,6 @@ msgstr "" msgid "All Contacts (with secure profile access)" msgstr "" -#: mod/regmod.php:53 -msgid "Account approved." -msgstr "" - -#: mod/regmod.php:77 -#, php-format -msgid "Registration revoked for %s" -msgstr "" - -#: mod/regmod.php:84 -msgid "Please login." -msgstr "" - #: mod/removeme.php:46 msgid "User deleted their account" msgstr "" @@ -1108,216 +997,1043 @@ msgid_plural "Errors" msgstr[0] "" msgstr[1] "" -#: mod/tagrm.php:31 -msgid "Tag(s) removed" -msgstr "" - -#: mod/tagrm.php:101 -msgid "Remove Item Tag" -msgstr "" - -#: mod/tagrm.php:103 -msgid "Select a tag to remove: " -msgstr "" - -#: mod/uimport.php:30 -msgid "User imports on closed servers can only be done by an administrator." -msgstr "" - -#: mod/uimport.php:39 src/Module/Register.php:59 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." -msgstr "" - -#: mod/uimport.php:54 src/Module/Register.php:141 -msgid "Import" -msgstr "" - -#: mod/uimport.php:56 -msgid "Move account" -msgstr "" - -#: mod/uimport.php:57 -msgid "You can import an account from another Friendica server." -msgstr "" - -#: mod/uimport.php:58 -msgid "" -"You need to export your account from the old server and upload it here. We " -"will recreate your old account here with all your contacts. We will try also " -"to inform your friends that you moved here." -msgstr "" - -#: mod/uimport.php:59 -msgid "" -"This feature is experimental. We can't import contacts from the OStatus " -"network (GNU Social/Statusnet) or from Diaspora" -msgstr "" - -#: mod/uimport.php:60 -msgid "Account file" -msgstr "" - -#: mod/uimport.php:60 -msgid "" -"To export your account, go to \"Settings->Export your personal data\" and " -"select \"Export account\"" -msgstr "" - -#: mod/unfollow.php:36 mod/unfollow.php:92 -msgid "You aren't following this contact." -msgstr "" - -#: mod/unfollow.php:46 mod/unfollow.php:98 -msgid "Unfollowing is currently not supported by your network." -msgstr "" - -#: mod/unfollow.php:67 -msgid "Contact unfollowed" -msgstr "" - -#: mod/unfollow.php:118 -msgid "Disconnect/Unfollow" -msgstr "" - -#: mod/unfollow.php:128 mod/dfrn_request.php:647 mod/follow.php:170 -msgid "Your Identity Address:" -msgstr "" - -#: mod/unfollow.php:131 mod/dfrn_request.php:649 mod/follow.php:76 -msgid "Submit Request" -msgstr "" - -#: mod/unfollow.php:137 mod/follow.php:179 mod/notifications.php:190 -#: mod/notifications.php:282 src/Module/Admin/Blocklist/Contact.php:83 -#: src/Module/Contact.php:603 -msgid "Profile URL" -msgstr "" - -#: mod/unfollow.php:147 mod/follow.php:195 src/Model/Profile.php:920 -#: src/Module/Contact.php:842 -msgid "Status Messages and Posts" -msgstr "" - #: mod/update_community.php:23 mod/update_contact.php:23 #: mod/update_display.php:24 mod/update_network.php:33 mod/update_notes.php:36 #: mod/update_profile.php:34 msgid "[Embedded content - reload page to view]" msgstr "" -#: mod/wall_attach.php:26 mod/wall_attach.php:33 mod/wall_attach.php:85 -#: mod/wall_upload.php:42 mod/wall_upload.php:58 mod/wall_upload.php:116 -#: mod/wall_upload.php:167 mod/wall_upload.php:170 -msgid "Invalid request." +#: mod/notes.php:34 src/Model/Profile.php:971 +msgid "Personal Notes" msgstr "" -#: mod/wall_attach.php:103 -msgid "Sorry, maybe your upload is bigger than the PHP configuration allows" +#: mod/notes.php:46 mod/editpost.php:72 src/Content/Text/HTML.php:905 +#: src/Module/Filer/SaveTag.php:49 +msgid "Save" msgstr "" -#: mod/wall_attach.php:103 -msgid "Or - did you try to upload an empty file?" +#: mod/ping.php:272 +msgid "{0} wants to be your friend" msgstr "" -#: mod/wall_attach.php:114 +#: mod/ping.php:288 +msgid "{0} requested registration" +msgstr "" + +#: mod/profile_photo.php:58 +msgid "Image uploaded but image cropping failed." +msgstr "" + +#: mod/profile_photo.php:88 mod/profile_photo.php:97 mod/profile_photo.php:106 +#: mod/profile_photo.php:311 #, php-format -msgid "File exceeds size limit of %s" +msgid "Image size reduction [%s] failed." msgstr "" -#: mod/wall_attach.php:129 -msgid "File upload failed." +#: mod/profile_photo.php:125 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." msgstr "" -#: mod/wall_upload.php:198 mod/photos.php:683 mod/photos.php:686 -#: mod/photos.php:715 mod/profile_photo.php:152 +#: mod/profile_photo.php:133 +msgid "Unable to process image" +msgstr "" + +#: mod/profile_photo.php:152 mod/photos.php:674 mod/photos.php:677 +#: mod/photos.php:706 mod/wall_upload.php:186 #, php-format msgid "Image exceeds size limit of %s" msgstr "" -#: mod/wall_upload.php:212 mod/photos.php:738 mod/profile_photo.php:161 +#: mod/profile_photo.php:161 mod/photos.php:729 mod/wall_upload.php:200 msgid "Unable to process image." msgstr "" -#: mod/wall_upload.php:243 -msgid "Wall Photos" +#: mod/profile_photo.php:244 +msgid "Upload File:" msgstr "" -#: mod/wall_upload.php:251 mod/photos.php:767 mod/profile_photo.php:303 +#: mod/profile_photo.php:245 +msgid "Select a profile:" +msgstr "" + +#: mod/profile_photo.php:246 mod/profiles.php:583 src/Module/Welcome.php:39 +msgid "Upload Profile Photo" +msgstr "" + +#: mod/profile_photo.php:247 mod/fbrowser.php:112 mod/fbrowser.php:141 +msgid "Upload" +msgstr "" + +#: mod/profile_photo.php:250 +msgid "or" +msgstr "" + +#: mod/profile_photo.php:251 +msgid "skip this step" +msgstr "" + +#: mod/profile_photo.php:251 +msgid "select a photo from your photo albums" +msgstr "" + +#: mod/profile_photo.php:264 +msgid "Crop Image" +msgstr "" + +#: mod/profile_photo.php:265 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "" + +#: mod/profile_photo.php:267 +msgid "Done Editing" +msgstr "" + +#: mod/profile_photo.php:301 +msgid "Image uploaded successfully." +msgstr "" + +#: mod/profile_photo.php:303 mod/photos.php:758 mod/wall_upload.php:239 msgid "Image upload failed." msgstr "" -#: mod/wallmessage.php:52 mod/wallmessage.php:115 +#: mod/suggest.php:28 +msgid "Contact suggestion successfully ignored." +msgstr "" + +#: mod/suggest.php:52 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." +msgstr "" + +#: mod/suggest.php:71 +msgid "Do you really want to delete this suggestion?" +msgstr "" + +#: mod/suggest.php:89 mod/suggest.php:109 +msgid "Ignore/Hide" +msgstr "" + +#: mod/suggest.php:106 mod/match.php:102 src/Content/Widget.php:43 +#: src/Module/AllFriends.php:91 src/Module/BaseSearchModule.php:135 +msgid "Connect" +msgstr "" + +#: mod/suggest.php:119 view/theme/vier/theme.php:181 src/Content/Widget.php:70 +msgid "Friend Suggestions" +msgstr "" + +#: mod/api.php:85 mod/api.php:107 +msgid "Authorize application connection" +msgstr "" + +#: mod/api.php:86 +msgid "Return to your app and insert this Securty Code:" +msgstr "" + +#: mod/api.php:95 src/Module/BaseAdminModule.php:56 +msgid "Please login to continue." +msgstr "" + +#: mod/api.php:109 +msgid "" +"Do you want to authorize this application to access your posts and contacts, " +"and/or create new posts for you?" +msgstr "" + +#: mod/api.php:111 mod/dfrn_request.php:642 mod/follow.php:163 +#: mod/profiles.php:526 mod/profiles.php:530 mod/profiles.php:551 +#: mod/settings.php:1081 mod/settings.php:1087 mod/settings.php:1094 +#: mod/settings.php:1098 mod/settings.php:1102 mod/settings.php:1106 +#: mod/settings.php:1110 mod/settings.php:1114 mod/settings.php:1134 +#: mod/settings.php:1135 mod/settings.php:1136 mod/settings.php:1137 +#: mod/settings.php:1138 src/Module/Register.php:92 +msgid "No" +msgstr "" + +#: mod/cal.php:31 mod/cal.php:35 mod/community.php:32 mod/follow.php:20 +#: src/Module/Debug/ItemBody.php:18 src/Module/Diaspora/Receive.php:39 +#: src/Module/Item/Ignore.php:25 +msgid "Access denied." +msgstr "" + +#: mod/cal.php:130 mod/display.php:296 src/Module/Profile.php:175 +msgid "Access to this profile has been restricted." +msgstr "" + +#: mod/cal.php:261 mod/events.php:389 view/theme/frio/theme.php:271 +#: view/theme/frio/theme.php:275 src/Content/Nav.php:164 +#: src/Content/Nav.php:228 src/Model/Profile.php:949 src/Model/Profile.php:960 +msgid "Events" +msgstr "" + +#: mod/cal.php:262 mod/events.php:390 +msgid "View" +msgstr "" + +#: mod/cal.php:263 mod/events.php:392 +msgid "Previous" +msgstr "" + +#: mod/cal.php:264 mod/events.php:393 src/Module/Install.php:174 +msgid "Next" +msgstr "" + +#: mod/cal.php:267 mod/events.php:398 src/Model/Event.php:429 +msgid "today" +msgstr "" + +#: mod/cal.php:268 mod/events.php:399 src/Util/Temporal.php:313 +#: src/Model/Event.php:430 +msgid "month" +msgstr "" + +#: mod/cal.php:269 mod/events.php:400 src/Util/Temporal.php:314 +#: src/Model/Event.php:431 +msgid "week" +msgstr "" + +#: mod/cal.php:270 mod/events.php:401 src/Util/Temporal.php:315 +#: src/Model/Event.php:432 +msgid "day" +msgstr "" + +#: mod/cal.php:271 mod/events.php:402 +msgid "list" +msgstr "" + +#: mod/cal.php:284 src/Model/User.php:415 src/Console/NewPassword.php:88 +msgid "User not found" +msgstr "" + +#: mod/cal.php:300 +msgid "This calendar format is not supported" +msgstr "" + +#: mod/cal.php:302 +msgid "No exportable data found" +msgstr "" + +#: mod/cal.php:319 +msgid "calendar" +msgstr "" + +#: mod/common.php:90 +msgid "No contacts in common." +msgstr "" + +#: mod/common.php:141 src/Module/Contact.php:891 +msgid "Common Friends" +msgstr "" + +#: mod/community.php:25 mod/dfrn_request.php:599 mod/display.php:200 +#: mod/photos.php:841 mod/videos.php:115 src/Module/Debug/Probe.php:20 +#: src/Module/Debug/WebFinger.php:19 src/Module/Search/Index.php:31 +#: src/Module/Search/Index.php:36 src/Module/Directory.php:31 +msgid "Public access denied." +msgstr "" + +#: mod/community.php:68 +msgid "Community option not available." +msgstr "" + +#: mod/community.php:85 +msgid "Not available." +msgstr "" + +#: mod/community.php:95 +msgid "Local Community" +msgstr "" + +#: mod/community.php:98 +msgid "Posts from local users on this server" +msgstr "" + +#: mod/community.php:106 +msgid "Global Community" +msgstr "" + +#: mod/community.php:109 +msgid "Posts from users of the whole federated network" +msgstr "" + +#: mod/community.php:155 src/Module/Search/Index.php:178 +msgid "No results." +msgstr "" + +#: mod/community.php:207 +msgid "" +"This community stream shows all public posts received by this node. They may " +"not reflect the opinions of this node’s users." +msgstr "" + +#: mod/crepair.php:79 +msgid "Contact settings applied." +msgstr "" + +#: mod/crepair.php:81 +msgid "Contact update failed." +msgstr "" + +#: mod/crepair.php:102 mod/dfrn_confirm.php:126 mod/fsuggest.php:32 +#: mod/fsuggest.php:75 mod/redir.php:32 mod/redir.php:122 mod/redir.php:137 +#: src/Module/Group.php:92 src/Module/FollowConfirm.php:46 +msgid "Contact not found." +msgstr "" + +#: mod/crepair.php:115 +msgid "" +"WARNING: This is highly advanced and if you enter incorrect " +"information your communications with this contact may stop working." +msgstr "" + +#: mod/crepair.php:116 +msgid "" +"Please use your browser 'Back' button now if you are " +"uncertain what to do on this page." +msgstr "" + +#: mod/crepair.php:130 mod/crepair.php:132 +msgid "No mirroring" +msgstr "" + +#: mod/crepair.php:130 +msgid "Mirror as forwarded posting" +msgstr "" + +#: mod/crepair.php:130 mod/crepair.php:132 +msgid "Mirror as my own posting" +msgstr "" + +#: mod/crepair.php:145 +msgid "Return to contact editor" +msgstr "" + +#: mod/crepair.php:147 +msgid "Refetch contact data" +msgstr "" + +#: mod/crepair.php:149 mod/events.php:558 mod/fsuggest.php:92 +#: mod/message.php:261 mod/message.php:441 mod/photos.php:956 +#: mod/photos.php:1066 mod/photos.php:1352 mod/photos.php:1397 +#: mod/photos.php:1436 mod/photos.php:1501 mod/poke.php:185 +#: mod/profiles.php:562 view/theme/duepuntozero/config.php:72 +#: view/theme/frio/config.php:127 view/theme/quattro/config.php:74 +#: view/theme/vier/config.php:122 src/Module/Debug/Localtime.php:45 +#: src/Module/Invite.php:157 src/Module/Item/Compose.php:182 +#: src/Module/Contact.php:581 src/Module/Delegation.php:131 +#: src/Module/Install.php:212 src/Module/Install.php:252 +#: src/Module/Install.php:288 src/Object/Post.php:884 +msgid "Submit" +msgstr "" + +#: mod/crepair.php:150 +msgid "Remote Self" +msgstr "" + +#: mod/crepair.php:153 +msgid "Mirror postings from this contact" +msgstr "" + +#: mod/crepair.php:155 +msgid "" +"Mark this contact as remote_self, this will cause friendica to repost new " +"entries from this contact." +msgstr "" + +#: mod/crepair.php:159 mod/settings.php:671 mod/settings.php:697 +#: src/Module/Admin/Blocklist/Contact.php:73 src/Module/Admin/Users.php:272 +#: src/Module/Admin/Users.php:283 src/Module/Admin/Users.php:297 +#: src/Module/Admin/Users.php:313 +msgid "Name" +msgstr "" + +#: mod/crepair.php:160 +msgid "Account Nickname" +msgstr "" + +#: mod/crepair.php:161 +msgid "@Tagname - overrides Name/Nickname" +msgstr "" + +#: mod/crepair.php:162 +msgid "Account URL" +msgstr "" + +#: mod/crepair.php:163 +msgid "Account URL Alias" +msgstr "" + +#: mod/crepair.php:164 +msgid "Friend Request URL" +msgstr "" + +#: mod/crepair.php:165 +msgid "Friend Confirm URL" +msgstr "" + +#: mod/crepair.php:166 +msgid "Notification Endpoint URL" +msgstr "" + +#: mod/crepair.php:167 +msgid "Poll/Feed URL" +msgstr "" + +#: mod/crepair.php:168 +msgid "New photo from this URL" +msgstr "" + +#: mod/dfrn_confirm.php:71 mod/profiles.php:43 mod/profiles.php:152 +#: mod/profiles.php:196 mod/profiles.php:511 +msgid "Profile not found." +msgstr "" + +#: mod/dfrn_confirm.php:127 +msgid "" +"This may occasionally happen if contact was requested by both persons and it " +"has already been approved." +msgstr "" + +#: mod/dfrn_confirm.php:228 +msgid "Response from remote site was not understood." +msgstr "" + +#: mod/dfrn_confirm.php:235 mod/dfrn_confirm.php:241 +msgid "Unexpected response from remote site: " +msgstr "" + +#: mod/dfrn_confirm.php:250 +msgid "Confirmation completed successfully." +msgstr "" + +#: mod/dfrn_confirm.php:262 +msgid "Temporary failure. Please wait and try again." +msgstr "" + +#: mod/dfrn_confirm.php:265 +msgid "Introduction failed or was revoked." +msgstr "" + +#: mod/dfrn_confirm.php:270 +msgid "Remote site reported: " +msgstr "" + +#: mod/dfrn_confirm.php:375 #, php-format -msgid "Number of daily wall messages for %s exceeded. Message failed." +msgid "No user record found for '%s' " msgstr "" -#: mod/wallmessage.php:60 mod/message.php:70 -msgid "No recipient selected." +#: mod/dfrn_confirm.php:385 +msgid "Our site encryption key is apparently messed up." msgstr "" -#: mod/wallmessage.php:63 -msgid "Unable to check your home location." +#: mod/dfrn_confirm.php:396 +msgid "Empty site URL was provided or URL could not be decrypted by us." msgstr "" -#: mod/wallmessage.php:66 mod/message.php:77 -msgid "Message could not be sent." +#: mod/dfrn_confirm.php:412 +msgid "Contact record was not found for you on our site." msgstr "" -#: mod/wallmessage.php:69 mod/message.php:80 -msgid "Message collection failure." +#: mod/dfrn_confirm.php:426 +#, php-format +msgid "Site public key not available in contact record for URL %s." msgstr "" -#: mod/wallmessage.php:72 mod/message.php:83 -msgid "Message sent." +#: mod/dfrn_confirm.php:442 +msgid "" +"The ID provided by your system is a duplicate on our system. It should work " +"if you try again." msgstr "" -#: mod/wallmessage.php:89 mod/wallmessage.php:98 -msgid "No recipient." +#: mod/dfrn_confirm.php:453 +msgid "Unable to set your contact credentials on our system." msgstr "" -#: mod/wallmessage.php:123 mod/message.php:204 mod/message.php:360 -msgid "Please enter a link URL:" +#: mod/dfrn_confirm.php:509 +msgid "Unable to update your contact profile details on our system" msgstr "" -#: mod/wallmessage.php:128 mod/message.php:246 -msgid "Send Private Message" +#: mod/dfrn_confirm.php:539 mod/dfrn_request.php:562 src/Model/Contact.php:2589 +msgid "[Name Withheld]" msgstr "" -#: mod/wallmessage.php:129 +#: mod/dfrn_poll.php:123 mod/dfrn_poll.php:526 +#, php-format +msgid "%1$s welcomes %2$s" +msgstr "" + +#: mod/dfrn_request.php:100 +msgid "This introduction has already been accepted." +msgstr "" + +#: mod/dfrn_request.php:118 mod/dfrn_request.php:356 +msgid "Profile location is not valid or does not contain profile information." +msgstr "" + +#: mod/dfrn_request.php:122 mod/dfrn_request.php:360 +msgid "Warning: profile location has no identifiable owner name." +msgstr "" + +#: mod/dfrn_request.php:125 mod/dfrn_request.php:363 +msgid "Warning: profile location has no profile photo." +msgstr "" + +#: mod/dfrn_request.php:129 mod/dfrn_request.php:367 +#, php-format +msgid "%d required parameter was not found at the given location" +msgid_plural "%d required parameters were not found at the given location" +msgstr[0] "" +msgstr[1] "" + +#: mod/dfrn_request.php:167 +msgid "Introduction complete." +msgstr "" + +#: mod/dfrn_request.php:203 +msgid "Unrecoverable protocol error." +msgstr "" + +#: mod/dfrn_request.php:230 +msgid "Profile unavailable." +msgstr "" + +#: mod/dfrn_request.php:251 +#, php-format +msgid "%s has received too many connection requests today." +msgstr "" + +#: mod/dfrn_request.php:252 +msgid "Spam protection measures have been invoked." +msgstr "" + +#: mod/dfrn_request.php:253 +msgid "Friends are advised to please try again in 24 hours." +msgstr "" + +#: mod/dfrn_request.php:277 +msgid "Invalid locator" +msgstr "" + +#: mod/dfrn_request.php:313 +msgid "You have already introduced yourself here." +msgstr "" + +#: mod/dfrn_request.php:316 +#, php-format +msgid "Apparently you are already friends with %s." +msgstr "" + +#: mod/dfrn_request.php:336 +msgid "Invalid profile URL." +msgstr "" + +#: mod/dfrn_request.php:342 src/Model/Contact.php:2212 +msgid "Disallowed profile URL." +msgstr "" + +#: mod/dfrn_request.php:348 src/Model/Contact.php:2217 +#: src/Module/Friendica.php:59 +msgid "Blocked domain" +msgstr "" + +#: mod/dfrn_request.php:415 src/Module/Contact.php:143 +msgid "Failed to update contact record." +msgstr "" + +#: mod/dfrn_request.php:435 +msgid "Your introduction has been sent." +msgstr "" + +#: mod/dfrn_request.php:473 +msgid "" +"Remote subscription can't be done for your network. Please subscribe " +"directly on your system." +msgstr "" + +#: mod/dfrn_request.php:489 +msgid "Please login to confirm introduction." +msgstr "" + +#: mod/dfrn_request.php:497 +msgid "" +"Incorrect identity currently logged in. Please login to this profile." +msgstr "" + +#: mod/dfrn_request.php:511 mod/dfrn_request.php:526 +msgid "Confirm" +msgstr "" + +#: mod/dfrn_request.php:522 +msgid "Hide this contact" +msgstr "" + +#: mod/dfrn_request.php:524 +#, php-format +msgid "Welcome home %s." +msgstr "" + +#: mod/dfrn_request.php:525 +#, php-format +msgid "Please confirm your introduction/connection request to %s." +msgstr "" + +#: mod/dfrn_request.php:634 +msgid "" +"Please enter your 'Identity Address' from one of the following supported " +"communications networks:" +msgstr "" + +#: mod/dfrn_request.php:636 #, php-format msgid "" -"If you wish for %s to respond, please check that the privacy settings on " -"your site allow private mail from unknown senders." +"If you are not yet a member of the free social web, follow " +"this link to find a public Friendica site and join us today." msgstr "" -#: mod/wallmessage.php:130 mod/message.php:247 mod/message.php:430 -msgid "To:" +#: mod/dfrn_request.php:639 +msgid "Friend/Connection Request" msgstr "" -#: mod/wallmessage.php:131 mod/message.php:251 mod/message.php:432 -msgid "Subject:" +#: mod/dfrn_request.php:640 +msgid "" +"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, " +"testuser@gnusocial.de" msgstr "" -#: mod/wallmessage.php:137 mod/message.php:255 mod/message.php:435 -#: src/Module/Invite.php:150 -msgid "Your message:" +#: mod/dfrn_request.php:641 mod/follow.php:162 +msgid "Please answer the following:" msgstr "" -#: mod/wallmessage.php:140 mod/editpost.php:76 mod/message.php:259 -#: mod/message.php:440 +#: mod/dfrn_request.php:642 mod/follow.php:163 +#, php-format +msgid "Does %s know you?" +msgstr "" + +#: mod/dfrn_request.php:643 mod/follow.php:164 +msgid "Add a personal note:" +msgstr "" + +#: mod/dfrn_request.php:645 +msgid "Friendica" +msgstr "" + +#: mod/dfrn_request.php:646 +msgid "GNU Social (Pleroma, Mastodon)" +msgstr "" + +#: mod/dfrn_request.php:647 +msgid "Diaspora (Socialhome, Hubzilla)" +msgstr "" + +#: mod/dfrn_request.php:648 +#, php-format +msgid "" +" - please do not use this form. Instead, enter %s into your Diaspora search " +"bar." +msgstr "" + +#: mod/dfrn_request.php:649 mod/follow.php:170 mod/unfollow.php:128 +msgid "Your Identity Address:" +msgstr "" + +#: mod/dfrn_request.php:651 mod/follow.php:76 mod/unfollow.php:131 +msgid "Submit Request" +msgstr "" + +#: mod/display.php:255 mod/display.php:332 +msgid "The requested item doesn't exist or has been deleted." +msgstr "" + +#: mod/display.php:410 +msgid "The feed for this item is unavailable." +msgstr "" + +#: mod/editpost.php:29 mod/editpost.php:39 +msgid "Item not found" +msgstr "" + +#: mod/editpost.php:46 +msgid "Edit post" +msgstr "" + +#: mod/editpost.php:77 mod/message.php:259 mod/message.php:440 +#: mod/wallmessage.php:140 msgid "Insert web link" msgstr "" +#: mod/editpost.php:78 +msgid "web link" +msgstr "" + +#: mod/editpost.php:79 +msgid "Insert video link" +msgstr "" + +#: mod/editpost.php:80 +msgid "video link" +msgstr "" + +#: mod/editpost.php:81 +msgid "Insert audio link" +msgstr "" + +#: mod/editpost.php:82 +msgid "audio link" +msgstr "" + +#: mod/editpost.php:96 src/Core/ACL.php:309 src/Module/Item/Compose.php:204 +msgid "CC: email addresses" +msgstr "" + +#: mod/editpost.php:103 src/Core/ACL.php:310 +msgid "Example: bob@example.com, mary@example.com" +msgstr "" + +#: mod/events.php:120 mod/events.php:122 +msgid "Event can not end before it has started." +msgstr "" + +#: mod/events.php:129 mod/events.php:131 +msgid "Event title and start time are required." +msgstr "" + +#: mod/events.php:391 +msgid "Create New Event" +msgstr "" + +#: mod/events.php:514 +msgid "Event details" +msgstr "" + +#: mod/events.php:515 +msgid "Starting date and Title are required." +msgstr "" + +#: mod/events.php:516 mod/events.php:521 +msgid "Event Starts:" +msgstr "" + +#: mod/events.php:516 mod/events.php:548 mod/profiles.php:592 +msgid "Required" +msgstr "" + +#: mod/events.php:529 mod/events.php:554 +msgid "Finish date/time is not known or not relevant" +msgstr "" + +#: mod/events.php:531 mod/events.php:536 +msgid "Event Finishes:" +msgstr "" + +#: mod/events.php:542 mod/events.php:555 +msgid "Adjust for viewer timezone" +msgstr "" + +#: mod/events.php:544 +msgid "Description:" +msgstr "" + +#: mod/events.php:546 mod/notifications.php:276 src/Model/Event.php:69 +#: src/Model/Event.php:96 src/Model/Event.php:438 src/Model/Event.php:934 +#: src/Model/Profile.php:443 src/Module/Contact.php:628 +#: src/Module/Directory.php:135 +msgid "Location:" +msgstr "" + +#: mod/events.php:548 mod/events.php:550 +msgid "Title:" +msgstr "" + +#: mod/events.php:551 mod/events.php:552 +msgid "Share this event" +msgstr "" + +#: mod/events.php:559 src/Model/Profile.php:886 +msgid "Basic" +msgstr "" + +#: mod/events.php:560 src/Model/Profile.php:887 src/Module/Admin/Site.php:573 +#: src/Module/Contact.php:901 +msgid "Advanced" +msgstr "" + +#: mod/events.php:561 mod/photos.php:974 mod/photos.php:1348 +#: src/Core/ACL.php:315 +msgid "Permissions" +msgstr "" + +#: mod/events.php:577 +msgid "Failed to remove event" +msgstr "" + +#: mod/events.php:579 +msgid "Event removed" +msgstr "" + +#: mod/fbrowser.php:43 view/theme/frio/theme.php:269 src/Content/Nav.php:162 +#: src/Model/Profile.php:929 +msgid "Photos" +msgstr "" + +#: mod/fbrowser.php:52 mod/fbrowser.php:76 mod/photos.php:181 +#: mod/photos.php:938 mod/photos.php:1055 mod/photos.php:1072 +#: mod/photos.php:1554 mod/photos.php:1569 src/Model/Photo.php:560 +#: src/Model/Photo.php:569 +msgid "Contact Photos" +msgstr "" + +#: mod/fbrowser.php:136 +msgid "Files" +msgstr "" + +#: mod/follow.php:46 +msgid "The contact could not be added." +msgstr "" + +#: mod/follow.php:87 +msgid "You already added this contact." +msgstr "" + +#: mod/follow.php:99 +msgid "Diaspora support isn't enabled. Contact can't be added." +msgstr "" + +#: mod/follow.php:106 +msgid "OStatus support is disabled. Contact can't be added." +msgstr "" + +#: mod/follow.php:113 +msgid "The network type couldn't be detected. Contact can't be added." +msgstr "" + +#: mod/follow.php:179 mod/notifications.php:194 mod/notifications.php:286 +#: mod/unfollow.php:137 src/Module/Admin/Blocklist/Contact.php:83 +#: src/Module/Contact.php:624 +msgid "Profile URL" +msgstr "" + +#: mod/follow.php:183 mod/notifications.php:280 src/Model/Profile.php:816 +#: src/Module/Contact.php:634 +msgid "Tags:" +msgstr "" + +#: mod/follow.php:195 mod/unfollow.php:147 src/Model/Profile.php:916 +#: src/Module/Contact.php:863 +msgid "Status Messages and Posts" +msgstr "" + +#: mod/fsuggest.php:44 +msgid "Suggested contact not found." +msgstr "" + +#: mod/fsuggest.php:57 +msgid "Friend suggestion sent." +msgstr "" + +#: mod/fsuggest.php:79 +msgid "Suggest Friends" +msgstr "" + +#: mod/fsuggest.php:81 +#, php-format +msgid "Suggest a friend for %s" +msgstr "" + +#: mod/hcard.php:21 +msgid "No profile" +msgstr "" + +#: mod/item.php:127 +msgid "Unable to locate original post." +msgstr "" + +#: mod/item.php:330 +msgid "Empty post discarded." +msgstr "" + +#: mod/item.php:801 +#, php-format +msgid "" +"This message was sent to you by %s, a member of the Friendica social network." +msgstr "" + +#: mod/item.php:803 +#, php-format +msgid "You may visit them online at %s" +msgstr "" + +#: mod/item.php:804 +msgid "" +"Please contact the sender by replying to this post if you do not wish to " +"receive these messages." +msgstr "" + +#: mod/item.php:808 +#, php-format +msgid "%s posted an update." +msgstr "" + +#: mod/lockview.php:49 mod/lockview.php:60 +msgid "Remote privacy information not available." +msgstr "" + +#: mod/lockview.php:72 +msgid "Visible to:" +msgstr "" + +#: mod/lockview.php:78 mod/lockview.php:113 src/Content/Widget.php:193 +#: src/Module/Item/Compose.php:101 src/Module/Profile/Contacts.php:126 +#: src/Module/Contact.php:792 +msgid "Followers" +msgstr "" + +#: mod/lockview.php:84 mod/lockview.php:119 src/Module/Item/Compose.php:108 +msgid "Mutuals" +msgstr "" + +#: mod/lostpass.php:27 +msgid "No valid account found." +msgstr "" + +#: mod/lostpass.php:39 +msgid "Password reset request issued. Check your email." +msgstr "" + +#: mod/lostpass.php:45 +#, php-format +msgid "" +"\n" +"\t\tDear %1$s,\n" +"\t\t\tA request was recently received at \"%2$s\" to reset your account\n" +"\t\tpassword. In order to confirm this request, please select the " +"verification link\n" +"\t\tbelow or paste it into your web browser address bar.\n" +"\n" +"\t\tIf you did NOT request this change, please DO NOT follow the link\n" +"\t\tprovided and ignore and/or delete this email, the request will expire " +"shortly.\n" +"\n" +"\t\tYour password will not be changed unless we can verify that you\n" +"\t\tissued this request." +msgstr "" + +#: mod/lostpass.php:56 +#, php-format +msgid "" +"\n" +"\t\tFollow this link soon to verify your identity:\n" +"\n" +"\t\t%1$s\n" +"\n" +"\t\tYou will then receive a follow-up message containing the new password.\n" +"\t\tYou may change that password from your account settings page after " +"logging in.\n" +"\n" +"\t\tThe login details are as follows:\n" +"\n" +"\t\tSite Location:\t%2$s\n" +"\t\tLogin Name:\t%3$s" +msgstr "" + +#: mod/lostpass.php:75 +#, php-format +msgid "Password reset requested at %s" +msgstr "" + +#: mod/lostpass.php:90 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "" + +#: mod/lostpass.php:103 +msgid "Request has expired, please make a new one." +msgstr "" + +#: mod/lostpass.php:118 +msgid "Forgot your Password?" +msgstr "" + +#: mod/lostpass.php:119 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "" + +#: mod/lostpass.php:120 src/Module/Login.php:355 +msgid "Nickname or Email: " +msgstr "" + +#: mod/lostpass.php:121 +msgid "Reset" +msgstr "" + +#: mod/lostpass.php:136 src/Module/Login.php:367 +msgid "Password Reset" +msgstr "" + +#: mod/lostpass.php:137 +msgid "Your password has been reset as requested." +msgstr "" + +#: mod/lostpass.php:138 +msgid "Your new password is" +msgstr "" + +#: mod/lostpass.php:139 +msgid "Save or copy your new password - and then" +msgstr "" + +#: mod/lostpass.php:140 +msgid "click here to login" +msgstr "" + +#: mod/lostpass.php:141 +msgid "" +"Your password may be changed from the Settings page after " +"successful login." +msgstr "" + +#: mod/lostpass.php:148 +#, php-format +msgid "" +"\n" +"\t\t\tDear %1$s,\n" +"\t\t\t\tYour password has been changed as requested. Please retain this\n" +"\t\t\tinformation for your records (or change your password immediately to\n" +"\t\t\tsomething that you will remember).\n" +"\t\t" +msgstr "" + +#: mod/lostpass.php:154 +#, php-format +msgid "" +"\n" +"\t\t\tYour login details are as follows:\n" +"\n" +"\t\t\tSite Location:\t%1$s\n" +"\t\t\tLogin Name:\t%2$s\n" +"\t\t\tPassword:\t%3$s\n" +"\n" +"\t\t\tYou may change that password from your account settings page after " +"logging in.\n" +"\t\t" +msgstr "" + +#: mod/lostpass.php:170 +#, php-format +msgid "Your password has been changed at %s" +msgstr "" + #: mod/match.php:49 msgid "No keywords to match. Please add keywords to your default profile." msgstr "" -#: mod/match.php:102 mod/suggest.php:106 src/Content/Widget.php:42 -#: src/Module/AllFriends.php:91 src/Module/BaseSearchModule.php:131 -msgid "Connect" -msgstr "" - #: mod/match.php:115 src/Content/Pager.php:198 msgid "first" msgstr "" @@ -1326,7 +2042,7 @@ msgstr "" msgid "next" msgstr "" -#: mod/match.php:130 src/Module/BaseSearchModule.php:92 +#: mod/match.php:130 src/Module/BaseSearchModule.php:96 msgid "No matches" msgstr "" @@ -1334,9 +2050,605 @@ msgstr "" msgid "Profile Match" msgstr "" -#: mod/profiles.php:43 mod/profiles.php:152 mod/profiles.php:196 -#: mod/profiles.php:511 mod/dfrn_confirm.php:70 -msgid "Profile not found." +#: mod/message.php:33 mod/message.php:116 src/Content/Nav.php:257 +msgid "New Message" +msgstr "" + +#: mod/message.php:70 mod/wallmessage.php:60 +msgid "No recipient selected." +msgstr "" + +#: mod/message.php:74 +msgid "Unable to locate contact information." +msgstr "" + +#: mod/message.php:77 mod/wallmessage.php:66 +msgid "Message could not be sent." +msgstr "" + +#: mod/message.php:80 mod/wallmessage.php:69 +msgid "Message collection failure." +msgstr "" + +#: mod/message.php:83 mod/wallmessage.php:72 +msgid "Message sent." +msgstr "" + +#: mod/message.php:110 mod/notifications.php:48 mod/notifications.php:202 +#: mod/notifications.php:258 +msgid "Discard" +msgstr "" + +#: mod/message.php:123 view/theme/frio/theme.php:276 src/Content/Nav.php:254 +msgid "Messages" +msgstr "" + +#: mod/message.php:148 +msgid "Do you really want to delete this message?" +msgstr "" + +#: mod/message.php:166 +msgid "Conversation not found." +msgstr "" + +#: mod/message.php:171 +msgid "Message deleted." +msgstr "" + +#: mod/message.php:176 mod/message.php:190 +msgid "Conversation removed." +msgstr "" + +#: mod/message.php:204 mod/message.php:360 mod/wallmessage.php:123 +msgid "Please enter a link URL:" +msgstr "" + +#: mod/message.php:246 mod/wallmessage.php:128 +msgid "Send Private Message" +msgstr "" + +#: mod/message.php:247 mod/message.php:430 mod/wallmessage.php:130 +msgid "To:" +msgstr "" + +#: mod/message.php:251 mod/message.php:432 mod/wallmessage.php:131 +msgid "Subject:" +msgstr "" + +#: mod/message.php:255 mod/message.php:435 mod/wallmessage.php:137 +#: src/Module/Invite.php:150 +msgid "Your message:" +msgstr "" + +#: mod/message.php:289 +msgid "No messages." +msgstr "" + +#: mod/message.php:352 +msgid "Message not available." +msgstr "" + +#: mod/message.php:406 +msgid "Delete message" +msgstr "" + +#: mod/message.php:408 mod/message.php:540 +msgid "D, d M Y - g:i A" +msgstr "" + +#: mod/message.php:423 mod/message.php:537 +msgid "Delete conversation" +msgstr "" + +#: mod/message.php:425 +msgid "" +"No secure communications available. You may be able to " +"respond from the sender's profile page." +msgstr "" + +#: mod/message.php:429 +msgid "Send Reply" +msgstr "" + +#: mod/message.php:512 +#, php-format +msgid "Unknown sender - %s" +msgstr "" + +#: mod/message.php:514 +#, php-format +msgid "You and %s" +msgstr "" + +#: mod/message.php:516 +#, php-format +msgid "%s and You" +msgstr "" + +#: mod/message.php:543 +#, php-format +msgid "%d message" +msgid_plural "%d messages" +msgstr[0] "" +msgstr[1] "" + +#: mod/network.php:525 +#, php-format +msgid "" +"Warning: This group contains %s member from a network that doesn't allow non " +"public messages." +msgid_plural "" +"Warning: This group contains %s members from a network that doesn't allow " +"non public messages." +msgstr[0] "" +msgstr[1] "" + +#: mod/network.php:528 +msgid "Messages in this group won't be send to these receivers." +msgstr "" + +#: mod/network.php:595 +msgid "No such group" +msgstr "" + +#: mod/network.php:616 src/Module/Group.php:288 +msgid "Group is empty" +msgstr "" + +#: mod/network.php:620 +#, php-format +msgid "Group: %s" +msgstr "" + +#: mod/network.php:646 +msgid "Private messages to this person are at risk of public disclosure." +msgstr "" + +#: mod/network.php:649 src/Module/AllFriends.php:35 +#: src/Module/AllFriends.php:43 +msgid "Invalid contact." +msgstr "" + +#: mod/network.php:928 +msgid "Latest Activity" +msgstr "" + +#: mod/network.php:931 +msgid "Sort by latest activity" +msgstr "" + +#: mod/network.php:936 +msgid "Latest Posts" +msgstr "" + +#: mod/network.php:939 +msgid "Sort by post received date" +msgstr "" + +#: mod/network.php:946 mod/profiles.php:579 +msgid "Personal" +msgstr "" + +#: mod/network.php:949 +msgid "Posts that mention or involve you" +msgstr "" + +#: mod/network.php:956 +msgid "New" +msgstr "" + +#: mod/network.php:959 +msgid "Activity Stream - by date" +msgstr "" + +#: mod/network.php:967 +msgid "Shared Links" +msgstr "" + +#: mod/network.php:970 +msgid "Interesting Links" +msgstr "" + +#: mod/network.php:977 +msgid "Starred" +msgstr "" + +#: mod/network.php:980 +msgid "Favourite Posts" +msgstr "" + +#: mod/notifications.php:39 +msgid "Invalid request identifier." +msgstr "" + +#: mod/notifications.php:100 src/Content/Nav.php:249 +msgid "Notifications" +msgstr "" + +#: mod/notifications.php:119 +msgid "Network Notifications" +msgstr "" + +#: mod/notifications.php:124 +msgid "System Notifications" +msgstr "" + +#: mod/notifications.php:129 +msgid "Personal Notifications" +msgstr "" + +#: mod/notifications.php:134 +msgid "Home Notifications" +msgstr "" + +#: mod/notifications.php:157 +msgid "Show unread" +msgstr "" + +#: mod/notifications.php:157 +msgid "Show all" +msgstr "" + +#: mod/notifications.php:168 +msgid "Show Ignored Requests" +msgstr "" + +#: mod/notifications.php:168 +msgid "Hide Ignored Requests" +msgstr "" + +#: mod/notifications.php:181 mod/notifications.php:266 +msgid "Notification type:" +msgstr "" + +#: mod/notifications.php:184 +msgid "Suggested by:" +msgstr "" + +#: mod/notifications.php:196 mod/notifications.php:283 +#: src/Module/Contact.php:615 +msgid "Hide this contact from others" +msgstr "" + +#: mod/notifications.php:198 mod/notifications.php:292 +#: src/Model/Contact.php:1270 src/Module/Admin/Users.php:286 +msgid "Approve" +msgstr "" + +#: mod/notifications.php:218 +msgid "Claims to be known to you: " +msgstr "" + +#: mod/notifications.php:219 +msgid "yes" +msgstr "" + +#: mod/notifications.php:219 +msgid "no" +msgstr "" + +#: mod/notifications.php:220 mod/notifications.php:224 +msgid "Shall your connection be bidirectional or not?" +msgstr "" + +#: mod/notifications.php:221 mod/notifications.php:225 +#, php-format +msgid "" +"Accepting %s as a friend allows %s to subscribe to your posts, and you will " +"also receive updates from them in your news feed." +msgstr "" + +#: mod/notifications.php:222 +#, php-format +msgid "" +"Accepting %s as a subscriber allows them to subscribe to your posts, but you " +"will not receive updates from them in your news feed." +msgstr "" + +#: mod/notifications.php:226 +#, php-format +msgid "" +"Accepting %s as a sharer allows them to subscribe to your posts, but you " +"will not receive updates from them in your news feed." +msgstr "" + +#: mod/notifications.php:237 +msgid "Friend" +msgstr "" + +#: mod/notifications.php:238 +msgid "Sharer" +msgstr "" + +#: mod/notifications.php:238 +msgid "Subscriber" +msgstr "" + +#: mod/notifications.php:278 src/Model/Profile.php:449 +#: src/Model/Profile.php:828 src/Module/Contact.php:632 +#: src/Module/Directory.php:143 +msgid "About:" +msgstr "" + +#: mod/notifications.php:282 src/Model/Profile.php:446 +#: src/Model/Profile.php:767 src/Module/Directory.php:140 +msgid "Gender:" +msgstr "" + +#: mod/notifications.php:289 src/Model/Profile.php:554 +#: src/Module/Contact.php:316 +msgid "Network:" +msgstr "" + +#: mod/notifications.php:303 +msgid "No introductions." +msgstr "" + +#: mod/notifications.php:337 +#, php-format +msgid "No more %s notifications." +msgstr "" + +#: mod/openid.php:30 +msgid "OpenID protocol error. No ID returned." +msgstr "" + +#: mod/openid.php:67 +msgid "" +"Account not found. Please login to your existing account to add the OpenID " +"to it." +msgstr "" + +#: mod/openid.php:69 +msgid "" +"Account not found. Please register a new account or login to your existing " +"account to add the OpenID to it." +msgstr "" + +#: mod/openid.php:75 src/Module/Login.php:90 src/Module/Login.php:144 +msgid "Login failed." +msgstr "" + +#: mod/photos.php:112 src/Model/Profile.php:932 +msgid "Photo Albums" +msgstr "" + +#: mod/photos.php:113 mod/photos.php:1609 +msgid "Recent Photos" +msgstr "" + +#: mod/photos.php:115 mod/photos.php:1117 mod/photos.php:1611 +msgid "Upload New Photos" +msgstr "" + +#: mod/photos.php:133 mod/settings.php:62 src/Module/BaseSettingsModule.php:18 +msgid "everybody" +msgstr "" + +#: mod/photos.php:170 +msgid "Contact information unavailable" +msgstr "" + +#: mod/photos.php:192 +msgid "Album not found." +msgstr "" + +#: mod/photos.php:250 +msgid "Album successfully deleted" +msgstr "" + +#: mod/photos.php:252 +msgid "Album was empty." +msgstr "" + +#: mod/photos.php:578 +msgid "a photo" +msgstr "" + +#: mod/photos.php:578 +#, php-format +msgid "%1$s was tagged in %2$s by %3$s" +msgstr "" + +#: mod/photos.php:680 +msgid "Image upload didn't complete, please try again" +msgstr "" + +#: mod/photos.php:683 +msgid "Image file is missing" +msgstr "" + +#: mod/photos.php:688 +msgid "" +"Server can't accept new file upload at this time, please contact your " +"administrator" +msgstr "" + +#: mod/photos.php:714 +msgid "Image file is empty." +msgstr "" + +#: mod/photos.php:846 +msgid "No photos selected" +msgstr "" + +#: mod/photos.php:912 mod/videos.php:168 +msgid "Access to this item is restricted." +msgstr "" + +#: mod/photos.php:966 +msgid "Upload Photos" +msgstr "" + +#: mod/photos.php:970 mod/photos.php:1062 +msgid "New album name: " +msgstr "" + +#: mod/photos.php:971 +msgid "or select existing album:" +msgstr "" + +#: mod/photos.php:972 +msgid "Do not show a status post for this upload" +msgstr "" + +#: mod/photos.php:988 mod/photos.php:1356 mod/settings.php:1206 +msgid "Show to Groups" +msgstr "" + +#: mod/photos.php:989 mod/photos.php:1357 mod/settings.php:1207 +msgid "Show to Contacts" +msgstr "" + +#: mod/photos.php:1044 +msgid "Do you really want to delete this photo album and all its photos?" +msgstr "" + +#: mod/photos.php:1046 mod/photos.php:1067 +msgid "Delete Album" +msgstr "" + +#: mod/photos.php:1073 +msgid "Edit Album" +msgstr "" + +#: mod/photos.php:1074 +msgid "Drop Album" +msgstr "" + +#: mod/photos.php:1079 +msgid "Show Newest First" +msgstr "" + +#: mod/photos.php:1081 +msgid "Show Oldest First" +msgstr "" + +#: mod/photos.php:1102 mod/photos.php:1594 +msgid "View Photo" +msgstr "" + +#: mod/photos.php:1139 +msgid "Permission denied. Access to this item may be restricted." +msgstr "" + +#: mod/photos.php:1141 +msgid "Photo not available" +msgstr "" + +#: mod/photos.php:1151 +msgid "Do you really want to delete this photo?" +msgstr "" + +#: mod/photos.php:1153 mod/photos.php:1353 +msgid "Delete Photo" +msgstr "" + +#: mod/photos.php:1244 +msgid "View photo" +msgstr "" + +#: mod/photos.php:1246 +msgid "Edit photo" +msgstr "" + +#: mod/photos.php:1247 +msgid "Delete photo" +msgstr "" + +#: mod/photos.php:1248 +msgid "Use as profile photo" +msgstr "" + +#: mod/photos.php:1255 +msgid "Private Photo" +msgstr "" + +#: mod/photos.php:1261 +msgid "View Full Size" +msgstr "" + +#: mod/photos.php:1321 +msgid "Tags: " +msgstr "" + +#: mod/photos.php:1324 +msgid "[Select tags to remove]" +msgstr "" + +#: mod/photos.php:1339 +msgid "New album name" +msgstr "" + +#: mod/photos.php:1340 +msgid "Caption" +msgstr "" + +#: mod/photos.php:1341 +msgid "Add a Tag" +msgstr "" + +#: mod/photos.php:1341 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" +msgstr "" + +#: mod/photos.php:1342 +msgid "Do not rotate" +msgstr "" + +#: mod/photos.php:1343 +msgid "Rotate CW (right)" +msgstr "" + +#: mod/photos.php:1344 +msgid "Rotate CCW (left)" +msgstr "" + +#: mod/photos.php:1378 src/Object/Post.php:310 +msgid "I like this (toggle)" +msgstr "" + +#: mod/photos.php:1379 src/Object/Post.php:311 +msgid "I don't like this (toggle)" +msgstr "" + +#: mod/photos.php:1394 mod/photos.php:1433 mod/photos.php:1498 +#: src/Module/Item/Compose.php:180 src/Module/Contact.php:1023 +#: src/Object/Post.php:881 +msgid "This is you" +msgstr "" + +#: mod/photos.php:1396 mod/photos.php:1435 mod/photos.php:1500 +#: src/Object/Post.php:420 src/Object/Post.php:883 +msgid "Comment" +msgstr "" + +#: mod/photos.php:1529 +msgid "Map" +msgstr "" + +#: mod/photos.php:1600 mod/videos.php:245 +msgid "View Album" +msgstr "" + +#: mod/poke.php:178 +msgid "Poke/Prod" +msgstr "" + +#: mod/poke.php:179 +msgid "poke, prod or do other things to somebody" +msgstr "" + +#: mod/poke.php:180 +msgid "Recipient" +msgstr "" + +#: mod/poke.php:181 +msgid "Choose what you wish to do to recipient" +msgstr "" + +#: mod/poke.php:184 +msgid "Make this post private" msgstr "" #: mod/profiles.php:62 @@ -1431,20 +2743,6 @@ msgstr "" msgid "Edit Profile Details" msgstr "" -#: mod/profiles.php:562 mod/crepair.php:149 mod/fsuggest.php:92 -#: mod/manage.php:183 mod/message.php:261 mod/message.php:441 -#: mod/photos.php:991 mod/photos.php:1101 mod/photos.php:1387 -#: mod/photos.php:1432 mod/photos.php:1471 mod/photos.php:1531 mod/poke.php:184 -#: mod/events.php:552 view/theme/duepuntozero/config.php:72 -#: view/theme/frio/config.php:127 view/theme/quattro/config.php:74 -#: view/theme/vier/config.php:120 src/Module/Debug/Localtime.php:45 -#: src/Module/Invite.php:157 src/Module/Item/Compose.php:178 -#: src/Module/Contact.php:560 src/Module/Install.php:212 -#: src/Module/Install.php:252 src/Module/Install.php:288 -#: src/Object/Post.php:879 -msgid "Submit" -msgstr "" - #: mod/profiles.php:563 msgid "Change Profile Photo" msgstr "" @@ -1457,7 +2755,7 @@ msgstr "" msgid "View all profiles" msgstr "" -#: mod/profiles.php:567 mod/profiles.php:662 src/Model/Profile.php:423 +#: mod/profiles.php:567 mod/profiles.php:662 src/Model/Profile.php:419 msgid "Edit visibility" msgstr "" @@ -1493,11 +2791,6 @@ msgstr "" msgid "Additional information" msgstr "" -#: mod/profiles.php:579 mod/network.php:992 -#: src/Core/NotificationsManager.php:158 -msgid "Personal" -msgstr "" - #: mod/profiles.php:580 msgid "Relation" msgstr "" @@ -1506,10 +2799,6 @@ msgstr "" msgid "Miscellaneous" msgstr "" -#: mod/profiles.php:583 mod/profile_photo.php:246 src/Module/Welcome.php:39 -msgid "Upload Profile Photo" -msgstr "" - #: mod/profiles.php:584 msgid "Your Gender:" msgstr "" @@ -1518,7 +2807,7 @@ msgstr "" msgid " Marital Status:" msgstr "" -#: mod/profiles.php:586 src/Model/Profile.php:808 +#: mod/profiles.php:586 src/Model/Profile.php:804 msgid "Sexual Preference:" msgstr "" @@ -1530,10 +2819,6 @@ msgstr "" msgid "Profile Name:" msgstr "" -#: mod/profiles.php:592 mod/events.php:510 mod/events.php:542 -msgid "Required" -msgstr "" - #: mod/profiles.php:594 msgid "" "This is your public profile.
It may " @@ -1568,7 +2853,7 @@ msgstr "" msgid "Country:" msgstr "" -#: mod/profiles.php:604 src/Util/Temporal.php:149 +#: mod/profiles.php:604 src/Util/Temporal.php:148 msgid "Age: " msgstr "" @@ -1602,11 +2887,11 @@ msgstr "" msgid "Homepage URL:" msgstr "" -#: mod/profiles.php:613 src/Model/Profile.php:816 +#: mod/profiles.php:613 src/Model/Profile.php:812 msgid "Hometown:" msgstr "" -#: mod/profiles.php:614 src/Model/Profile.php:824 +#: mod/profiles.php:614 src/Model/Profile.php:820 msgid "Political Views:" msgstr "" @@ -1630,11 +2915,11 @@ msgstr "" msgid "(Used for searching profiles, never shown to others)" msgstr "" -#: mod/profiles.php:618 src/Model/Profile.php:840 +#: mod/profiles.php:618 src/Model/Profile.php:836 msgid "Likes:" msgstr "" -#: mod/profiles.php:619 src/Model/Profile.php:844 +#: mod/profiles.php:619 src/Model/Profile.php:840 msgid "Dislikes:" msgstr "" @@ -1674,11 +2959,11 @@ msgstr "" msgid "Contact information and Social Networks" msgstr "" -#: mod/profiles.php:659 src/Model/Profile.php:419 +#: mod/profiles.php:659 src/Model/Profile.php:415 msgid "Profile Image" msgstr "" -#: mod/profiles.php:661 src/Model/Profile.php:422 +#: mod/profiles.php:661 src/Model/Profile.php:418 msgid "visible to everybody" msgstr "" @@ -1686,1820 +2971,278 @@ msgstr "" msgid "Edit/Manage Profiles" msgstr "" -#: mod/profiles.php:669 src/Model/Profile.php:409 src/Model/Profile.php:430 +#: mod/profiles.php:669 src/Model/Profile.php:405 src/Model/Profile.php:426 msgid "Change profile photo" msgstr "" -#: mod/profiles.php:670 src/Model/Profile.php:410 +#: mod/profiles.php:670 src/Model/Profile.php:406 msgid "Create New Profile" msgstr "" -#: mod/cal.php:34 mod/cal.php:38 mod/community.php:40 mod/follow.php:20 -#: src/Module/Debug/ItemBody.php:18 -msgid "Access denied." +#: mod/regmod.php:53 +msgid "Account approved." msgstr "" -#: mod/cal.php:140 mod/display.php:303 src/Module/Profile.php:185 -msgid "Access to this profile has been restricted." -msgstr "" - -#: mod/cal.php:271 mod/events.php:383 view/theme/frio/theme.php:271 -#: view/theme/frio/theme.php:275 src/Content/Nav.php:164 -#: src/Content/Nav.php:228 src/Model/Profile.php:953 src/Model/Profile.php:964 -msgid "Events" -msgstr "" - -#: mod/cal.php:272 mod/events.php:384 -msgid "View" -msgstr "" - -#: mod/cal.php:273 mod/events.php:386 -msgid "Previous" -msgstr "" - -#: mod/cal.php:274 mod/events.php:387 src/Module/Install.php:174 -msgid "Next" -msgstr "" - -#: mod/cal.php:277 mod/events.php:392 src/Model/Event.php:428 -msgid "today" -msgstr "" - -#: mod/cal.php:278 mod/events.php:393 src/Util/Temporal.php:314 -#: src/Model/Event.php:429 -msgid "month" -msgstr "" - -#: mod/cal.php:279 mod/events.php:394 src/Util/Temporal.php:315 -#: src/Model/Event.php:430 -msgid "week" -msgstr "" - -#: mod/cal.php:280 mod/events.php:395 src/Util/Temporal.php:316 -#: src/Model/Event.php:431 -msgid "day" -msgstr "" - -#: mod/cal.php:281 mod/events.php:396 -msgid "list" -msgstr "" - -#: mod/cal.php:294 src/Model/User.php:384 src/Console/NewPassword.php:88 -msgid "User not found" -msgstr "" - -#: mod/cal.php:310 -msgid "This calendar format is not supported" -msgstr "" - -#: mod/cal.php:312 -msgid "No exportable data found" -msgstr "" - -#: mod/cal.php:329 -msgid "calendar" -msgstr "" - -#: mod/common.php:90 -msgid "No contacts in common." -msgstr "" - -#: mod/common.php:141 src/Module/Contact.php:870 -msgid "Common Friends" -msgstr "" - -#: mod/community.php:33 mod/dfrn_request.php:597 mod/photos.php:850 -#: mod/search.php:87 mod/search.php:93 mod/videos.php:118 mod/display.php:201 -#: src/Module/Debug/Probe.php:20 src/Module/Debug/WebFinger.php:19 -#: src/Module/Directory.php:30 -msgid "Public access denied." -msgstr "" - -#: mod/community.php:76 -msgid "Community option not available." -msgstr "" - -#: mod/community.php:93 -msgid "Not available." -msgstr "" - -#: mod/community.php:103 -msgid "Local Community" -msgstr "" - -#: mod/community.php:106 -msgid "Posts from local users on this server" -msgstr "" - -#: mod/community.php:114 -msgid "Global Community" -msgstr "" - -#: mod/community.php:117 -msgid "Posts from users of the whole federated network" -msgstr "" - -#: mod/community.php:163 mod/search.php:222 -msgid "No results." -msgstr "" - -#: mod/community.php:215 -msgid "" -"This community stream shows all public posts received by this node. They may " -"not reflect the opinions of this node’s users." -msgstr "" - -#: mod/crepair.php:79 -msgid "Contact settings applied." -msgstr "" - -#: mod/crepair.php:81 -msgid "Contact update failed." -msgstr "" - -#: mod/crepair.php:102 mod/dfrn_confirm.php:125 mod/fsuggest.php:32 -#: mod/fsuggest.php:75 mod/redir.php:32 mod/redir.php:140 -#: src/Module/FollowConfirm.php:46 src/Module/Group.php:92 -msgid "Contact not found." -msgstr "" - -#: mod/crepair.php:115 -msgid "" -"WARNING: This is highly advanced and if you enter incorrect " -"information your communications with this contact may stop working." -msgstr "" - -#: mod/crepair.php:116 -msgid "" -"Please use your browser 'Back' button now if you are " -"uncertain what to do on this page." -msgstr "" - -#: mod/crepair.php:130 mod/crepair.php:132 -msgid "No mirroring" -msgstr "" - -#: mod/crepair.php:130 -msgid "Mirror as forwarded posting" -msgstr "" - -#: mod/crepair.php:130 mod/crepair.php:132 -msgid "Mirror as my own posting" -msgstr "" - -#: mod/crepair.php:145 -msgid "Return to contact editor" -msgstr "" - -#: mod/crepair.php:147 -msgid "Refetch contact data" -msgstr "" - -#: mod/crepair.php:150 -msgid "Remote Self" -msgstr "" - -#: mod/crepair.php:153 -msgid "Mirror postings from this contact" -msgstr "" - -#: mod/crepair.php:155 -msgid "" -"Mark this contact as remote_self, this will cause friendica to repost new " -"entries from this contact." -msgstr "" - -#: mod/crepair.php:159 mod/settings.php:679 mod/settings.php:705 -#: src/Module/Admin/Blocklist/Contact.php:73 src/Module/Admin/Users.php:272 -#: src/Module/Admin/Users.php:283 src/Module/Admin/Users.php:297 -#: src/Module/Admin/Users.php:313 -msgid "Name" -msgstr "" - -#: mod/crepair.php:160 -msgid "Account Nickname" -msgstr "" - -#: mod/crepair.php:161 -msgid "@Tagname - overrides Name/Nickname" -msgstr "" - -#: mod/crepair.php:162 -msgid "Account URL" -msgstr "" - -#: mod/crepair.php:163 -msgid "Account URL Alias" -msgstr "" - -#: mod/crepair.php:164 -msgid "Friend Request URL" -msgstr "" - -#: mod/crepair.php:165 -msgid "Friend Confirm URL" -msgstr "" - -#: mod/crepair.php:166 -msgid "Notification Endpoint URL" -msgstr "" - -#: mod/crepair.php:167 -msgid "Poll/Feed URL" -msgstr "" - -#: mod/crepair.php:168 -msgid "New photo from this URL" -msgstr "" - -#: mod/dfrn_confirm.php:126 -msgid "" -"This may occasionally happen if contact was requested by both persons and it " -"has already been approved." -msgstr "" - -#: mod/dfrn_confirm.php:227 -msgid "Response from remote site was not understood." -msgstr "" - -#: mod/dfrn_confirm.php:234 mod/dfrn_confirm.php:240 -msgid "Unexpected response from remote site: " -msgstr "" - -#: mod/dfrn_confirm.php:249 -msgid "Confirmation completed successfully." -msgstr "" - -#: mod/dfrn_confirm.php:261 -msgid "Temporary failure. Please wait and try again." -msgstr "" - -#: mod/dfrn_confirm.php:264 -msgid "Introduction failed or was revoked." -msgstr "" - -#: mod/dfrn_confirm.php:269 -msgid "Remote site reported: " -msgstr "" - -#: mod/dfrn_confirm.php:374 +#: mod/regmod.php:77 #, php-format -msgid "No user record found for '%s' " +msgid "Registration revoked for %s" msgstr "" -#: mod/dfrn_confirm.php:384 -msgid "Our site encryption key is apparently messed up." +#: mod/regmod.php:84 +msgid "Please login." msgstr "" -#: mod/dfrn_confirm.php:395 -msgid "Empty site URL was provided or URL could not be decrypted by us." -msgstr "" - -#: mod/dfrn_confirm.php:411 -msgid "Contact record was not found for you on our site." -msgstr "" - -#: mod/dfrn_confirm.php:425 -#, php-format -msgid "Site public key not available in contact record for URL %s." -msgstr "" - -#: mod/dfrn_confirm.php:441 -msgid "" -"The ID provided by your system is a duplicate on our system. It should work " -"if you try again." -msgstr "" - -#: mod/dfrn_confirm.php:452 -msgid "Unable to set your contact credentials on our system." -msgstr "" - -#: mod/dfrn_confirm.php:508 -msgid "Unable to update your contact profile details on our system" -msgstr "" - -#: mod/dfrn_confirm.php:538 mod/dfrn_request.php:560 src/Model/Contact.php:2551 -msgid "[Name Withheld]" -msgstr "" - -#: mod/dfrn_poll.php:125 mod/dfrn_poll.php:530 -#, php-format -msgid "%1$s welcomes %2$s" -msgstr "" - -#: mod/dfrn_request.php:98 -msgid "This introduction has already been accepted." -msgstr "" - -#: mod/dfrn_request.php:116 mod/dfrn_request.php:354 -msgid "Profile location is not valid or does not contain profile information." -msgstr "" - -#: mod/dfrn_request.php:120 mod/dfrn_request.php:358 -msgid "Warning: profile location has no identifiable owner name." -msgstr "" - -#: mod/dfrn_request.php:123 mod/dfrn_request.php:361 -msgid "Warning: profile location has no profile photo." -msgstr "" - -#: mod/dfrn_request.php:127 mod/dfrn_request.php:365 -#, php-format -msgid "%d required parameter was not found at the given location" -msgid_plural "%d required parameters were not found at the given location" -msgstr[0] "" -msgstr[1] "" - -#: mod/dfrn_request.php:165 -msgid "Introduction complete." -msgstr "" - -#: mod/dfrn_request.php:201 -msgid "Unrecoverable protocol error." -msgstr "" - -#: mod/dfrn_request.php:228 -msgid "Profile unavailable." -msgstr "" - -#: mod/dfrn_request.php:249 -#, php-format -msgid "%s has received too many connection requests today." -msgstr "" - -#: mod/dfrn_request.php:250 -msgid "Spam protection measures have been invoked." -msgstr "" - -#: mod/dfrn_request.php:251 -msgid "Friends are advised to please try again in 24 hours." -msgstr "" - -#: mod/dfrn_request.php:275 -msgid "Invalid locator" -msgstr "" - -#: mod/dfrn_request.php:311 -msgid "You have already introduced yourself here." -msgstr "" - -#: mod/dfrn_request.php:314 -#, php-format -msgid "Apparently you are already friends with %s." -msgstr "" - -#: mod/dfrn_request.php:334 -msgid "Invalid profile URL." -msgstr "" - -#: mod/dfrn_request.php:340 src/Model/Contact.php:2182 -msgid "Disallowed profile URL." -msgstr "" - -#: mod/dfrn_request.php:346 src/Model/Contact.php:2187 -#: src/Module/Friendica.php:59 -msgid "Blocked domain" -msgstr "" - -#: mod/dfrn_request.php:413 src/Module/Contact.php:143 -msgid "Failed to update contact record." -msgstr "" - -#: mod/dfrn_request.php:433 -msgid "Your introduction has been sent." -msgstr "" - -#: mod/dfrn_request.php:471 -msgid "" -"Remote subscription can't be done for your network. Please subscribe " -"directly on your system." -msgstr "" - -#: mod/dfrn_request.php:487 -msgid "Please login to confirm introduction." -msgstr "" - -#: mod/dfrn_request.php:495 -msgid "" -"Incorrect identity currently logged in. Please login to this profile." -msgstr "" - -#: mod/dfrn_request.php:509 mod/dfrn_request.php:524 -msgid "Confirm" -msgstr "" - -#: mod/dfrn_request.php:520 -msgid "Hide this contact" -msgstr "" - -#: mod/dfrn_request.php:522 -#, php-format -msgid "Welcome home %s." -msgstr "" - -#: mod/dfrn_request.php:523 -#, php-format -msgid "Please confirm your introduction/connection request to %s." -msgstr "" - -#: mod/dfrn_request.php:632 -msgid "" -"Please enter your 'Identity Address' from one of the following supported " -"communications networks:" -msgstr "" - -#: mod/dfrn_request.php:634 -#, php-format -msgid "" -"If you are not yet a member of the free social web, follow " -"this link to find a public Friendica site and join us today." -msgstr "" - -#: mod/dfrn_request.php:637 -msgid "Friend/Connection Request" -msgstr "" - -#: mod/dfrn_request.php:638 -msgid "" -"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, " -"testuser@gnusocial.de" -msgstr "" - -#: mod/dfrn_request.php:639 mod/follow.php:162 -msgid "Please answer the following:" -msgstr "" - -#: mod/dfrn_request.php:640 mod/follow.php:163 -#, php-format -msgid "Does %s know you?" -msgstr "" - -#: mod/dfrn_request.php:641 mod/follow.php:164 -msgid "Add a personal note:" -msgstr "" - -#: mod/dfrn_request.php:643 -msgid "Friendica" -msgstr "" - -#: mod/dfrn_request.php:644 -msgid "GNU Social (Pleroma, Mastodon)" -msgstr "" - -#: mod/dfrn_request.php:645 -msgid "Diaspora (Socialhome, Hubzilla)" -msgstr "" - -#: mod/dfrn_request.php:646 -#, php-format -msgid "" -" - please do not use this form. Instead, enter %s into your Diaspora search " -"bar." -msgstr "" - -#: mod/editpost.php:28 mod/editpost.php:38 -msgid "Item not found" -msgstr "" - -#: mod/editpost.php:45 -msgid "Edit post" -msgstr "" - -#: mod/editpost.php:71 mod/notes.php:46 src/Content/Text/HTML.php:887 -#: src/Module/Filer/SaveTag.php:49 -msgid "Save" -msgstr "" - -#: mod/editpost.php:77 -msgid "web link" -msgstr "" - -#: mod/editpost.php:78 -msgid "Insert video link" -msgstr "" - -#: mod/editpost.php:79 -msgid "video link" -msgstr "" - -#: mod/editpost.php:80 -msgid "Insert audio link" -msgstr "" - -#: mod/editpost.php:81 -msgid "audio link" -msgstr "" - -#: mod/editpost.php:95 src/Core/ACL.php:308 src/Module/Item/Compose.php:200 -msgid "CC: email addresses" -msgstr "" - -#: mod/editpost.php:102 src/Core/ACL.php:309 -msgid "Example: bob@example.com, mary@example.com" -msgstr "" - -#: mod/fbrowser.php:43 view/theme/frio/theme.php:269 src/Content/Nav.php:162 -#: src/Model/Profile.php:933 -msgid "Photos" -msgstr "" - -#: mod/fbrowser.php:52 mod/fbrowser.php:76 mod/photos.php:196 -#: mod/photos.php:973 mod/photos.php:1090 mod/photos.php:1107 -#: mod/photos.php:1584 mod/photos.php:1599 src/Model/Photo.php:574 -#: src/Model/Photo.php:583 -msgid "Contact Photos" -msgstr "" - -#: mod/fbrowser.php:112 mod/fbrowser.php:141 mod/profile_photo.php:247 -msgid "Upload" -msgstr "" - -#: mod/fbrowser.php:136 -msgid "Files" -msgstr "" - -#: mod/follow.php:46 -msgid "The contact could not be added." -msgstr "" - -#: mod/follow.php:87 -msgid "You already added this contact." -msgstr "" - -#: mod/follow.php:99 -msgid "Diaspora support isn't enabled. Contact can't be added." -msgstr "" - -#: mod/follow.php:106 -msgid "OStatus support is disabled. Contact can't be added." -msgstr "" - -#: mod/follow.php:113 -msgid "The network type couldn't be detected. Contact can't be added." -msgstr "" - -#: mod/follow.php:183 mod/notifications.php:276 src/Model/Profile.php:820 -#: src/Module/Contact.php:613 -msgid "Tags:" -msgstr "" - -#: mod/fsuggest.php:44 -msgid "Suggested contact not found." -msgstr "" - -#: mod/fsuggest.php:57 -msgid "Friend suggestion sent." -msgstr "" - -#: mod/fsuggest.php:79 -msgid "Suggest Friends" -msgstr "" - -#: mod/fsuggest.php:81 -#, php-format -msgid "Suggest a friend for %s" -msgstr "" - -#: mod/hcard.php:20 -msgid "No profile" -msgstr "" - -#: mod/lockview.php:47 mod/lockview.php:58 -msgid "Remote privacy information not available." -msgstr "" - -#: mod/lockview.php:67 -msgid "Visible to:" -msgstr "" - -#: mod/lockview.php:73 mod/lockview.php:108 src/Content/Widget.php:192 -#: src/Module/Item/Compose.php:97 src/Module/Profile/Contacts.php:126 -#: src/Module/Contact.php:771 -msgid "Followers" -msgstr "" - -#: mod/lockview.php:79 mod/lockview.php:114 src/Module/Item/Compose.php:104 -msgid "Mutuals" -msgstr "" - -#: mod/lostpass.php:26 -msgid "No valid account found." -msgstr "" - -#: mod/lostpass.php:38 -msgid "Password reset request issued. Check your email." -msgstr "" - -#: mod/lostpass.php:44 -#, php-format -msgid "" -"\n" -"\t\tDear %1$s,\n" -"\t\t\tA request was recently received at \"%2$s\" to reset your account\n" -"\t\tpassword. In order to confirm this request, please select the " -"verification link\n" -"\t\tbelow or paste it into your web browser address bar.\n" -"\n" -"\t\tIf you did NOT request this change, please DO NOT follow the link\n" -"\t\tprovided and ignore and/or delete this email, the request will expire " -"shortly.\n" -"\n" -"\t\tYour password will not be changed unless we can verify that you\n" -"\t\tissued this request." -msgstr "" - -#: mod/lostpass.php:55 -#, php-format -msgid "" -"\n" -"\t\tFollow this link soon to verify your identity:\n" -"\n" -"\t\t%1$s\n" -"\n" -"\t\tYou will then receive a follow-up message containing the new password.\n" -"\t\tYou may change that password from your account settings page after " -"logging in.\n" -"\n" -"\t\tThe login details are as follows:\n" -"\n" -"\t\tSite Location:\t%2$s\n" -"\t\tLogin Name:\t%3$s" -msgstr "" - -#: mod/lostpass.php:74 -#, php-format -msgid "Password reset requested at %s" -msgstr "" - -#: mod/lostpass.php:89 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." -msgstr "" - -#: mod/lostpass.php:102 -msgid "Request has expired, please make a new one." -msgstr "" - -#: mod/lostpass.php:117 -msgid "Forgot your Password?" -msgstr "" - -#: mod/lostpass.php:118 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." -msgstr "" - -#: mod/lostpass.php:119 src/Module/Login.php:318 -msgid "Nickname or Email: " -msgstr "" - -#: mod/lostpass.php:120 -msgid "Reset" -msgstr "" - -#: mod/lostpass.php:135 src/Module/Login.php:330 -msgid "Password Reset" -msgstr "" - -#: mod/lostpass.php:136 -msgid "Your password has been reset as requested." -msgstr "" - -#: mod/lostpass.php:137 -msgid "Your new password is" -msgstr "" - -#: mod/lostpass.php:138 -msgid "Save or copy your new password - and then" -msgstr "" - -#: mod/lostpass.php:139 -msgid "click here to login" -msgstr "" - -#: mod/lostpass.php:140 -msgid "" -"Your password may be changed from the Settings page after " -"successful login." -msgstr "" - -#: mod/lostpass.php:147 -#, php-format -msgid "" -"\n" -"\t\t\tDear %1$s,\n" -"\t\t\t\tYour password has been changed as requested. Please retain this\n" -"\t\t\tinformation for your records (or change your password immediately to\n" -"\t\t\tsomething that you will remember).\n" -"\t\t" -msgstr "" - -#: mod/lostpass.php:153 -#, php-format -msgid "" -"\n" -"\t\t\tYour login details are as follows:\n" -"\n" -"\t\t\tSite Location:\t%1$s\n" -"\t\t\tLogin Name:\t%2$s\n" -"\t\t\tPassword:\t%3$s\n" -"\n" -"\t\t\tYou may change that password from your account settings page after " -"logging in.\n" -"\t\t" -msgstr "" - -#: mod/lostpass.php:169 -#, php-format -msgid "Your password has been changed at %s" -msgstr "" - -#: mod/manage.php:179 -msgid "Manage Identities and/or Pages" -msgstr "" - -#: mod/manage.php:180 -msgid "" -"Toggle between different identities or community/group pages which share " -"your account details or which you have been granted \"manage\" permissions" -msgstr "" - -#: mod/manage.php:181 -msgid "Select an identity to manage: " -msgstr "" - -#: mod/message.php:33 mod/message.php:116 src/Content/Nav.php:257 -msgid "New Message" -msgstr "" - -#: mod/message.php:74 -msgid "Unable to locate contact information." -msgstr "" - -#: mod/message.php:110 mod/notifications.php:49 mod/notifications.php:198 -#: mod/notifications.php:254 -msgid "Discard" -msgstr "" - -#: mod/message.php:123 view/theme/frio/theme.php:276 src/Content/Nav.php:254 -msgid "Messages" -msgstr "" - -#: mod/message.php:148 -msgid "Do you really want to delete this message?" -msgstr "" - -#: mod/message.php:166 -msgid "Conversation not found." -msgstr "" - -#: mod/message.php:171 -msgid "Message deleted." -msgstr "" - -#: mod/message.php:176 mod/message.php:190 -msgid "Conversation removed." -msgstr "" - -#: mod/message.php:289 -msgid "No messages." -msgstr "" - -#: mod/message.php:352 -msgid "Message not available." -msgstr "" - -#: mod/message.php:406 -msgid "Delete message" -msgstr "" - -#: mod/message.php:408 mod/message.php:540 -msgid "D, d M Y - g:i A" -msgstr "" - -#: mod/message.php:423 mod/message.php:537 -msgid "Delete conversation" -msgstr "" - -#: mod/message.php:425 -msgid "" -"No secure communications available. You may be able to " -"respond from the sender's profile page." -msgstr "" - -#: mod/message.php:429 -msgid "Send Reply" -msgstr "" - -#: mod/message.php:512 -#, php-format -msgid "Unknown sender - %s" -msgstr "" - -#: mod/message.php:514 -#, php-format -msgid "You and %s" -msgstr "" - -#: mod/message.php:516 -#, php-format -msgid "%s and You" -msgstr "" - -#: mod/message.php:543 -#, php-format -msgid "%d message" -msgid_plural "%d messages" -msgstr[0] "" -msgstr[1] "" - -#: mod/network.php:183 mod/search.php:35 -msgid "Remove term" -msgstr "" - -#: mod/network.php:190 mod/search.php:44 -msgid "Saved Searches" -msgstr "" - -#: mod/network.php:191 src/Model/Group.php:483 -msgid "add" -msgstr "" - -#: mod/network.php:571 -#, php-format -msgid "" -"Warning: This group contains %s member from a network that doesn't allow non " -"public messages." -msgid_plural "" -"Warning: This group contains %s members from a network that doesn't allow " -"non public messages." -msgstr[0] "" -msgstr[1] "" - -#: mod/network.php:574 -msgid "Messages in this group won't be send to these receivers." -msgstr "" - -#: mod/network.php:641 -msgid "No such group" -msgstr "" - -#: mod/network.php:662 src/Module/Group.php:288 -msgid "Group is empty" -msgstr "" - -#: mod/network.php:666 -#, php-format -msgid "Group: %s" -msgstr "" - -#: mod/network.php:692 -msgid "Private messages to this person are at risk of public disclosure." -msgstr "" - -#: mod/network.php:695 src/Module/AllFriends.php:35 -#: src/Module/AllFriends.php:43 -msgid "Invalid contact." -msgstr "" - -#: mod/network.php:974 -msgid "Commented Order" -msgstr "" - -#: mod/network.php:977 -msgid "Sort by Comment Date" -msgstr "" - -#: mod/network.php:982 -msgid "Posted Order" -msgstr "" - -#: mod/network.php:985 -msgid "Sort by Post Date" -msgstr "" - -#: mod/network.php:995 -msgid "Posts that mention or involve you" -msgstr "" - -#: mod/network.php:1002 -msgid "New" -msgstr "" - -#: mod/network.php:1005 -msgid "Activity Stream - by date" -msgstr "" - -#: mod/network.php:1013 -msgid "Shared Links" -msgstr "" - -#: mod/network.php:1016 -msgid "Interesting Links" -msgstr "" - -#: mod/network.php:1023 -msgid "Starred" -msgstr "" - -#: mod/network.php:1026 -msgid "Favourite Posts" -msgstr "" - -#: mod/notes.php:34 src/Model/Profile.php:975 -msgid "Personal Notes" -msgstr "" - -#: mod/photos.php:113 src/Model/Profile.php:936 -msgid "Photo Albums" -msgstr "" - -#: mod/photos.php:114 mod/photos.php:1639 -msgid "Recent Photos" -msgstr "" - -#: mod/photos.php:116 mod/photos.php:1152 mod/photos.php:1641 -msgid "Upload New Photos" -msgstr "" - -#: mod/photos.php:134 mod/settings.php:60 src/Module/BaseSettingsModule.php:18 -msgid "everybody" -msgstr "" - -#: mod/photos.php:185 -msgid "Contact information unavailable" -msgstr "" - -#: mod/photos.php:207 -msgid "Album not found." -msgstr "" - -#: mod/photos.php:265 -msgid "Album successfully deleted" -msgstr "" - -#: mod/photos.php:267 -msgid "Album was empty." -msgstr "" - -#: mod/photos.php:590 -msgid "a photo" -msgstr "" - -#: mod/photos.php:590 -#, php-format -msgid "%1$s was tagged in %2$s by %3$s" -msgstr "" - -#: mod/photos.php:689 -msgid "Image upload didn't complete, please try again" -msgstr "" - -#: mod/photos.php:692 -msgid "Image file is missing" -msgstr "" - -#: mod/photos.php:697 -msgid "" -"Server can't accept new file upload at this time, please contact your " -"administrator" -msgstr "" - -#: mod/photos.php:723 -msgid "Image file is empty." -msgstr "" - -#: mod/photos.php:855 -msgid "No photos selected" -msgstr "" - -#: mod/photos.php:947 mod/videos.php:210 -msgid "Access to this item is restricted." -msgstr "" - -#: mod/photos.php:1001 -msgid "Upload Photos" -msgstr "" - -#: mod/photos.php:1005 mod/photos.php:1097 -msgid "New album name: " -msgstr "" - -#: mod/photos.php:1006 -msgid "or select existing album:" -msgstr "" - -#: mod/photos.php:1007 -msgid "Do not show a status post for this upload" -msgstr "" - -#: mod/photos.php:1009 mod/photos.php:1383 mod/events.php:555 -#: src/Core/ACL.php:314 -msgid "Permissions" -msgstr "" - -#: mod/photos.php:1023 mod/photos.php:1391 mod/settings.php:1213 -msgid "Show to Groups" -msgstr "" - -#: mod/photos.php:1024 mod/photos.php:1392 mod/settings.php:1214 -msgid "Show to Contacts" -msgstr "" - -#: mod/photos.php:1079 -msgid "Do you really want to delete this photo album and all its photos?" -msgstr "" - -#: mod/photos.php:1081 mod/photos.php:1102 -msgid "Delete Album" -msgstr "" - -#: mod/photos.php:1108 -msgid "Edit Album" -msgstr "" - -#: mod/photos.php:1109 -msgid "Drop Album" -msgstr "" - -#: mod/photos.php:1114 -msgid "Show Newest First" -msgstr "" - -#: mod/photos.php:1116 -msgid "Show Oldest First" -msgstr "" - -#: mod/photos.php:1137 mod/photos.php:1624 -msgid "View Photo" -msgstr "" - -#: mod/photos.php:1174 -msgid "Permission denied. Access to this item may be restricted." -msgstr "" - -#: mod/photos.php:1176 -msgid "Photo not available" -msgstr "" - -#: mod/photos.php:1186 -msgid "Do you really want to delete this photo?" -msgstr "" - -#: mod/photos.php:1188 mod/photos.php:1388 -msgid "Delete Photo" -msgstr "" - -#: mod/photos.php:1279 -msgid "View photo" -msgstr "" - -#: mod/photos.php:1281 -msgid "Edit photo" -msgstr "" - -#: mod/photos.php:1282 -msgid "Delete photo" -msgstr "" - -#: mod/photos.php:1283 -msgid "Use as profile photo" -msgstr "" - -#: mod/photos.php:1290 -msgid "Private Photo" -msgstr "" - -#: mod/photos.php:1296 -msgid "View Full Size" -msgstr "" - -#: mod/photos.php:1356 -msgid "Tags: " -msgstr "" - -#: mod/photos.php:1359 -msgid "[Select tags to remove]" -msgstr "" - -#: mod/photos.php:1374 -msgid "New album name" -msgstr "" - -#: mod/photos.php:1375 -msgid "Caption" -msgstr "" - -#: mod/photos.php:1376 -msgid "Add a Tag" -msgstr "" - -#: mod/photos.php:1376 -msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" -msgstr "" - -#: mod/photos.php:1377 -msgid "Do not rotate" -msgstr "" - -#: mod/photos.php:1378 -msgid "Rotate CW (right)" -msgstr "" - -#: mod/photos.php:1379 -msgid "Rotate CCW (left)" -msgstr "" - -#: mod/photos.php:1413 src/Object/Post.php:313 -msgid "I like this (toggle)" -msgstr "" - -#: mod/photos.php:1414 src/Object/Post.php:314 -msgid "I don't like this (toggle)" -msgstr "" - -#: mod/photos.php:1429 mod/photos.php:1468 mod/photos.php:1528 -#: src/Module/Item/Compose.php:176 src/Module/Contact.php:1002 -#: src/Object/Post.php:876 -msgid "This is you" -msgstr "" - -#: mod/photos.php:1431 mod/photos.php:1470 mod/photos.php:1530 -#: src/Object/Post.php:420 src/Object/Post.php:878 -msgid "Comment" -msgstr "" - -#: mod/photos.php:1559 -msgid "Map" -msgstr "" - -#: mod/photos.php:1630 mod/videos.php:287 -msgid "View Album" -msgstr "" - -#: mod/ping.php:272 -msgid "{0} wants to be your friend" -msgstr "" - -#: mod/ping.php:288 -msgid "{0} requested registration" -msgstr "" - -#: mod/poke.php:177 -msgid "Poke/Prod" -msgstr "" - -#: mod/poke.php:178 -msgid "poke, prod or do other things to somebody" -msgstr "" - -#: mod/poke.php:179 -msgid "Recipient" -msgstr "" - -#: mod/poke.php:180 -msgid "Choose what you wish to do to recipient" -msgstr "" - -#: mod/poke.php:183 -msgid "Make this post private" -msgstr "" - -#: mod/profile_photo.php:58 -msgid "Image uploaded but image cropping failed." -msgstr "" - -#: mod/profile_photo.php:88 mod/profile_photo.php:97 mod/profile_photo.php:106 -#: mod/profile_photo.php:311 -#, php-format -msgid "Image size reduction [%s] failed." -msgstr "" - -#: mod/profile_photo.php:125 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "" - -#: mod/profile_photo.php:133 -msgid "Unable to process image" -msgstr "" - -#: mod/profile_photo.php:244 -msgid "Upload File:" -msgstr "" - -#: mod/profile_photo.php:245 -msgid "Select a profile:" -msgstr "" - -#: mod/profile_photo.php:250 -msgid "or" -msgstr "" - -#: mod/profile_photo.php:251 -msgid "skip this step" -msgstr "" - -#: mod/profile_photo.php:251 -msgid "select a photo from your photo albums" -msgstr "" - -#: mod/profile_photo.php:264 -msgid "Crop Image" -msgstr "" - -#: mod/profile_photo.php:265 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "" - -#: mod/profile_photo.php:267 -msgid "Done Editing" -msgstr "" - -#: mod/profile_photo.php:301 -msgid "Image uploaded successfully." -msgstr "" - -#: mod/search.php:92 -msgid "Only logged in users are permitted to perform a search." -msgstr "" - -#: mod/search.php:114 -msgid "Only one search per minute is permitted for not logged in users." -msgstr "" - -#: mod/search.php:134 src/Content/Text/HTML.php:893 src/Content/Nav.php:200 -msgid "Search" -msgstr "" - -#: mod/search.php:228 -#, php-format -msgid "Items tagged with: %s" -msgstr "" - -#: mod/search.php:230 src/Module/Contact.php:794 -#, php-format -msgid "Results for: %s" -msgstr "" - -#: mod/subthread.php:104 -#, php-format -msgid "%1$s is following %2$s's %3$s" -msgstr "" - -#: mod/suggest.php:28 -msgid "Contact suggestion successfully ignored." -msgstr "" - -#: mod/suggest.php:52 -msgid "" -"No suggestions available. If this is a new site, please try again in 24 " -"hours." -msgstr "" - -#: mod/suggest.php:71 -msgid "Do you really want to delete this suggestion?" -msgstr "" - -#: mod/suggest.php:89 mod/suggest.php:109 -msgid "Ignore/Hide" -msgstr "" - -#: mod/suggest.php:119 view/theme/vier/theme.php:204 src/Content/Widget.php:69 -msgid "Friend Suggestions" -msgstr "" - -#: mod/uexport.php:52 -msgid "Export account" -msgstr "" - -#: mod/uexport.php:52 -msgid "" -"Export your account info and contacts. Use this to make a backup of your " -"account and/or to move it to another server." -msgstr "" - -#: mod/uexport.php:53 -msgid "Export all" -msgstr "" - -#: mod/uexport.php:53 -msgid "" -"Export your accout info, contacts and all your items as json. Could be a " -"very big file, and could take a lot of time. Use this to make a full backup " -"of your account (photos are not exported)" -msgstr "" - -#: mod/uexport.php:59 mod/settings.php:131 src/Module/BaseSettingsModule.php:89 -msgid "Export personal data" -msgstr "" - -#: mod/videos.php:123 -msgid "No videos selected" -msgstr "" - -#: mod/videos.php:280 src/Model/Item.php:3477 -msgid "View Video" -msgstr "" - -#: mod/videos.php:295 -msgid "Recent Videos" -msgstr "" - -#: mod/videos.php:297 -msgid "Upload New Videos" -msgstr "" - -#: mod/display.php:254 mod/display.php:339 -msgid "The requested item doesn't exist or has been deleted." -msgstr "" - -#: mod/display.php:417 -msgid "The feed for this item is unavailable." -msgstr "" - -#: mod/events.php:118 mod/events.php:120 -msgid "Event can not end before it has started." -msgstr "" - -#: mod/events.php:127 mod/events.php:129 -msgid "Event title and start time are required." -msgstr "" - -#: mod/events.php:385 -msgid "Create New Event" -msgstr "" - -#: mod/events.php:508 -msgid "Event details" -msgstr "" - -#: mod/events.php:509 -msgid "Starting date and Title are required." -msgstr "" - -#: mod/events.php:510 mod/events.php:515 -msgid "Event Starts:" -msgstr "" - -#: mod/events.php:523 mod/events.php:548 -msgid "Finish date/time is not known or not relevant" -msgstr "" - -#: mod/events.php:525 mod/events.php:530 -msgid "Event Finishes:" -msgstr "" - -#: mod/events.php:536 mod/events.php:549 -msgid "Adjust for viewer timezone" -msgstr "" - -#: mod/events.php:538 -msgid "Description:" -msgstr "" - -#: mod/events.php:540 mod/notifications.php:272 src/Model/Event.php:68 -#: src/Model/Event.php:95 src/Model/Event.php:437 src/Model/Event.php:933 -#: src/Model/Profile.php:447 src/Module/Directory.php:137 -#: src/Module/Contact.php:607 -msgid "Location:" -msgstr "" - -#: mod/events.php:542 mod/events.php:544 -msgid "Title:" -msgstr "" - -#: mod/events.php:545 mod/events.php:546 -msgid "Share this event" -msgstr "" - -#: mod/events.php:553 src/Model/Profile.php:890 -msgid "Basic" -msgstr "" - -#: mod/events.php:554 src/Model/Profile.php:891 src/Module/Admin/Site.php:573 -#: src/Module/Contact.php:880 -msgid "Advanced" -msgstr "" - -#: mod/events.php:571 -msgid "Failed to remove event" -msgstr "" - -#: mod/events.php:573 -msgid "Event removed" -msgstr "" - -#: mod/item.php:123 -msgid "Unable to locate original post." -msgstr "" - -#: mod/item.php:323 -msgid "Empty post discarded." -msgstr "" - -#: mod/item.php:803 -#, php-format -msgid "" -"This message was sent to you by %s, a member of the Friendica social network." -msgstr "" - -#: mod/item.php:805 -#, php-format -msgid "You may visit them online at %s" -msgstr "" - -#: mod/item.php:806 -msgid "" -"Please contact the sender by replying to this post if you do not wish to " -"receive these messages." -msgstr "" - -#: mod/item.php:810 -#, php-format -msgid "%s posted an update." -msgstr "" - -#: mod/notifications.php:40 -msgid "Invalid request identifier." -msgstr "" - -#: mod/notifications.php:96 src/Content/Nav.php:249 -msgid "Notifications" -msgstr "" - -#: mod/notifications.php:115 -msgid "Network Notifications" -msgstr "" - -#: mod/notifications.php:120 -msgid "System Notifications" -msgstr "" - -#: mod/notifications.php:125 -msgid "Personal Notifications" -msgstr "" - -#: mod/notifications.php:130 -msgid "Home Notifications" -msgstr "" - -#: mod/notifications.php:153 -msgid "Show unread" -msgstr "" - -#: mod/notifications.php:153 -msgid "Show all" -msgstr "" - -#: mod/notifications.php:164 -msgid "Show Ignored Requests" -msgstr "" - -#: mod/notifications.php:164 -msgid "Hide Ignored Requests" -msgstr "" - -#: mod/notifications.php:177 mod/notifications.php:262 -msgid "Notification type:" -msgstr "" - -#: mod/notifications.php:180 -msgid "Suggested by:" -msgstr "" - -#: mod/notifications.php:192 mod/notifications.php:279 -#: src/Module/Contact.php:594 -msgid "Hide this contact from others" -msgstr "" - -#: mod/notifications.php:194 mod/notifications.php:288 -#: src/Model/Contact.php:1238 src/Module/Admin/Users.php:286 -msgid "Approve" -msgstr "" - -#: mod/notifications.php:214 -msgid "Claims to be known to you: " -msgstr "" - -#: mod/notifications.php:215 -msgid "yes" -msgstr "" - -#: mod/notifications.php:215 -msgid "no" -msgstr "" - -#: mod/notifications.php:216 mod/notifications.php:220 -msgid "Shall your connection be bidirectional or not?" -msgstr "" - -#: mod/notifications.php:217 mod/notifications.php:221 -#, php-format -msgid "" -"Accepting %s as a friend allows %s to subscribe to your posts, and you will " -"also receive updates from them in your news feed." -msgstr "" - -#: mod/notifications.php:218 -#, php-format -msgid "" -"Accepting %s as a subscriber allows them to subscribe to your posts, but you " -"will not receive updates from them in your news feed." -msgstr "" - -#: mod/notifications.php:222 -#, php-format -msgid "" -"Accepting %s as a sharer allows them to subscribe to your posts, but you " -"will not receive updates from them in your news feed." -msgstr "" - -#: mod/notifications.php:233 -msgid "Friend" -msgstr "" - -#: mod/notifications.php:234 -msgid "Sharer" -msgstr "" - -#: mod/notifications.php:234 -msgid "Subscriber" -msgstr "" - -#: mod/notifications.php:274 src/Model/Profile.php:453 -#: src/Model/Profile.php:832 src/Module/Directory.php:145 -#: src/Module/Contact.php:611 -msgid "About:" -msgstr "" - -#: mod/notifications.php:278 src/Model/Profile.php:450 -#: src/Model/Profile.php:771 src/Module/Directory.php:142 -msgid "Gender:" -msgstr "" - -#: mod/notifications.php:285 src/Model/Profile.php:558 -#: src/Module/Contact.php:295 -msgid "Network:" -msgstr "" - -#: mod/notifications.php:299 -msgid "No introductions." -msgstr "" - -#: mod/notifications.php:333 -#, php-format -msgid "No more %s notifications." -msgstr "" - -#: mod/openid.php:30 -msgid "OpenID protocol error. No ID returned." -msgstr "" - -#: mod/openid.php:60 -msgid "" -"Account not found and OpenID registration is not permitted on this site." -msgstr "" - -#: mod/openid.php:108 src/Module/Login.php:88 src/Module/Login.php:139 -msgid "Login failed." -msgstr "" - -#: mod/settings.php:65 src/Module/BaseSettingsModule.php:24 +#: mod/settings.php:67 src/Module/BaseSettingsModule.php:24 msgid "Account" msgstr "" -#: mod/settings.php:73 src/Module/BaseSettingsModule.php:31 -#: src/Module/Settings/TwoFactor/Index.php:89 -#: src/Module/TwoFactor/Verify.php:62 +#: mod/settings.php:75 src/Module/Settings/TwoFactor/Index.php:89 +#: src/Module/TwoFactor/Verify.php:62 src/Module/BaseSettingsModule.php:31 msgid "Two-factor authentication" msgstr "" -#: mod/settings.php:80 src/Content/Nav.php:268 src/Model/Profile.php:402 +#: mod/settings.php:82 src/Content/Nav.php:266 src/Model/Profile.php:398 #: src/Module/BaseSettingsModule.php:38 msgid "Profiles" msgstr "" -#: mod/settings.php:88 src/Module/BaseAdminModule.php:84 +#: mod/settings.php:90 src/Module/BaseAdminModule.php:84 #: src/Module/BaseSettingsModule.php:46 msgid "Additional features" msgstr "" -#: mod/settings.php:96 src/Module/BaseSettingsModule.php:54 +#: mod/settings.php:98 src/Module/BaseSettingsModule.php:54 msgid "Display" msgstr "" -#: mod/settings.php:103 mod/settings.php:843 +#: mod/settings.php:105 mod/settings.php:835 #: src/Module/BaseSettingsModule.php:61 msgid "Social Networks" msgstr "" -#: mod/settings.php:110 src/Module/Admin/Addons/Details.php:100 +#: mod/settings.php:112 src/Module/Admin/Addons/Details.php:100 #: src/Module/Admin/Addons/Index.php:51 src/Module/BaseAdminModule.php:82 #: src/Module/BaseSettingsModule.php:68 msgid "Addons" msgstr "" -#: mod/settings.php:117 src/Content/Nav.php:263 -#: src/Module/BaseSettingsModule.php:75 +#: mod/settings.php:119 src/Module/BaseSettingsModule.php:75 msgid "Delegations" msgstr "" -#: mod/settings.php:124 src/Module/BaseSettingsModule.php:82 +#: mod/settings.php:126 src/Module/BaseSettingsModule.php:82 msgid "Connected apps" msgstr "" -#: mod/settings.php:138 src/Module/BaseSettingsModule.php:96 +#: mod/settings.php:133 src/Module/Settings/UserExport.php:52 +#: src/Module/BaseSettingsModule.php:89 +msgid "Export personal data" +msgstr "" + +#: mod/settings.php:140 src/Module/BaseSettingsModule.php:96 msgid "Remove account" msgstr "" -#: mod/settings.php:147 view/theme/frio/theme.php:277 src/Content/Nav.php:265 +#: mod/settings.php:149 view/theme/frio/theme.php:277 src/Content/Nav.php:263 #: src/Module/Admin/Addons/Details.php:102 -#: src/Module/Admin/Themes/Details.php:107 -#: src/Module/BaseSettingsModule.php:105 src/Module/Welcome.php:33 +#: src/Module/Admin/Themes/Details.php:107 src/Module/Welcome.php:33 +#: src/Module/BaseSettingsModule.php:105 msgid "Settings" msgstr "" -#: mod/settings.php:190 +#: mod/settings.php:192 msgid "Missing some important data!" msgstr "" -#: mod/settings.php:192 mod/settings.php:703 src/Module/Contact.php:801 +#: mod/settings.php:194 mod/settings.php:695 src/Module/Contact.php:822 msgid "Update" msgstr "" -#: mod/settings.php:302 +#: mod/settings.php:301 msgid "Failed to connect with email account using the settings provided." msgstr "" -#: mod/settings.php:307 +#: mod/settings.php:306 msgid "Email settings updated." msgstr "" -#: mod/settings.php:323 +#: mod/settings.php:322 msgid "Features updated" msgstr "" -#: mod/settings.php:384 +#: mod/settings.php:383 msgid "The theme you chose isn't available." msgstr "" -#: mod/settings.php:396 -msgid "Relocate message has been send to your contacts" +#: mod/settings.php:399 +msgid "Contact CSV file upload error" msgstr "" -#: mod/settings.php:408 -msgid "Passwords do not match." -msgstr "" - -#: mod/settings.php:416 src/Console/NewPassword.php:101 -msgid "Password update failed. Please try again." -msgstr "" - -#: mod/settings.php:419 src/Console/NewPassword.php:104 -msgid "Password changed." +#: mod/settings.php:413 +msgid "Importing Contacts done" msgstr "" #: mod/settings.php:422 +msgid "Relocate message has been send to your contacts" +msgstr "" + +#: mod/settings.php:434 +msgid "Passwords do not match." +msgstr "" + +#: mod/settings.php:442 src/Console/NewPassword.php:101 +msgid "Password update failed. Please try again." +msgstr "" + +#: mod/settings.php:445 src/Console/NewPassword.php:104 +msgid "Password changed." +msgstr "" + +#: mod/settings.php:448 msgid "Password unchanged." msgstr "" -#: mod/settings.php:503 +#: mod/settings.php:530 msgid " Please use a shorter name." msgstr "" -#: mod/settings.php:506 +#: mod/settings.php:533 msgid " Name too short." msgstr "" -#: mod/settings.php:513 src/Module/Settings/TwoFactor/Index.php:72 +#: mod/settings.php:540 src/Module/Settings/TwoFactor/Index.php:72 msgid "Wrong Password" msgstr "" -#: mod/settings.php:518 +#: mod/settings.php:545 msgid "Invalid email." msgstr "" -#: mod/settings.php:524 +#: mod/settings.php:551 msgid "Cannot change to that email." msgstr "" -#: mod/settings.php:574 +#: mod/settings.php:589 msgid "Private forum has no privacy permissions. Using default privacy group." msgstr "" -#: mod/settings.php:577 +#: mod/settings.php:592 msgid "Private forum has no privacy permissions and no default privacy group." msgstr "" -#: mod/settings.php:617 +#: mod/settings.php:609 msgid "Settings updated." msgstr "" -#: mod/settings.php:676 mod/settings.php:702 mod/settings.php:736 +#: mod/settings.php:668 mod/settings.php:694 mod/settings.php:728 msgid "Add application" msgstr "" -#: mod/settings.php:680 mod/settings.php:706 +#: mod/settings.php:669 mod/settings.php:776 mod/settings.php:866 +#: mod/settings.php:945 mod/settings.php:1170 +#: src/Module/Admin/Addons/Index.php:52 src/Module/Admin/Features.php:69 +#: src/Module/Admin/Logs/Settings.php:65 src/Module/Admin/Themes/Index.php:97 +#: src/Module/Admin/Tos.php:50 src/Module/Admin/Site.php:568 +#: src/Module/Settings/Delegation.php:158 +msgid "Save Settings" +msgstr "" + +#: mod/settings.php:672 mod/settings.php:698 msgid "Consumer Key" msgstr "" -#: mod/settings.php:681 mod/settings.php:707 +#: mod/settings.php:673 mod/settings.php:699 msgid "Consumer Secret" msgstr "" -#: mod/settings.php:682 mod/settings.php:708 +#: mod/settings.php:674 mod/settings.php:700 msgid "Redirect" msgstr "" -#: mod/settings.php:683 mod/settings.php:709 +#: mod/settings.php:675 mod/settings.php:701 msgid "Icon url" msgstr "" -#: mod/settings.php:694 +#: mod/settings.php:686 msgid "You can't edit this application." msgstr "" -#: mod/settings.php:735 +#: mod/settings.php:727 msgid "Connected Apps" msgstr "" -#: mod/settings.php:737 src/Object/Post.php:168 src/Object/Post.php:170 +#: mod/settings.php:729 src/Object/Post.php:165 src/Object/Post.php:167 msgid "Edit" msgstr "" -#: mod/settings.php:739 +#: mod/settings.php:731 msgid "Client key starts with" msgstr "" -#: mod/settings.php:740 +#: mod/settings.php:732 msgid "No name" msgstr "" -#: mod/settings.php:741 +#: mod/settings.php:733 msgid "Remove authorization" msgstr "" -#: mod/settings.php:752 +#: mod/settings.php:744 msgid "No Addon settings configured" msgstr "" -#: mod/settings.php:761 +#: mod/settings.php:753 msgid "Addon Settings" msgstr "" -#: mod/settings.php:775 src/Module/Admin/Features.php:58 +#: mod/settings.php:767 src/Module/Admin/Features.php:58 #: src/Module/Admin/Features.php:59 msgid "Off" msgstr "" -#: mod/settings.php:775 src/Module/Admin/Features.php:58 +#: mod/settings.php:767 src/Module/Admin/Features.php:58 #: src/Module/Admin/Features.php:59 msgid "On" msgstr "" -#: mod/settings.php:782 +#: mod/settings.php:774 msgid "Additional Features" msgstr "" -#: mod/settings.php:806 src/Content/ContactSelector.php:120 +#: mod/settings.php:798 src/Content/ContactSelector.php:120 msgid "Diaspora" msgstr "" -#: mod/settings.php:806 mod/settings.php:807 +#: mod/settings.php:798 mod/settings.php:799 msgid "enabled" msgstr "" -#: mod/settings.php:806 mod/settings.php:807 +#: mod/settings.php:798 mod/settings.php:799 msgid "disabled" msgstr "" -#: mod/settings.php:806 mod/settings.php:807 +#: mod/settings.php:798 mod/settings.php:799 #, php-format msgid "Built-in support for %s connectivity is %s" msgstr "" -#: mod/settings.php:807 +#: mod/settings.php:799 msgid "GNU Social (OStatus)" msgstr "" -#: mod/settings.php:838 +#: mod/settings.php:830 msgid "Email access is disabled on this site." msgstr "" -#: mod/settings.php:848 +#: mod/settings.php:840 msgid "General Social Media Settings" msgstr "" -#: mod/settings.php:849 +#: mod/settings.php:841 msgid "Accept only top level posts by contacts you follow" msgstr "" -#: mod/settings.php:849 +#: mod/settings.php:841 msgid "" "The system does an auto completion of threads when a comment arrives. This " "has got the side effect that you can receive posts that had been started by " @@ -3508,11 +3251,11 @@ msgid "" "posts from people you really do follow." msgstr "" -#: mod/settings.php:850 +#: mod/settings.php:842 msgid "Disable Content Warning" msgstr "" -#: mod/settings.php:850 +#: mod/settings.php:842 msgid "" "Users on networks like Mastodon or Pleroma are able to set a content warning " "field which collapse their post by default. This disables the automatic " @@ -3520,352 +3263,352 @@ msgid "" "any other content filtering you eventually set up." msgstr "" -#: mod/settings.php:851 +#: mod/settings.php:843 msgid "Disable intelligent shortening" msgstr "" -#: mod/settings.php:851 +#: mod/settings.php:843 msgid "" "Normally the system tries to find the best link to add to shortened posts. " "If this option is enabled then every shortened post will always point to the " "original friendica post." msgstr "" -#: mod/settings.php:852 +#: mod/settings.php:844 msgid "Automatically follow any GNU Social (OStatus) followers/mentioners" msgstr "" -#: mod/settings.php:852 +#: mod/settings.php:844 msgid "" "If you receive a message from an unknown OStatus user, this option decides " "what to do. If it is checked, a new contact will be created for every " "unknown user." msgstr "" -#: mod/settings.php:853 +#: mod/settings.php:845 msgid "Default group for OStatus contacts" msgstr "" -#: mod/settings.php:854 +#: mod/settings.php:846 msgid "Your legacy GNU Social account" msgstr "" -#: mod/settings.php:854 +#: mod/settings.php:846 msgid "" "If you enter your old GNU Social/Statusnet account name here (in the format " "user@domain.tld), your contacts will be added automatically. The field will " "be emptied when done." msgstr "" -#: mod/settings.php:857 +#: mod/settings.php:849 msgid "Repair OStatus subscriptions" msgstr "" -#: mod/settings.php:861 +#: mod/settings.php:853 msgid "Email/Mailbox Setup" msgstr "" -#: mod/settings.php:862 +#: mod/settings.php:854 msgid "" "If you wish to communicate with email contacts using this service " "(optional), please specify how to connect to your mailbox." msgstr "" -#: mod/settings.php:863 +#: mod/settings.php:855 msgid "Last successful email check:" msgstr "" -#: mod/settings.php:865 +#: mod/settings.php:857 msgid "IMAP server name:" msgstr "" -#: mod/settings.php:866 +#: mod/settings.php:858 msgid "IMAP port:" msgstr "" -#: mod/settings.php:867 +#: mod/settings.php:859 msgid "Security:" msgstr "" -#: mod/settings.php:867 mod/settings.php:872 +#: mod/settings.php:859 mod/settings.php:864 msgid "None" msgstr "" -#: mod/settings.php:868 +#: mod/settings.php:860 msgid "Email login name:" msgstr "" -#: mod/settings.php:869 +#: mod/settings.php:861 msgid "Email password:" msgstr "" -#: mod/settings.php:870 +#: mod/settings.php:862 msgid "Reply-to address:" msgstr "" -#: mod/settings.php:871 +#: mod/settings.php:863 msgid "Send public posts to all email contacts:" msgstr "" -#: mod/settings.php:872 +#: mod/settings.php:864 msgid "Action after import:" msgstr "" -#: mod/settings.php:872 src/Content/Nav.php:251 +#: mod/settings.php:864 src/Content/Nav.php:251 msgid "Mark as seen" msgstr "" -#: mod/settings.php:872 +#: mod/settings.php:864 msgid "Move to folder" msgstr "" -#: mod/settings.php:873 +#: mod/settings.php:865 msgid "Move to folder:" msgstr "" -#: mod/settings.php:897 src/Module/Admin/Site.php:433 +#: mod/settings.php:889 src/Module/Admin/Site.php:433 msgid "No special theme for mobile devices" msgstr "" -#: mod/settings.php:905 +#: mod/settings.php:897 #, php-format msgid "%s - (Unsupported)" msgstr "" -#: mod/settings.php:907 src/Module/Admin/Site.php:450 +#: mod/settings.php:899 src/Module/Admin/Site.php:450 #, php-format msgid "%s - (Experimental)" msgstr "" -#: mod/settings.php:935 src/Core/L10n/L10n.php:370 src/Model/Event.php:395 +#: mod/settings.php:927 src/Core/L10n/L10n.php:404 src/Model/Event.php:396 msgid "Sunday" msgstr "" -#: mod/settings.php:935 src/Core/L10n/L10n.php:370 src/Model/Event.php:396 +#: mod/settings.php:927 src/Core/L10n/L10n.php:404 src/Model/Event.php:397 msgid "Monday" msgstr "" -#: mod/settings.php:951 +#: mod/settings.php:943 msgid "Display Settings" msgstr "" -#: mod/settings.php:957 +#: mod/settings.php:949 msgid "Display Theme:" msgstr "" -#: mod/settings.php:958 +#: mod/settings.php:950 msgid "Mobile Theme:" msgstr "" -#: mod/settings.php:959 +#: mod/settings.php:951 msgid "Suppress warning of insecure networks" msgstr "" -#: mod/settings.php:959 +#: mod/settings.php:951 msgid "" "Should the system suppress the warning that the current group contains " "members of networks that can't receive non public postings." msgstr "" -#: mod/settings.php:960 +#: mod/settings.php:952 msgid "Update browser every xx seconds" msgstr "" -#: mod/settings.php:960 +#: mod/settings.php:952 msgid "Minimum of 10 seconds. Enter -1 to disable it." msgstr "" -#: mod/settings.php:961 +#: mod/settings.php:953 msgid "Number of items to display per page:" msgstr "" -#: mod/settings.php:961 mod/settings.php:962 +#: mod/settings.php:953 mod/settings.php:954 msgid "Maximum of 100 items" msgstr "" -#: mod/settings.php:962 +#: mod/settings.php:954 msgid "Number of items to display per page when viewed from mobile device:" msgstr "" -#: mod/settings.php:963 +#: mod/settings.php:955 msgid "Don't show emoticons" msgstr "" -#: mod/settings.php:964 +#: mod/settings.php:956 msgid "Calendar" msgstr "" -#: mod/settings.php:965 +#: mod/settings.php:957 msgid "Beginning of week:" msgstr "" -#: mod/settings.php:966 +#: mod/settings.php:958 msgid "Don't show notices" msgstr "" -#: mod/settings.php:967 +#: mod/settings.php:959 msgid "Infinite scroll" msgstr "" -#: mod/settings.php:968 +#: mod/settings.php:960 msgid "Automatic updates only at the top of the network page" msgstr "" -#: mod/settings.php:968 +#: mod/settings.php:960 msgid "" "When disabled, the network page is updated all the time, which could be " "confusing while reading." msgstr "" -#: mod/settings.php:969 +#: mod/settings.php:961 msgid "Bandwidth Saver Mode" msgstr "" -#: mod/settings.php:969 +#: mod/settings.php:961 msgid "" "When enabled, embedded content is not displayed on automatic updates, they " "only show on page reload." msgstr "" -#: mod/settings.php:970 +#: mod/settings.php:962 msgid "Smart Threading" msgstr "" -#: mod/settings.php:970 +#: mod/settings.php:962 msgid "" "When enabled, suppress extraneous thread indentation while keeping it where " "it matters. Only works if threading is available and enabled." msgstr "" -#: mod/settings.php:972 +#: mod/settings.php:964 msgid "General Theme Settings" msgstr "" -#: mod/settings.php:973 +#: mod/settings.php:965 msgid "Custom Theme Settings" msgstr "" -#: mod/settings.php:974 +#: mod/settings.php:966 msgid "Content Settings" msgstr "" -#: mod/settings.php:975 view/theme/duepuntozero/config.php:73 +#: mod/settings.php:967 view/theme/duepuntozero/config.php:73 #: view/theme/frio/config.php:128 view/theme/quattro/config.php:75 -#: view/theme/vier/config.php:121 +#: view/theme/vier/config.php:123 msgid "Theme settings" msgstr "" -#: mod/settings.php:989 +#: mod/settings.php:981 msgid "Unable to find your profile. Please contact your admin." msgstr "" -#: mod/settings.php:1028 +#: mod/settings.php:1020 msgid "Account Types" msgstr "" -#: mod/settings.php:1029 +#: mod/settings.php:1021 msgid "Personal Page Subtypes" msgstr "" -#: mod/settings.php:1030 +#: mod/settings.php:1022 msgid "Community Forum Subtypes" msgstr "" -#: mod/settings.php:1037 src/Module/Admin/Users.php:229 +#: mod/settings.php:1029 src/Module/Admin/Users.php:229 msgid "Personal Page" msgstr "" -#: mod/settings.php:1038 +#: mod/settings.php:1030 msgid "Account for a personal profile." msgstr "" -#: mod/settings.php:1041 src/Module/Admin/Users.php:230 +#: mod/settings.php:1033 src/Module/Admin/Users.php:230 msgid "Organisation Page" msgstr "" -#: mod/settings.php:1042 +#: mod/settings.php:1034 msgid "" "Account for an organisation that automatically approves contact requests as " "\"Followers\"." msgstr "" -#: mod/settings.php:1045 src/Module/Admin/Users.php:231 +#: mod/settings.php:1037 src/Module/Admin/Users.php:231 msgid "News Page" msgstr "" -#: mod/settings.php:1046 +#: mod/settings.php:1038 msgid "" "Account for a news reflector that automatically approves contact requests as " "\"Followers\"." msgstr "" -#: mod/settings.php:1049 src/Module/Admin/Users.php:232 +#: mod/settings.php:1041 src/Module/Admin/Users.php:232 msgid "Community Forum" msgstr "" -#: mod/settings.php:1050 +#: mod/settings.php:1042 msgid "Account for community discussions." msgstr "" -#: mod/settings.php:1053 src/Module/Admin/Users.php:222 +#: mod/settings.php:1045 src/Module/Admin/Users.php:222 msgid "Normal Account Page" msgstr "" -#: mod/settings.php:1054 +#: mod/settings.php:1046 msgid "" "Account for a regular personal profile that requires manual approval of " "\"Friends\" and \"Followers\"." msgstr "" -#: mod/settings.php:1057 src/Module/Admin/Users.php:223 +#: mod/settings.php:1049 src/Module/Admin/Users.php:223 msgid "Soapbox Page" msgstr "" -#: mod/settings.php:1058 +#: mod/settings.php:1050 msgid "" "Account for a public profile that automatically approves contact requests as " "\"Followers\"." msgstr "" -#: mod/settings.php:1061 src/Module/Admin/Users.php:224 +#: mod/settings.php:1053 src/Module/Admin/Users.php:224 msgid "Public Forum" msgstr "" -#: mod/settings.php:1062 +#: mod/settings.php:1054 msgid "Automatically approves all contact requests." msgstr "" -#: mod/settings.php:1065 src/Module/Admin/Users.php:225 +#: mod/settings.php:1057 src/Module/Admin/Users.php:225 msgid "Automatic Friend Page" msgstr "" -#: mod/settings.php:1066 +#: mod/settings.php:1058 msgid "" "Account for a popular profile that automatically approves contact requests " "as \"Friends\"." msgstr "" -#: mod/settings.php:1069 +#: mod/settings.php:1061 msgid "Private Forum [Experimental]" msgstr "" -#: mod/settings.php:1070 +#: mod/settings.php:1062 msgid "Requires manual approval of contact requests." msgstr "" -#: mod/settings.php:1081 +#: mod/settings.php:1073 msgid "OpenID:" msgstr "" -#: mod/settings.php:1081 +#: mod/settings.php:1073 msgid "(Optional) Allow this OpenID to login to this account." msgstr "" -#: mod/settings.php:1089 +#: mod/settings.php:1081 msgid "Publish your default profile in your local site directory?" msgstr "" -#: mod/settings.php:1089 +#: mod/settings.php:1081 #, php-format msgid "" "Your profile will be published in this node's local " @@ -3873,324 +3616,487 @@ msgid "" "system settings." msgstr "" -#: mod/settings.php:1095 +#: mod/settings.php:1087 msgid "Publish your default profile in the global social directory?" msgstr "" -#: mod/settings.php:1095 +#: mod/settings.php:1087 #, php-format msgid "" "Your profile will be published in the global friendica directories (e.g. %s). Your profile will be visible in public." msgstr "" -#: mod/settings.php:1095 +#: mod/settings.php:1087 msgid "" "This setting also determines whether Friendica will inform search engines " "that your profile should be indexed or not. Third-party search engines may " "or may not respect this setting." msgstr "" -#: mod/settings.php:1102 +#: mod/settings.php:1094 msgid "Hide your contact/friend list from viewers of your default profile?" msgstr "" -#: mod/settings.php:1102 +#: mod/settings.php:1094 msgid "" "Your contact list won't be shown in your default profile page. You can " "decide to show your contact list separately for each additional profile you " "create" msgstr "" -#: mod/settings.php:1106 +#: mod/settings.php:1098 msgid "Hide your profile details from anonymous viewers?" msgstr "" -#: mod/settings.php:1106 +#: mod/settings.php:1098 msgid "" "Anonymous visitors will only see your profile picture, your display name and " "the nickname you are using on your profile page. Your public posts and " "replies will still be accessible by other means." msgstr "" -#: mod/settings.php:1110 +#: mod/settings.php:1102 msgid "Allow friends to post to your profile page?" msgstr "" -#: mod/settings.php:1110 +#: mod/settings.php:1102 msgid "" "Your contacts may write posts on your profile wall. These posts will be " "distributed to your contacts" msgstr "" -#: mod/settings.php:1114 +#: mod/settings.php:1106 msgid "Allow friends to tag your posts?" msgstr "" -#: mod/settings.php:1114 +#: mod/settings.php:1106 msgid "Your contacts can add additional tags to your posts." msgstr "" -#: mod/settings.php:1118 +#: mod/settings.php:1110 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "" -#: mod/settings.php:1118 +#: mod/settings.php:1110 msgid "If you like, Friendica may suggest new members to add you as a contact." msgstr "" -#: mod/settings.php:1122 +#: mod/settings.php:1114 msgid "Permit unknown people to send you private mail?" msgstr "" -#: mod/settings.php:1122 +#: mod/settings.php:1114 msgid "" "Friendica network users may send you private messages even if they are not " "in your contact list." msgstr "" -#: mod/settings.php:1126 +#: mod/settings.php:1118 msgid "Profile is not published." msgstr "" -#: mod/settings.php:1132 +#: mod/settings.php:1124 #, php-format msgid "Your Identity Address is '%s' or '%s'." msgstr "" -#: mod/settings.php:1139 +#: mod/settings.php:1131 msgid "Automatically expire posts after this many days:" msgstr "" -#: mod/settings.php:1139 +#: mod/settings.php:1131 msgid "If empty, posts will not expire. Expired posts will be deleted" msgstr "" -#: mod/settings.php:1140 +#: mod/settings.php:1132 msgid "Advanced expiration settings" msgstr "" -#: mod/settings.php:1141 +#: mod/settings.php:1133 msgid "Advanced Expiration" msgstr "" -#: mod/settings.php:1142 +#: mod/settings.php:1134 msgid "Expire posts:" msgstr "" -#: mod/settings.php:1143 +#: mod/settings.php:1135 msgid "Expire personal notes:" msgstr "" -#: mod/settings.php:1144 +#: mod/settings.php:1136 msgid "Expire starred posts:" msgstr "" -#: mod/settings.php:1145 +#: mod/settings.php:1137 msgid "Expire photos:" msgstr "" -#: mod/settings.php:1146 +#: mod/settings.php:1138 msgid "Only expire posts by others:" msgstr "" -#: mod/settings.php:1176 +#: mod/settings.php:1168 msgid "Account Settings" msgstr "" -#: mod/settings.php:1184 +#: mod/settings.php:1176 msgid "Password Settings" msgstr "" -#: mod/settings.php:1185 src/Module/Register.php:130 +#: mod/settings.php:1177 src/Module/Register.php:124 msgid "New Password:" msgstr "" -#: mod/settings.php:1185 +#: mod/settings.php:1177 msgid "" "Allowed characters are a-z, A-Z, 0-9 and special characters except white " "spaces, accentuated letters and colon (:)." msgstr "" -#: mod/settings.php:1186 src/Module/Register.php:131 +#: mod/settings.php:1178 src/Module/Register.php:125 msgid "Confirm:" msgstr "" -#: mod/settings.php:1186 +#: mod/settings.php:1178 msgid "Leave password fields blank unless changing" msgstr "" -#: mod/settings.php:1187 +#: mod/settings.php:1179 msgid "Current Password:" msgstr "" -#: mod/settings.php:1187 mod/settings.php:1188 +#: mod/settings.php:1179 mod/settings.php:1180 msgid "Your current password to confirm the changes" msgstr "" -#: mod/settings.php:1188 +#: mod/settings.php:1180 msgid "Password:" msgstr "" -#: mod/settings.php:1192 +#: mod/settings.php:1183 +msgid "Delete OpenID URL" +msgstr "" + +#: mod/settings.php:1185 msgid "Basic Settings" msgstr "" -#: mod/settings.php:1193 src/Model/Profile.php:764 +#: mod/settings.php:1186 src/Model/Profile.php:760 msgid "Full Name:" msgstr "" -#: mod/settings.php:1194 +#: mod/settings.php:1187 msgid "Email Address:" msgstr "" -#: mod/settings.php:1195 +#: mod/settings.php:1188 msgid "Your Timezone:" msgstr "" -#: mod/settings.php:1196 +#: mod/settings.php:1189 msgid "Your Language:" msgstr "" -#: mod/settings.php:1196 +#: mod/settings.php:1189 msgid "" "Set the language we use to show you friendica interface and to send you " "emails" msgstr "" -#: mod/settings.php:1197 +#: mod/settings.php:1190 msgid "Default Post Location:" msgstr "" -#: mod/settings.php:1198 +#: mod/settings.php:1191 msgid "Use Browser Location:" msgstr "" -#: mod/settings.php:1201 +#: mod/settings.php:1194 msgid "Security and Privacy Settings" msgstr "" -#: mod/settings.php:1203 +#: mod/settings.php:1196 msgid "Maximum Friend Requests/Day:" msgstr "" -#: mod/settings.php:1203 mod/settings.php:1232 +#: mod/settings.php:1196 mod/settings.php:1225 msgid "(to prevent spam abuse)" msgstr "" -#: mod/settings.php:1204 +#: mod/settings.php:1197 msgid "Default Post Permissions" msgstr "" -#: mod/settings.php:1205 +#: mod/settings.php:1198 msgid "(click to open/close)" msgstr "" -#: mod/settings.php:1215 +#: mod/settings.php:1208 msgid "Default Private Post" msgstr "" -#: mod/settings.php:1216 +#: mod/settings.php:1209 msgid "Default Public Post" msgstr "" -#: mod/settings.php:1220 +#: mod/settings.php:1213 msgid "Default Permissions for New Posts" msgstr "" -#: mod/settings.php:1232 +#: mod/settings.php:1225 msgid "Maximum private messages per day from unknown people:" msgstr "" -#: mod/settings.php:1235 +#: mod/settings.php:1228 msgid "Notification Settings" msgstr "" -#: mod/settings.php:1236 +#: mod/settings.php:1229 msgid "Send a notification email when:" msgstr "" -#: mod/settings.php:1237 +#: mod/settings.php:1230 msgid "You receive an introduction" msgstr "" -#: mod/settings.php:1238 +#: mod/settings.php:1231 msgid "Your introductions are confirmed" msgstr "" -#: mod/settings.php:1239 +#: mod/settings.php:1232 msgid "Someone writes on your profile wall" msgstr "" -#: mod/settings.php:1240 +#: mod/settings.php:1233 msgid "Someone writes a followup comment" msgstr "" -#: mod/settings.php:1241 +#: mod/settings.php:1234 msgid "You receive a private message" msgstr "" -#: mod/settings.php:1242 +#: mod/settings.php:1235 msgid "You receive a friend suggestion" msgstr "" -#: mod/settings.php:1243 +#: mod/settings.php:1236 msgid "You are tagged in a post" msgstr "" -#: mod/settings.php:1244 +#: mod/settings.php:1237 msgid "You are poked/prodded/etc. in a post" msgstr "" -#: mod/settings.php:1246 +#: mod/settings.php:1239 msgid "Activate desktop notifications" msgstr "" -#: mod/settings.php:1246 +#: mod/settings.php:1239 msgid "Show desktop popup on new notifications" msgstr "" -#: mod/settings.php:1248 +#: mod/settings.php:1241 msgid "Text-only notification emails" msgstr "" -#: mod/settings.php:1250 +#: mod/settings.php:1243 msgid "Send text only notification emails, without the html part" msgstr "" -#: mod/settings.php:1252 +#: mod/settings.php:1245 msgid "Show detailled notifications" msgstr "" -#: mod/settings.php:1254 +#: mod/settings.php:1247 msgid "" "Per default, notifications are condensed to a single notification per item. " "When enabled every notification is displayed." msgstr "" -#: mod/settings.php:1256 +#: mod/settings.php:1249 msgid "Advanced Account/Page Type Settings" msgstr "" -#: mod/settings.php:1257 +#: mod/settings.php:1250 msgid "Change the behaviour of this account for special situations" msgstr "" -#: mod/settings.php:1260 +#: mod/settings.php:1253 +msgid "Import Contacts" +msgstr "" + +#: mod/settings.php:1254 +msgid "" +"Upload a CSV file that contains the handle of your followed accounts in the " +"first column you exported from the old account." +msgstr "" + +#: mod/settings.php:1255 +msgid "Upload File" +msgstr "" + +#: mod/settings.php:1257 msgid "Relocate" msgstr "" -#: mod/settings.php:1261 +#: mod/settings.php:1258 msgid "" "If you have moved this profile from another server, and some of your " "contacts don't receive your updates, try pushing this button." msgstr "" -#: mod/settings.php:1262 +#: mod/settings.php:1259 msgid "Resend relocate message to contacts" msgstr "" -#: view/theme/duepuntozero/config.php:55 src/Model/User.php:745 +#: mod/subthread.php:107 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "" + +#: mod/tagrm.php:31 +msgid "Tag(s) removed" +msgstr "" + +#: mod/tagrm.php:101 +msgid "Remove Item Tag" +msgstr "" + +#: mod/tagrm.php:103 +msgid "Select a tag to remove: " +msgstr "" + +#: mod/tagrm.php:114 src/Module/Settings/Delegation.php:167 +msgid "Remove" +msgstr "" + +#: mod/uimport.php:30 +msgid "User imports on closed servers can only be done by an administrator." +msgstr "" + +#: mod/uimport.php:39 src/Module/Register.php:60 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "" + +#: mod/uimport.php:46 src/Module/Register.php:135 +msgid "Import" +msgstr "" + +#: mod/uimport.php:48 +msgid "Move account" +msgstr "" + +#: mod/uimport.php:49 +msgid "You can import an account from another Friendica server." +msgstr "" + +#: mod/uimport.php:50 +msgid "" +"You need to export your account from the old server and upload it here. We " +"will recreate your old account here with all your contacts. We will try also " +"to inform your friends that you moved here." +msgstr "" + +#: mod/uimport.php:51 +msgid "" +"This feature is experimental. We can't import contacts from the OStatus " +"network (GNU Social/Statusnet) or from Diaspora" +msgstr "" + +#: mod/uimport.php:52 +msgid "Account file" +msgstr "" + +#: mod/uimport.php:52 +msgid "" +"To export your account, go to \"Settings->Export your personal data\" and " +"select \"Export account\"" +msgstr "" + +#: mod/unfollow.php:36 mod/unfollow.php:92 +msgid "You aren't following this contact." +msgstr "" + +#: mod/unfollow.php:46 mod/unfollow.php:98 +msgid "Unfollowing is currently not supported by your network." +msgstr "" + +#: mod/unfollow.php:67 +msgid "Contact unfollowed" +msgstr "" + +#: mod/unfollow.php:118 +msgid "Disconnect/Unfollow" +msgstr "" + +#: mod/videos.php:120 +msgid "No videos selected" +msgstr "" + +#: mod/videos.php:238 src/Model/Item.php:3514 +msgid "View Video" +msgstr "" + +#: mod/videos.php:253 +msgid "Recent Videos" +msgstr "" + +#: mod/videos.php:255 +msgid "Upload New Videos" +msgstr "" + +#: mod/wall_attach.php:27 mod/wall_attach.php:34 mod/wall_attach.php:72 +#: mod/wall_upload.php:43 mod/wall_upload.php:59 mod/wall_upload.php:104 +#: mod/wall_upload.php:155 mod/wall_upload.php:158 +msgid "Invalid request." +msgstr "" + +#: mod/wall_attach.php:90 +msgid "Sorry, maybe your upload is bigger than the PHP configuration allows" +msgstr "" + +#: mod/wall_attach.php:90 +msgid "Or - did you try to upload an empty file?" +msgstr "" + +#: mod/wall_attach.php:101 +#, php-format +msgid "File exceeds size limit of %s" +msgstr "" + +#: mod/wall_attach.php:116 +msgid "File upload failed." +msgstr "" + +#: mod/wall_upload.php:231 +msgid "Wall Photos" +msgstr "" + +#: mod/wallmessage.php:52 mod/wallmessage.php:115 +#, php-format +msgid "Number of daily wall messages for %s exceeded. Message failed." +msgstr "" + +#: mod/wallmessage.php:63 +msgid "Unable to check your home location." +msgstr "" + +#: mod/wallmessage.php:89 mod/wallmessage.php:98 +msgid "No recipient." +msgstr "" + +#: mod/wallmessage.php:129 +#, php-format +msgid "" +"If you wish for %s to respond, please check that the privacy settings on " +"your site allow private mail from unknown senders." +msgstr "" + +#: view/theme/duepuntozero/config.php:55 src/Model/User.php:790 msgid "default" msgstr "" @@ -4258,6 +4164,78 @@ msgstr "" msgid "Repeat image to fill the screen." msgstr "" +#: view/theme/frio/theme.php:246 +msgid "Guest" +msgstr "" + +#: view/theme/frio/theme.php:251 +msgid "Visitor" +msgstr "" + +#: view/theme/frio/theme.php:267 src/Content/Nav.php:160 +#: src/Model/Profile.php:913 src/Module/Settings/TwoFactor/Index.php:91 +#: src/Module/Contact.php:637 src/Module/Contact.php:852 +msgid "Status" +msgstr "" + +#: view/theme/frio/theme.php:267 src/Content/Nav.php:160 +#: src/Content/Nav.php:244 +msgid "Your posts and conversations" +msgstr "" + +#: view/theme/frio/theme.php:268 src/Content/Nav.php:161 +msgid "Your profile page" +msgstr "" + +#: view/theme/frio/theme.php:269 src/Content/Nav.php:162 +msgid "Your photos" +msgstr "" + +#: view/theme/frio/theme.php:270 src/Content/Nav.php:163 +#: src/Model/Profile.php:937 src/Model/Profile.php:940 +msgid "Videos" +msgstr "" + +#: view/theme/frio/theme.php:270 src/Content/Nav.php:163 +msgid "Your videos" +msgstr "" + +#: view/theme/frio/theme.php:271 src/Content/Nav.php:164 +msgid "Your events" +msgstr "" + +#: view/theme/frio/theme.php:274 src/Content/Nav.php:241 +msgid "Network" +msgstr "" + +#: view/theme/frio/theme.php:274 src/Content/Nav.php:241 +msgid "Conversations from your friends" +msgstr "" + +#: view/theme/frio/theme.php:275 src/Content/Nav.php:228 +#: src/Model/Profile.php:952 src/Model/Profile.php:963 +msgid "Events and Calendar" +msgstr "" + +#: view/theme/frio/theme.php:276 src/Content/Nav.php:254 +msgid "Private mail" +msgstr "" + +#: view/theme/frio/theme.php:277 src/Content/Nav.php:263 +msgid "Account settings" +msgstr "" + +#: view/theme/frio/theme.php:278 src/Content/Text/HTML.php:922 +#: src/Content/Nav.php:205 src/Content/Nav.php:269 src/Model/Profile.php:992 +#: src/Model/Profile.php:995 src/Module/Contact.php:795 +#: src/Module/Contact.php:880 +msgid "Contacts" +msgstr "" + +#: view/theme/frio/theme.php:278 src/Content/Nav.php:269 +msgid "Manage/edit friends and contacts" +msgstr "" + #: view/theme/frio/config.php:111 msgid "Custom" msgstr "" @@ -4334,79 +4312,6 @@ msgstr "" msgid "Leave background image and color empty for theme defaults" msgstr "" -#: view/theme/frio/theme.php:246 -msgid "Guest" -msgstr "" - -#: view/theme/frio/theme.php:251 -msgid "Visitor" -msgstr "" - -#: view/theme/frio/theme.php:267 src/Content/Nav.php:160 -#: src/Model/Profile.php:917 src/Module/Settings/TwoFactor/Index.php:91 -#: src/Module/Contact.php:616 src/Module/Contact.php:831 -msgid "Status" -msgstr "" - -#: view/theme/frio/theme.php:267 src/Content/Nav.php:160 -#: src/Content/Nav.php:244 -msgid "Your posts and conversations" -msgstr "" - -#: view/theme/frio/theme.php:268 src/Content/Nav.php:161 -msgid "Your profile page" -msgstr "" - -#: view/theme/frio/theme.php:269 src/Content/Nav.php:162 -msgid "Your photos" -msgstr "" - -#: view/theme/frio/theme.php:270 src/Content/Nav.php:163 -#: src/Model/Profile.php:941 src/Model/Profile.php:944 -msgid "Videos" -msgstr "" - -#: view/theme/frio/theme.php:270 src/Content/Nav.php:163 -msgid "Your videos" -msgstr "" - -#: view/theme/frio/theme.php:271 src/Content/Nav.php:164 -msgid "Your events" -msgstr "" - -#: view/theme/frio/theme.php:274 src/Core/NotificationsManager.php:151 -#: src/Content/Nav.php:241 -msgid "Network" -msgstr "" - -#: view/theme/frio/theme.php:274 src/Content/Nav.php:241 -msgid "Conversations from your friends" -msgstr "" - -#: view/theme/frio/theme.php:275 src/Content/Nav.php:228 -#: src/Model/Profile.php:956 src/Model/Profile.php:967 -msgid "Events and Calendar" -msgstr "" - -#: view/theme/frio/theme.php:276 src/Content/Nav.php:254 -msgid "Private mail" -msgstr "" - -#: view/theme/frio/theme.php:277 src/Content/Nav.php:265 -msgid "Account settings" -msgstr "" - -#: view/theme/frio/theme.php:278 src/Content/Text/HTML.php:904 -#: src/Content/Nav.php:205 src/Content/Nav.php:271 src/Model/Profile.php:996 -#: src/Model/Profile.php:999 src/Module/Contact.php:774 -#: src/Module/Contact.php:859 -msgid "Contacts" -msgstr "" - -#: view/theme/frio/theme.php:278 src/Content/Nav.php:271 -msgid "Manage/edit friends and contacts" -msgstr "" - #: view/theme/quattro/config.php:76 msgid "Alignment" msgstr "" @@ -4431,296 +4336,296 @@ msgstr "" msgid "Textareas font size" msgstr "" -#: view/theme/vier/config.php:76 +#: view/theme/vier/config.php:78 msgid "Comma separated list of helper forums" msgstr "" -#: view/theme/vier/config.php:116 src/Core/ACL.php:302 +#: view/theme/vier/config.php:118 src/Core/ACL.php:303 msgid "don't show" msgstr "" -#: view/theme/vier/config.php:116 src/Core/ACL.php:301 +#: view/theme/vier/config.php:118 src/Core/ACL.php:302 msgid "show" msgstr "" -#: view/theme/vier/config.php:122 +#: view/theme/vier/config.php:124 msgid "Set style" msgstr "" -#: view/theme/vier/config.php:123 +#: view/theme/vier/config.php:125 msgid "Community Pages" msgstr "" -#: view/theme/vier/config.php:124 view/theme/vier/theme.php:151 +#: view/theme/vier/config.php:126 view/theme/vier/theme.php:128 msgid "Community Profiles" msgstr "" -#: view/theme/vier/config.php:125 +#: view/theme/vier/config.php:127 msgid "Help or @NewHere ?" msgstr "" -#: view/theme/vier/config.php:126 view/theme/vier/theme.php:373 +#: view/theme/vier/config.php:128 view/theme/vier/theme.php:350 msgid "Connect Services" msgstr "" -#: view/theme/vier/config.php:127 +#: view/theme/vier/config.php:129 msgid "Find Friends" msgstr "" -#: view/theme/vier/config.php:128 view/theme/vier/theme.php:181 +#: view/theme/vier/config.php:130 view/theme/vier/theme.php:158 msgid "Last users" msgstr "" -#: view/theme/vier/theme.php:199 src/Content/Widget.php:64 +#: view/theme/vier/theme.php:176 src/Content/Widget.php:65 msgid "Find People" msgstr "" -#: view/theme/vier/theme.php:200 src/Content/Widget.php:65 +#: view/theme/vier/theme.php:177 src/Content/Widget.php:66 msgid "Enter name or interest" msgstr "" -#: view/theme/vier/theme.php:202 src/Content/Widget.php:67 +#: view/theme/vier/theme.php:179 src/Content/Widget.php:68 msgid "Examples: Robert Morgenstein, Fishing" msgstr "" -#: view/theme/vier/theme.php:203 src/Content/Widget.php:68 -#: src/Module/Directory.php:86 src/Module/Contact.php:795 +#: view/theme/vier/theme.php:180 src/Content/Widget.php:69 +#: src/Module/Contact.php:816 src/Module/Directory.php:84 msgid "Find" msgstr "" -#: view/theme/vier/theme.php:205 src/Content/Widget.php:70 +#: view/theme/vier/theme.php:182 src/Content/Widget.php:71 msgid "Similar Interests" msgstr "" -#: view/theme/vier/theme.php:206 src/Content/Widget.php:71 +#: view/theme/vier/theme.php:183 src/Content/Widget.php:72 msgid "Random Profile" msgstr "" -#: view/theme/vier/theme.php:207 src/Content/Widget.php:72 +#: view/theme/vier/theme.php:184 src/Content/Widget.php:73 msgid "Invite Friends" msgstr "" -#: view/theme/vier/theme.php:208 src/Content/Widget.php:73 -#: src/Module/Directory.php:78 +#: view/theme/vier/theme.php:185 src/Content/Widget.php:74 +#: src/Module/Directory.php:76 msgid "Global Directory" msgstr "" -#: view/theme/vier/theme.php:210 src/Content/Widget.php:75 +#: view/theme/vier/theme.php:187 src/Content/Widget.php:76 msgid "Local Directory" msgstr "" -#: view/theme/vier/theme.php:250 src/Content/Text/HTML.php:907 -#: src/Content/Nav.php:209 src/Content/ForumManager.php:130 +#: view/theme/vier/theme.php:227 src/Content/Text/HTML.php:926 +#: src/Content/ForumManager.php:130 src/Content/Nav.php:209 msgid "Forums" msgstr "" -#: view/theme/vier/theme.php:252 src/Content/ForumManager.php:132 +#: view/theme/vier/theme.php:229 src/Content/ForumManager.php:132 msgid "External link to forum" msgstr "" -#: view/theme/vier/theme.php:255 src/Content/Widget.php:407 -#: src/Content/Widget.php:507 src/Content/ForumManager.php:135 +#: view/theme/vier/theme.php:232 src/Content/ForumManager.php:135 +#: src/Content/Widget.php:405 src/Content/Widget.php:505 msgid "show more" msgstr "" -#: view/theme/vier/theme.php:288 +#: view/theme/vier/theme.php:265 msgid "Quick Start" msgstr "" -#: view/theme/vier/theme.php:294 src/Content/Nav.php:192 src/Module/Help.php:50 +#: view/theme/vier/theme.php:271 src/Content/Nav.php:192 src/Module/Help.php:50 #: src/Module/Settings/TwoFactor/AppSpecific.php:99 -#: src/Module/Settings/TwoFactor/Index.php:90 #: src/Module/Settings/TwoFactor/Recovery.php:77 +#: src/Module/Settings/TwoFactor/Index.php:90 #: src/Module/Settings/TwoFactor/Verify.php:117 msgid "Help" msgstr "" -#: src/Core/L10n/L10n.php:370 src/Model/Event.php:397 +#: src/Core/L10n/L10n.php:404 src/Model/Event.php:398 msgid "Tuesday" msgstr "" -#: src/Core/L10n/L10n.php:370 src/Model/Event.php:398 +#: src/Core/L10n/L10n.php:404 src/Model/Event.php:399 msgid "Wednesday" msgstr "" -#: src/Core/L10n/L10n.php:370 src/Model/Event.php:399 +#: src/Core/L10n/L10n.php:404 src/Model/Event.php:400 msgid "Thursday" msgstr "" -#: src/Core/L10n/L10n.php:370 src/Model/Event.php:400 +#: src/Core/L10n/L10n.php:404 src/Model/Event.php:401 msgid "Friday" msgstr "" -#: src/Core/L10n/L10n.php:370 src/Model/Event.php:401 +#: src/Core/L10n/L10n.php:404 src/Model/Event.php:402 msgid "Saturday" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:416 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:417 msgid "January" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:417 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:418 msgid "February" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:418 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:419 msgid "March" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:419 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:420 msgid "April" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Core/L10n/L10n.php:394 -#: src/Model/Event.php:407 +#: src/Core/L10n/L10n.php:408 src/Core/L10n/L10n.php:428 +#: src/Model/Event.php:408 msgid "May" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:420 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:421 msgid "June" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:421 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:422 msgid "July" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:422 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:423 msgid "August" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:423 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:424 msgid "September" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:424 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:425 msgid "October" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:425 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:426 msgid "November" msgstr "" -#: src/Core/L10n/L10n.php:374 src/Model/Event.php:426 +#: src/Core/L10n/L10n.php:408 src/Model/Event.php:427 msgid "December" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:388 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:389 msgid "Mon" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:389 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:390 msgid "Tue" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:390 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:391 msgid "Wed" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:391 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:392 msgid "Thu" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:392 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:393 msgid "Fri" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:393 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:394 msgid "Sat" msgstr "" -#: src/Core/L10n/L10n.php:390 src/Model/Event.php:387 +#: src/Core/L10n/L10n.php:424 src/Model/Event.php:388 msgid "Sun" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:403 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:404 msgid "Jan" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:404 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:405 msgid "Feb" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:405 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:406 msgid "Mar" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:406 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:407 msgid "Apr" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:408 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:409 msgid "Jun" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:409 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:410 msgid "Jul" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:410 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:411 msgid "Aug" msgstr "" -#: src/Core/L10n/L10n.php:394 +#: src/Core/L10n/L10n.php:428 msgid "Sep" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:412 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:413 msgid "Oct" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:413 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:414 msgid "Nov" msgstr "" -#: src/Core/L10n/L10n.php:394 src/Model/Event.php:414 +#: src/Core/L10n/L10n.php:428 src/Model/Event.php:415 msgid "Dec" msgstr "" -#: src/Core/L10n/L10n.php:413 +#: src/Core/L10n/L10n.php:447 msgid "poke" msgstr "" -#: src/Core/L10n/L10n.php:413 +#: src/Core/L10n/L10n.php:447 msgid "poked" msgstr "" -#: src/Core/L10n/L10n.php:414 +#: src/Core/L10n/L10n.php:448 msgid "ping" msgstr "" -#: src/Core/L10n/L10n.php:414 +#: src/Core/L10n/L10n.php:448 msgid "pinged" msgstr "" -#: src/Core/L10n/L10n.php:415 +#: src/Core/L10n/L10n.php:449 msgid "prod" msgstr "" -#: src/Core/L10n/L10n.php:415 +#: src/Core/L10n/L10n.php:449 msgid "prodded" msgstr "" -#: src/Core/L10n/L10n.php:416 +#: src/Core/L10n/L10n.php:450 msgid "slap" msgstr "" -#: src/Core/L10n/L10n.php:416 +#: src/Core/L10n/L10n.php:450 msgid "slapped" msgstr "" -#: src/Core/L10n/L10n.php:417 +#: src/Core/L10n/L10n.php:451 msgid "finger" msgstr "" -#: src/Core/L10n/L10n.php:417 +#: src/Core/L10n/L10n.php:451 msgid "fingered" msgstr "" -#: src/Core/L10n/L10n.php:418 +#: src/Core/L10n/L10n.php:452 msgid "rebuff" msgstr "" -#: src/Core/L10n/L10n.php:418 +#: src/Core/L10n/L10n.php:452 msgid "rebuffed" msgstr "" @@ -4791,6 +4696,31 @@ msgstr[1] "" msgid "Done. You can now login with your username and password" msgstr "" +#: src/Core/ACL.php:289 src/Module/Item/Compose.php:143 +msgid "Post to Email" +msgstr "" + +#: src/Core/ACL.php:301 +msgid "Visible to everybody" +msgstr "" + +#: src/Core/ACL.php:312 +msgid "Connectors" +msgstr "" + +#: src/Core/ACL.php:314 +msgid "Hide your profile details from unknown viewers?" +msgstr "" + +#: src/Core/ACL.php:314 +#, php-format +msgid "Connectors disabled, since \"%s\" is enabled." +msgstr "" + +#: src/Core/ACL.php:316 +msgid "Close" +msgstr "" + #: src/Core/Installer.php:162 msgid "" "The database configuration file \"config/local.config.php\" could not be " @@ -5050,8 +4980,8 @@ msgstr "" msgid "ImageMagick PHP extension is installed" msgstr "" -#: src/Core/Installer.php:582 tests/src/Core/InstallerTest.php:372 -#: tests/src/Core/InstallerTest.php:400 +#: src/Core/Installer.php:582 tests/src/Core/InstallerTest.php:366 +#: tests/src/Core/InstallerTest.php:389 msgid "ImageMagick supports GIF" msgstr "" @@ -5063,240 +4993,166 @@ msgstr "" msgid "Could not connect to database." msgstr "" -#: src/Core/NotificationsManager.php:144 -msgid "System" -msgstr "" - -#: src/Core/NotificationsManager.php:165 src/Content/Nav.php:182 -#: src/Content/Nav.php:244 -msgid "Home" -msgstr "" - -#: src/Core/NotificationsManager.php:172 src/Content/Nav.php:248 -msgid "Introductions" -msgstr "" - -#: src/Core/NotificationsManager.php:234 src/Core/NotificationsManager.php:246 -#, php-format -msgid "%s commented on %s's post" -msgstr "" - -#: src/Core/NotificationsManager.php:245 -#, php-format -msgid "%s created a new post" -msgstr "" - -#: src/Core/NotificationsManager.php:259 -#, php-format -msgid "%s liked %s's post" -msgstr "" - -#: src/Core/NotificationsManager.php:272 -#, php-format -msgid "%s disliked %s's post" -msgstr "" - -#: src/Core/NotificationsManager.php:285 -#, php-format -msgid "%s is attending %s's event" -msgstr "" - -#: src/Core/NotificationsManager.php:298 -#, php-format -msgid "%s is not attending %s's event" -msgstr "" - -#: src/Core/NotificationsManager.php:311 -#, php-format -msgid "%s may attend %s's event" -msgstr "" - -#: src/Core/NotificationsManager.php:344 -#, php-format -msgid "%s is now friends with %s" -msgstr "" - -#: src/Core/NotificationsManager.php:629 -msgid "Friend Suggestion" -msgstr "" - -#: src/Core/NotificationsManager.php:663 -msgid "Friend/Connect Request" -msgstr "" - -#: src/Core/NotificationsManager.php:663 -msgid "New Follower" -msgstr "" - -#: src/Core/Session.php:186 +#: src/Core/Session.php:199 #, php-format msgid "Welcome %s" msgstr "" -#: src/Core/Session.php:187 +#: src/Core/Session.php:200 msgid "Please upload a profile photo." msgstr "" -#: src/Core/Session.php:190 +#: src/Core/Session.php:203 #, php-format msgid "Welcome back %s" msgstr "" -#: src/Core/ACL.php:288 src/Module/Item/Compose.php:139 -msgid "Post to Email" -msgstr "" - -#: src/Core/ACL.php:300 -msgid "Visible to everybody" -msgstr "" - -#: src/Core/ACL.php:311 -msgid "Connectors" -msgstr "" - -#: src/Core/ACL.php:313 -msgid "Hide your profile details from unknown viewers?" -msgstr "" - -#: src/Core/ACL.php:313 -#, php-format -msgid "Connectors disabled, since \"%s\" is enabled." -msgstr "" - -#: src/Core/ACL.php:315 -msgid "Close" -msgstr "" - -#: src/Util/Temporal.php:147 src/Model/Profile.php:784 +#: src/Util/Temporal.php:146 src/Model/Profile.php:780 msgid "Birthday:" msgstr "" -#: src/Util/Temporal.php:151 +#: src/Util/Temporal.php:150 msgid "YYYY-MM-DD or MM-DD" msgstr "" -#: src/Util/Temporal.php:298 +#: src/Util/Temporal.php:297 msgid "never" msgstr "" -#: src/Util/Temporal.php:305 +#: src/Util/Temporal.php:304 msgid "less than a second ago" msgstr "" -#: src/Util/Temporal.php:313 +#: src/Util/Temporal.php:312 msgid "year" msgstr "" -#: src/Util/Temporal.php:313 +#: src/Util/Temporal.php:312 msgid "years" msgstr "" -#: src/Util/Temporal.php:314 +#: src/Util/Temporal.php:313 msgid "months" msgstr "" -#: src/Util/Temporal.php:315 +#: src/Util/Temporal.php:314 msgid "weeks" msgstr "" -#: src/Util/Temporal.php:316 +#: src/Util/Temporal.php:315 msgid "days" msgstr "" -#: src/Util/Temporal.php:317 +#: src/Util/Temporal.php:316 msgid "hour" msgstr "" -#: src/Util/Temporal.php:317 +#: src/Util/Temporal.php:316 msgid "hours" msgstr "" -#: src/Util/Temporal.php:318 +#: src/Util/Temporal.php:317 msgid "minute" msgstr "" -#: src/Util/Temporal.php:318 +#: src/Util/Temporal.php:317 msgid "minutes" msgstr "" -#: src/Util/Temporal.php:319 +#: src/Util/Temporal.php:318 msgid "second" msgstr "" -#: src/Util/Temporal.php:319 +#: src/Util/Temporal.php:318 msgid "seconds" msgstr "" -#: src/Util/Temporal.php:329 +#: src/Util/Temporal.php:328 #, php-format msgid "in %1$d %2$s" msgstr "" -#: src/Util/Temporal.php:332 +#: src/Util/Temporal.php:331 #, php-format msgid "%1$d %2$s ago" msgstr "" -#: src/Content/Text/HTML.php:793 -msgid "Loading more entries..." -msgstr "" - -#: src/Content/Text/HTML.php:794 -msgid "The end" -msgstr "" - -#: src/Content/Text/HTML.php:887 src/Model/Profile.php:544 -#: src/Module/Contact.php:297 -msgid "Follow" -msgstr "" - -#: src/Content/Text/HTML.php:896 src/Content/Nav.php:79 -msgid "@name, !forum, #tags, content" -msgstr "" - -#: src/Content/Text/HTML.php:902 src/Content/Nav.php:203 -msgid "Full Text" -msgstr "" - -#: src/Content/Text/HTML.php:903 src/Content/Widget/TagCloud.php:54 -#: src/Content/Nav.php:204 -msgid "Tags" -msgstr "" - -#: src/Content/Text/HTML.php:944 src/Content/Text/BBCode.php:1478 -msgid "Click to open/close" -msgstr "" - -#: src/Content/Text/BBCode.php:465 +#: src/Content/Text/BBCode.php:467 msgid "view full size" msgstr "" -#: src/Content/Text/BBCode.php:899 src/Content/Text/BBCode.php:1560 -#: src/Content/Text/BBCode.php:1561 +#: src/Content/Text/BBCode.php:913 src/Content/Text/BBCode.php:1579 +#: src/Content/Text/BBCode.php:1580 msgid "Image/photo" msgstr "" -#: src/Content/Text/BBCode.php:1017 +#: src/Content/Text/BBCode.php:1031 #, php-format msgid "%2$s %3$s" msgstr "" -#: src/Content/Text/BBCode.php:1509 +#: src/Content/Text/BBCode.php:1497 src/Content/Text/HTML.php:963 +msgid "Click to open/close" +msgstr "" + +#: src/Content/Text/BBCode.php:1528 msgid "$1 wrote:" msgstr "" -#: src/Content/Text/BBCode.php:1563 src/Content/Text/BBCode.php:1564 +#: src/Content/Text/BBCode.php:1582 src/Content/Text/BBCode.php:1583 msgid "Encrypted content" msgstr "" -#: src/Content/Text/BBCode.php:1788 +#: src/Content/Text/BBCode.php:1805 msgid "Invalid source protocol" msgstr "" -#: src/Content/Text/BBCode.php:1803 +#: src/Content/Text/BBCode.php:1820 msgid "Invalid link protocol" msgstr "" +#: src/Content/Text/HTML.php:811 +msgid "Loading more entries..." +msgstr "" + +#: src/Content/Text/HTML.php:812 +msgid "The end" +msgstr "" + +#: src/Content/Text/HTML.php:905 src/Model/Profile.php:540 +#: src/Module/Contact.php:318 +msgid "Follow" +msgstr "" + +#: src/Content/Text/HTML.php:911 src/Content/Nav.php:200 +#: src/Module/Search/Index.php:80 +msgid "Search" +msgstr "" + +#: src/Content/Text/HTML.php:913 src/Content/Nav.php:79 +msgid "@name, !forum, #tags, content" +msgstr "" + +#: src/Content/Text/HTML.php:920 src/Content/Nav.php:203 +msgid "Full Text" +msgstr "" + +#: src/Content/Text/HTML.php:921 src/Content/Widget/TagCloud.php:54 +#: src/Content/Nav.php:204 +msgid "Tags" +msgstr "" + +#: src/Content/Widget/TrendingTags.php:34 +#, php-format +msgid "Trending Tags (last %d hour)" +msgid_plural "Trending Tags (last %d hours)" +msgstr[0] "" +msgstr[1] "" + +#: src/Content/Widget/TrendingTags.php:35 +msgid "More Trending Tags" +msgstr "" + #: src/Content/Widget/CalendarExport.php:64 msgid "Export" msgstr "" @@ -5324,31 +5180,12 @@ msgstr[1] "" msgid "View Contacts" msgstr "" -#: src/Content/Widget/TrendingTags.php:34 -#, php-format -msgid "Trending Tags (last %d hour)" -msgid_plural "Trending Tags (last %d hours)" -msgstr[0] "" -msgstr[1] "" - -#: src/Content/Widget/TrendingTags.php:35 -msgid "More Trending Tags" +#: src/Content/Widget/SavedSearches.php:29 +msgid "Remove term" msgstr "" -#: src/Content/Pager.php:153 -msgid "newer" -msgstr "" - -#: src/Content/Pager.php:158 -msgid "older" -msgstr "" - -#: src/Content/Pager.php:203 -msgid "prev" -msgstr "" - -#: src/Content/Pager.php:263 -msgid "last" +#: src/Content/Widget/SavedSearches.php:37 +msgid "Saved Searches" msgstr "" #: src/Content/Feature.php:82 @@ -5418,7 +5255,7 @@ msgstr "" msgid "Network Sidebar" msgstr "" -#: src/Content/Feature.php:100 src/Content/Widget.php:501 +#: src/Content/Feature.php:100 src/Content/Widget.php:499 msgid "Archives" msgstr "" @@ -5494,156 +5331,6 @@ msgstr "" msgid "Display membership date in profile" msgstr "" -#: src/Content/Nav.php:74 -msgid "Nothing new here" -msgstr "" - -#: src/Content/Nav.php:78 -msgid "Clear notifications" -msgstr "" - -#: src/Content/Nav.php:153 src/Module/Login.php:315 -msgid "Logout" -msgstr "" - -#: src/Content/Nav.php:153 -msgid "End this session" -msgstr "" - -#: src/Content/Nav.php:155 src/Module/Login.php:316 -#: src/Module/Bookmarklet.php:25 -msgid "Login" -msgstr "" - -#: src/Content/Nav.php:155 -msgid "Sign in" -msgstr "" - -#: src/Content/Nav.php:165 -msgid "Personal notes" -msgstr "" - -#: src/Content/Nav.php:165 -msgid "Your personal notes" -msgstr "" - -#: src/Content/Nav.php:182 -msgid "Home Page" -msgstr "" - -#: src/Content/Nav.php:186 src/Module/Login.php:287 src/Module/Register.php:136 -msgid "Register" -msgstr "" - -#: src/Content/Nav.php:186 -msgid "Create an account" -msgstr "" - -#: src/Content/Nav.php:192 -msgid "Help and documentation" -msgstr "" - -#: src/Content/Nav.php:196 -msgid "Apps" -msgstr "" - -#: src/Content/Nav.php:196 -msgid "Addon applications, utilities, games" -msgstr "" - -#: src/Content/Nav.php:200 -msgid "Search site content" -msgstr "" - -#: src/Content/Nav.php:224 -msgid "Community" -msgstr "" - -#: src/Content/Nav.php:224 -msgid "Conversations on this and other servers" -msgstr "" - -#: src/Content/Nav.php:231 -msgid "Directory" -msgstr "" - -#: src/Content/Nav.php:231 -msgid "People directory" -msgstr "" - -#: src/Content/Nav.php:233 src/Module/BaseAdminModule.php:75 -msgid "Information" -msgstr "" - -#: src/Content/Nav.php:233 -msgid "Information about this friendica instance" -msgstr "" - -#: src/Content/Nav.php:236 src/Module/Tos.php:73 src/Module/Admin/Tos.php:43 -#: src/Module/BaseAdminModule.php:85 src/Module/Register.php:144 -msgid "Terms of Service" -msgstr "" - -#: src/Content/Nav.php:236 -msgid "Terms of Service of this Friendica instance" -msgstr "" - -#: src/Content/Nav.php:242 -msgid "Network Reset" -msgstr "" - -#: src/Content/Nav.php:242 -msgid "Load Network page with no filters" -msgstr "" - -#: src/Content/Nav.php:248 -msgid "Friend Requests" -msgstr "" - -#: src/Content/Nav.php:250 -msgid "See all notifications" -msgstr "" - -#: src/Content/Nav.php:251 -msgid "Mark all system notifications seen" -msgstr "" - -#: src/Content/Nav.php:255 -msgid "Inbox" -msgstr "" - -#: src/Content/Nav.php:256 -msgid "Outbox" -msgstr "" - -#: src/Content/Nav.php:260 -msgid "Manage" -msgstr "" - -#: src/Content/Nav.php:260 -msgid "Manage other pages" -msgstr "" - -#: src/Content/Nav.php:268 -msgid "Manage/Edit Profiles" -msgstr "" - -#: src/Content/Nav.php:276 src/Module/BaseAdminModule.php:114 -msgid "Admin" -msgstr "" - -#: src/Content/Nav.php:276 -msgid "Site setup and configuration" -msgstr "" - -#: src/Content/Nav.php:279 -msgid "Navigation" -msgstr "" - -#: src/Content/Nav.php:279 -msgid "Site map" -msgstr "" - #: src/Content/OEmbed.php:254 msgid "Embedding disabled" msgstr "" @@ -5652,71 +5339,6 @@ msgstr "" msgid "Embedded content" msgstr "" -#: src/Content/Widget.php:38 -msgid "Add New Contact" -msgstr "" - -#: src/Content/Widget.php:39 -msgid "Enter address or web location" -msgstr "" - -#: src/Content/Widget.php:40 -msgid "Example: bob@example.com, http://example.com/barbara" -msgstr "" - -#: src/Content/Widget.php:58 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "" -msgstr[1] "" - -#: src/Content/Widget.php:193 src/Module/Profile/Contacts.php:127 -#: src/Module/Contact.php:772 -msgid "Following" -msgstr "" - -#: src/Content/Widget.php:194 src/Module/Profile/Contacts.php:128 -#: src/Module/Contact.php:773 -msgid "Mutual friends" -msgstr "" - -#: src/Content/Widget.php:199 -msgid "Relationships" -msgstr "" - -#: src/Content/Widget.php:201 src/Module/Group.php:287 -#: src/Module/Contact.php:660 -msgid "All Contacts" -msgstr "" - -#: src/Content/Widget.php:244 -msgid "Protocols" -msgstr "" - -#: src/Content/Widget.php:246 -msgid "All Protocols" -msgstr "" - -#: src/Content/Widget.php:279 -msgid "Saved Folders" -msgstr "" - -#: src/Content/Widget.php:281 src/Content/Widget.php:320 -msgid "Everything" -msgstr "" - -#: src/Content/Widget.php:318 -msgid "Categories" -msgstr "" - -#: src/Content/Widget.php:402 -#, php-format -msgid "%d contact in common" -msgid_plural "%d contacts in common" -msgstr[0] "" -msgstr[1] "" - #: src/Content/ContactSelector.php:58 msgid "Frequently" msgstr "" @@ -5944,7 +5566,7 @@ msgstr "" msgid "Sex Addict" msgstr "" -#: src/Content/ContactSelector.php:316 src/Model/User.php:762 +#: src/Content/ContactSelector.php:316 src/Model/User.php:807 msgid "Friends" msgstr "" @@ -6032,6 +5654,246 @@ msgstr "" msgid "Ask me" msgstr "" +#: src/Content/Nav.php:74 +msgid "Nothing new here" +msgstr "" + +#: src/Content/Nav.php:78 +msgid "Clear notifications" +msgstr "" + +#: src/Content/Nav.php:153 src/Module/Login.php:352 +msgid "Logout" +msgstr "" + +#: src/Content/Nav.php:153 +msgid "End this session" +msgstr "" + +#: src/Content/Nav.php:155 src/Module/Bookmarklet.php:25 +#: src/Module/Login.php:353 +msgid "Login" +msgstr "" + +#: src/Content/Nav.php:155 +msgid "Sign in" +msgstr "" + +#: src/Content/Nav.php:165 +msgid "Personal notes" +msgstr "" + +#: src/Content/Nav.php:165 +msgid "Your personal notes" +msgstr "" + +#: src/Content/Nav.php:182 src/Content/Nav.php:244 +msgid "Home" +msgstr "" + +#: src/Content/Nav.php:182 +msgid "Home Page" +msgstr "" + +#: src/Content/Nav.php:186 src/Module/Login.php:313 src/Module/Register.php:130 +msgid "Register" +msgstr "" + +#: src/Content/Nav.php:186 +msgid "Create an account" +msgstr "" + +#: src/Content/Nav.php:192 +msgid "Help and documentation" +msgstr "" + +#: src/Content/Nav.php:196 +msgid "Apps" +msgstr "" + +#: src/Content/Nav.php:196 +msgid "Addon applications, utilities, games" +msgstr "" + +#: src/Content/Nav.php:200 +msgid "Search site content" +msgstr "" + +#: src/Content/Nav.php:224 +msgid "Community" +msgstr "" + +#: src/Content/Nav.php:224 +msgid "Conversations on this and other servers" +msgstr "" + +#: src/Content/Nav.php:231 +msgid "Directory" +msgstr "" + +#: src/Content/Nav.php:231 +msgid "People directory" +msgstr "" + +#: src/Content/Nav.php:233 src/Module/BaseAdminModule.php:75 +msgid "Information" +msgstr "" + +#: src/Content/Nav.php:233 +msgid "Information about this friendica instance" +msgstr "" + +#: src/Content/Nav.php:236 src/Module/Admin/Tos.php:43 +#: src/Module/BaseAdminModule.php:85 src/Module/Register.php:138 +#: src/Module/Tos.php:73 +msgid "Terms of Service" +msgstr "" + +#: src/Content/Nav.php:236 +msgid "Terms of Service of this Friendica instance" +msgstr "" + +#: src/Content/Nav.php:242 +msgid "Network Reset" +msgstr "" + +#: src/Content/Nav.php:242 +msgid "Load Network page with no filters" +msgstr "" + +#: src/Content/Nav.php:248 +msgid "Introductions" +msgstr "" + +#: src/Content/Nav.php:248 +msgid "Friend Requests" +msgstr "" + +#: src/Content/Nav.php:250 +msgid "See all notifications" +msgstr "" + +#: src/Content/Nav.php:251 +msgid "Mark all system notifications seen" +msgstr "" + +#: src/Content/Nav.php:255 +msgid "Inbox" +msgstr "" + +#: src/Content/Nav.php:256 +msgid "Outbox" +msgstr "" + +#: src/Content/Nav.php:260 +msgid "Delegation" +msgstr "" + +#: src/Content/Nav.php:260 +msgid "Manage other pages" +msgstr "" + +#: src/Content/Nav.php:266 +msgid "Manage/Edit Profiles" +msgstr "" + +#: src/Content/Nav.php:274 src/Module/BaseAdminModule.php:114 +msgid "Admin" +msgstr "" + +#: src/Content/Nav.php:274 +msgid "Site setup and configuration" +msgstr "" + +#: src/Content/Nav.php:277 +msgid "Navigation" +msgstr "" + +#: src/Content/Nav.php:277 +msgid "Site map" +msgstr "" + +#: src/Content/Pager.php:153 +msgid "newer" +msgstr "" + +#: src/Content/Pager.php:158 +msgid "older" +msgstr "" + +#: src/Content/Pager.php:203 +msgid "prev" +msgstr "" + +#: src/Content/Pager.php:263 +msgid "last" +msgstr "" + +#: src/Content/Widget.php:39 +msgid "Add New Contact" +msgstr "" + +#: src/Content/Widget.php:40 +msgid "Enter address or web location" +msgstr "" + +#: src/Content/Widget.php:41 +msgid "Example: bob@example.com, http://example.com/barbara" +msgstr "" + +#: src/Content/Widget.php:59 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "" +msgstr[1] "" + +#: src/Content/Widget.php:194 src/Module/Profile/Contacts.php:127 +#: src/Module/Contact.php:793 +msgid "Following" +msgstr "" + +#: src/Content/Widget.php:195 src/Module/Profile/Contacts.php:128 +#: src/Module/Contact.php:794 +msgid "Mutual friends" +msgstr "" + +#: src/Content/Widget.php:200 +msgid "Relationships" +msgstr "" + +#: src/Content/Widget.php:202 src/Module/Group.php:287 +#: src/Module/Contact.php:681 +msgid "All Contacts" +msgstr "" + +#: src/Content/Widget.php:245 +msgid "Protocols" +msgstr "" + +#: src/Content/Widget.php:247 +msgid "All Protocols" +msgstr "" + +#: src/Content/Widget.php:284 +msgid "Saved Folders" +msgstr "" + +#: src/Content/Widget.php:286 src/Content/Widget.php:325 +msgid "Everything" +msgstr "" + +#: src/Content/Widget.php:323 +msgid "Categories" +msgstr "" + +#: src/Content/Widget.php:400 +#, php-format +msgid "%d contact in common" +msgid_plural "%d contacts in common" +msgstr[0] "" +msgstr[1] "" + #: src/Database/DBStructure.php:50 msgid "There are no tables on MyISAM." msgstr "" @@ -6058,6 +5920,15 @@ msgstr "" msgid "%s: updating %s table." msgstr "" +#: src/Model/Storage/Database.php:36 +#, php-format +msgid "Database storage failed to update %s" +msgstr "" + +#: src/Model/Storage/Database.php:43 +msgid "Database storage failed to insert data" +msgstr "" + #: src/Model/Storage/Filesystem.php:63 #, php-format msgid "" @@ -6085,220 +5956,568 @@ msgstr "" msgid "Enter a valid existing folder" msgstr "" -#: src/Model/Storage/Database.php:36 -#, php-format -msgid "Database storage failed to update %s" -msgstr "" - -#: src/Model/Storage/Database.php:43 -msgid "Database storage failed to insert data" -msgstr "" - -#: src/Model/Event.php:34 src/Model/Event.php:847 -#: src/Module/Debug/Localtime.php:17 -msgid "l F d, Y \\@ g:i A" -msgstr "" - -#: src/Model/Event.php:61 src/Model/Event.php:78 src/Model/Event.php:435 -#: src/Model/Event.php:915 -msgid "Starts:" -msgstr "" - -#: src/Model/Event.php:64 src/Model/Event.php:84 src/Model/Event.php:436 -#: src/Model/Event.php:919 -msgid "Finishes:" -msgstr "" - -#: src/Model/Event.php:385 -msgid "all-day" -msgstr "" - -#: src/Model/Event.php:411 -msgid "Sept" -msgstr "" - -#: src/Model/Event.php:433 -msgid "No events to display" -msgstr "" - -#: src/Model/Event.php:561 -msgid "l, F j" -msgstr "" - -#: src/Model/Event.php:592 -msgid "Edit event" -msgstr "" - -#: src/Model/Event.php:593 -msgid "Duplicate event" -msgstr "" - -#: src/Model/Event.php:594 -msgid "Delete event" -msgstr "" - -#: src/Model/Event.php:626 src/Model/Item.php:3547 src/Model/Item.php:3554 -msgid "link to source" -msgstr "" - -#: src/Model/Event.php:848 -msgid "D g:i A" -msgstr "" - -#: src/Model/Event.php:849 -msgid "g:i A" -msgstr "" - -#: src/Model/Event.php:934 src/Model/Event.php:936 -msgid "Show map" -msgstr "" - -#: src/Model/Event.php:935 -msgid "Hide map" -msgstr "" - -#: src/Model/Event.php:1027 -#, php-format -msgid "%s's birthday" -msgstr "" - -#: src/Model/Event.php:1028 -#, php-format -msgid "Happy Birthday %s" -msgstr "" - #: src/Model/FileTag.php:265 msgid "Item filed" msgstr "" -#: src/Model/User.php:331 +#: src/Model/Contact.php:1251 src/Model/Contact.php:1264 +msgid "UnFollow" +msgstr "" + +#: src/Model/Contact.php:1260 +msgid "Drop Contact" +msgstr "" + +#: src/Model/Contact.php:1814 +msgid "Organisation" +msgstr "" + +#: src/Model/Contact.php:1818 +msgid "News" +msgstr "" + +#: src/Model/Contact.php:1822 +msgid "Forum" +msgstr "" + +#: src/Model/Contact.php:2222 +msgid "Connect URL missing." +msgstr "" + +#: src/Model/Contact.php:2231 +msgid "" +"The contact could not be added. Please check the relevant network " +"credentials in your Settings -> Social Networks page." +msgstr "" + +#: src/Model/Contact.php:2272 +msgid "" +"This site is not configured to allow communications with other networks." +msgstr "" + +#: src/Model/Contact.php:2273 src/Model/Contact.php:2286 +msgid "No compatible communication protocols or feeds were discovered." +msgstr "" + +#: src/Model/Contact.php:2284 +msgid "The profile address specified does not provide adequate information." +msgstr "" + +#: src/Model/Contact.php:2289 +msgid "An author or name was not found." +msgstr "" + +#: src/Model/Contact.php:2292 +msgid "No browser URL could be matched to this address." +msgstr "" + +#: src/Model/Contact.php:2295 +msgid "" +"Unable to match @-style Identity Address with a known protocol or email " +"contact." +msgstr "" + +#: src/Model/Contact.php:2296 +msgid "Use mailto: in front of address to force email check." +msgstr "" + +#: src/Model/Contact.php:2302 +msgid "" +"The profile address specified belongs to a network which has been disabled " +"on this site." +msgstr "" + +#: src/Model/Contact.php:2307 +msgid "" +"Limited profile. This person will be unable to receive direct/personal " +"notifications from you." +msgstr "" + +#: src/Model/Contact.php:2368 +msgid "Unable to retrieve contact information." +msgstr "" + +#: src/Model/Event.php:35 src/Model/Event.php:848 +#: src/Module/Debug/Localtime.php:17 +msgid "l F d, Y \\@ g:i A" +msgstr "" + +#: src/Model/Event.php:62 src/Model/Event.php:79 src/Model/Event.php:436 +#: src/Model/Event.php:916 +msgid "Starts:" +msgstr "" + +#: src/Model/Event.php:65 src/Model/Event.php:85 src/Model/Event.php:437 +#: src/Model/Event.php:920 +msgid "Finishes:" +msgstr "" + +#: src/Model/Event.php:386 +msgid "all-day" +msgstr "" + +#: src/Model/Event.php:412 +msgid "Sept" +msgstr "" + +#: src/Model/Event.php:434 +msgid "No events to display" +msgstr "" + +#: src/Model/Event.php:562 +msgid "l, F j" +msgstr "" + +#: src/Model/Event.php:593 +msgid "Edit event" +msgstr "" + +#: src/Model/Event.php:594 +msgid "Duplicate event" +msgstr "" + +#: src/Model/Event.php:595 +msgid "Delete event" +msgstr "" + +#: src/Model/Event.php:627 src/Model/Item.php:3584 src/Model/Item.php:3591 +msgid "link to source" +msgstr "" + +#: src/Model/Event.php:849 +msgid "D g:i A" +msgstr "" + +#: src/Model/Event.php:850 +msgid "g:i A" +msgstr "" + +#: src/Model/Event.php:935 src/Model/Event.php:937 +msgid "Show map" +msgstr "" + +#: src/Model/Event.php:936 +msgid "Hide map" +msgstr "" + +#: src/Model/Event.php:1028 +#, php-format +msgid "%s's birthday" +msgstr "" + +#: src/Model/Event.php:1029 +#, php-format +msgid "Happy Birthday %s" +msgstr "" + +#: src/Model/Group.php:77 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"may apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." +msgstr "" + +#: src/Model/Group.php:407 +msgid "Default privacy group for new contacts" +msgstr "" + +#: src/Model/Group.php:439 +msgid "Everybody" +msgstr "" + +#: src/Model/Group.php:458 +msgid "edit" +msgstr "" + +#: src/Model/Group.php:483 +msgid "add" +msgstr "" + +#: src/Model/Group.php:484 src/Module/Welcome.php:57 src/Module/Contact.php:729 +msgid "Groups" +msgstr "" + +#: src/Model/Group.php:488 +msgid "Edit group" +msgstr "" + +#: src/Model/Group.php:489 src/Module/Group.php:186 +msgid "Contacts not in any group" +msgstr "" + +#: src/Model/Group.php:491 +msgid "Create a new group" +msgstr "" + +#: src/Model/Group.php:492 src/Module/Group.php:171 src/Module/Group.php:194 +#: src/Module/Group.php:271 +msgid "Group Name: " +msgstr "" + +#: src/Model/Group.php:493 +msgid "Edit groups" +msgstr "" + +#: src/Model/Item.php:3326 +msgid "activity" +msgstr "" + +#: src/Model/Item.php:3328 src/Object/Post.php:474 +msgid "comment" +msgid_plural "comments" +msgstr[0] "" +msgstr[1] "" + +#: src/Model/Item.php:3331 +msgid "post" +msgstr "" + +#: src/Model/Item.php:3454 +#, php-format +msgid "Content warning: %s" +msgstr "" + +#: src/Model/Item.php:3531 +msgid "bytes" +msgstr "" + +#: src/Model/Item.php:3578 +msgid "View on separate page" +msgstr "" + +#: src/Model/Item.php:3579 +msgid "view on separate page" +msgstr "" + +#: src/Model/Mail.php:114 src/Model/Mail.php:251 +msgid "[no subject]" +msgstr "" + +#: src/Model/Notify.php:275 src/Model/Notify.php:287 +#, php-format +msgid "%s commented on %s's post" +msgstr "" + +#: src/Model/Notify.php:286 +#, php-format +msgid "%s created a new post" +msgstr "" + +#: src/Model/Notify.php:300 +#, php-format +msgid "%s liked %s's post" +msgstr "" + +#: src/Model/Notify.php:313 +#, php-format +msgid "%s disliked %s's post" +msgstr "" + +#: src/Model/Notify.php:326 +#, php-format +msgid "%s is attending %s's event" +msgstr "" + +#: src/Model/Notify.php:339 +#, php-format +msgid "%s is not attending %s's event" +msgstr "" + +#: src/Model/Notify.php:352 +#, php-format +msgid "%s may attend %s's event" +msgstr "" + +#: src/Model/Notify.php:385 +#, php-format +msgid "%s is now friends with %s" +msgstr "" + +#: src/Model/Notify.php:678 +msgid "Friend Suggestion" +msgstr "" + +#: src/Model/Notify.php:712 +msgid "Friend/Connect Request" +msgstr "" + +#: src/Model/Notify.php:712 +msgid "New Follower" +msgstr "" + +#: src/Model/Profile.php:213 src/Model/Profile.php:424 +#: src/Model/Profile.php:881 +msgid "Edit profile" +msgstr "" + +#: src/Model/Profile.php:398 +msgid "Manage/edit profiles" +msgstr "" + +#: src/Model/Profile.php:447 src/Model/Profile.php:791 +#: src/Module/Directory.php:141 +msgid "Status:" +msgstr "" + +#: src/Model/Profile.php:448 src/Model/Profile.php:808 +#: src/Module/Directory.php:142 +msgid "Homepage:" +msgstr "" + +#: src/Model/Profile.php:450 src/Module/Contact.php:630 +msgid "XMPP:" +msgstr "" + +#: src/Model/Profile.php:542 src/Module/Contact.php:320 +msgid "Unfollow" +msgstr "" + +#: src/Model/Profile.php:544 +msgid "Atom feed" +msgstr "" + +#: src/Model/Profile.php:584 src/Model/Profile.php:681 +msgid "g A l F d" +msgstr "" + +#: src/Model/Profile.php:585 +msgid "F d" +msgstr "" + +#: src/Model/Profile.php:647 src/Model/Profile.php:732 +msgid "[today]" +msgstr "" + +#: src/Model/Profile.php:657 +msgid "Birthday Reminders" +msgstr "" + +#: src/Model/Profile.php:658 +msgid "Birthdays this week:" +msgstr "" + +#: src/Model/Profile.php:719 +msgid "[No description]" +msgstr "" + +#: src/Model/Profile.php:745 +msgid "Event Reminders" +msgstr "" + +#: src/Model/Profile.php:746 +msgid "Upcoming events the next 7 days:" +msgstr "" + +#: src/Model/Profile.php:763 +msgid "Member since:" +msgstr "" + +#: src/Model/Profile.php:771 +msgid "j F, Y" +msgstr "" + +#: src/Model/Profile.php:772 +msgid "j F" +msgstr "" + +#: src/Model/Profile.php:787 +msgid "Age:" +msgstr "" + +#: src/Model/Profile.php:800 +#, php-format +msgid "for %1$d %2$s" +msgstr "" + +#: src/Model/Profile.php:824 +msgid "Religion:" +msgstr "" + +#: src/Model/Profile.php:832 +msgid "Hobbies/Interests:" +msgstr "" + +#: src/Model/Profile.php:844 +msgid "Contact information and Social Networks:" +msgstr "" + +#: src/Model/Profile.php:848 +msgid "Musical interests:" +msgstr "" + +#: src/Model/Profile.php:852 +msgid "Books, literature:" +msgstr "" + +#: src/Model/Profile.php:856 +msgid "Television:" +msgstr "" + +#: src/Model/Profile.php:860 +msgid "Film/dance/culture/entertainment:" +msgstr "" + +#: src/Model/Profile.php:864 +msgid "Love/Romance:" +msgstr "" + +#: src/Model/Profile.php:868 +msgid "Work/employment:" +msgstr "" + +#: src/Model/Profile.php:872 +msgid "School/education:" +msgstr "" + +#: src/Model/Profile.php:877 +msgid "Forums:" +msgstr "" + +#: src/Model/Profile.php:924 src/Module/Contact.php:871 +msgid "Profile Details" +msgstr "" + +#: src/Model/Profile.php:974 +msgid "Only You Can See This" +msgstr "" + +#: src/Model/Profile.php:982 src/Model/Profile.php:985 +msgid "Tips for New Members" +msgstr "" + +#: src/Model/Profile.php:1180 +#, php-format +msgid "OpenWebAuth: %1$s welcomes %2$s" +msgstr "" + +#: src/Model/User.php:357 msgid "Login failed" msgstr "" -#: src/Model/User.php:362 +#: src/Model/User.php:389 msgid "Not enough information to authenticate" msgstr "" -#: src/Model/User.php:440 +#: src/Model/User.php:483 msgid "Password can't be empty" msgstr "" -#: src/Model/User.php:459 +#: src/Model/User.php:502 msgid "Empty passwords are not allowed." msgstr "" -#: src/Model/User.php:463 +#: src/Model/User.php:506 msgid "" "The new password has been exposed in a public data dump, please choose " "another." msgstr "" -#: src/Model/User.php:469 +#: src/Model/User.php:512 msgid "" "The password can't contain accentuated letters, white spaces or colons (:)" msgstr "" -#: src/Model/User.php:569 +#: src/Model/User.php:612 msgid "Passwords do not match. Password unchanged." msgstr "" -#: src/Model/User.php:576 +#: src/Model/User.php:619 msgid "An invitation is required." msgstr "" -#: src/Model/User.php:580 +#: src/Model/User.php:623 msgid "Invitation could not be verified." msgstr "" -#: src/Model/User.php:587 +#: src/Model/User.php:631 msgid "Invalid OpenID url" msgstr "" -#: src/Model/User.php:600 src/Module/Login.php:102 +#: src/Model/User.php:644 src/Module/Login.php:105 msgid "" "We encountered a problem while logging in with the OpenID you provided. " "Please check the correct spelling of the ID." msgstr "" -#: src/Model/User.php:600 src/Module/Login.php:102 +#: src/Model/User.php:644 src/Module/Login.php:105 msgid "The error message was:" msgstr "" -#: src/Model/User.php:606 +#: src/Model/User.php:650 msgid "Please enter the required information." msgstr "" -#: src/Model/User.php:620 +#: src/Model/User.php:664 #, php-format msgid "" "system.username_min_length (%s) and system.username_max_length (%s) are " "excluding each other, swapping values." msgstr "" -#: src/Model/User.php:627 +#: src/Model/User.php:671 #, php-format msgid "Username should be at least %s character." msgid_plural "Username should be at least %s characters." msgstr[0] "" msgstr[1] "" -#: src/Model/User.php:631 +#: src/Model/User.php:675 #, php-format msgid "Username should be at most %s character." msgid_plural "Username should be at most %s characters." msgstr[0] "" msgstr[1] "" -#: src/Model/User.php:639 +#: src/Model/User.php:683 msgid "That doesn't appear to be your full (First Last) name." msgstr "" -#: src/Model/User.php:644 +#: src/Model/User.php:688 msgid "Your email domain is not among those allowed on this site." msgstr "" -#: src/Model/User.php:648 +#: src/Model/User.php:692 msgid "Not a valid email address." msgstr "" -#: src/Model/User.php:651 +#: src/Model/User.php:695 msgid "The nickname was blocked from registration by the nodes admin." msgstr "" -#: src/Model/User.php:655 src/Model/User.php:663 +#: src/Model/User.php:699 src/Model/User.php:707 msgid "Cannot use that email." msgstr "" -#: src/Model/User.php:670 +#: src/Model/User.php:714 msgid "Your nickname can only contain a-z, 0-9 and _." msgstr "" -#: src/Model/User.php:677 src/Model/User.php:734 +#: src/Model/User.php:722 src/Model/User.php:779 msgid "Nickname is already registered. Please choose another." msgstr "" -#: src/Model/User.php:687 +#: src/Model/User.php:732 msgid "SERIOUS ERROR: Generation of security keys failed." msgstr "" -#: src/Model/User.php:721 src/Model/User.php:725 +#: src/Model/User.php:766 src/Model/User.php:770 msgid "An error occurred during registration. Please try again." msgstr "" -#: src/Model/User.php:750 +#: src/Model/User.php:795 msgid "An error occurred creating your default profile. Please try again." msgstr "" -#: src/Model/User.php:757 +#: src/Model/User.php:802 msgid "An error occurred creating your self contact. Please try again." msgstr "" -#: src/Model/User.php:766 +#: src/Model/User.php:811 msgid "" "An error occurred creating your default contact group. Please try again." msgstr "" -#: src/Model/User.php:842 +#: src/Model/User.php:888 #, php-format msgid "" "\n" @@ -6314,21 +6533,21 @@ msgid "" "\t\t" msgstr "" -#: src/Model/User.php:859 +#: src/Model/User.php:909 #, php-format msgid "Registration at %s" msgstr "" -#: src/Model/User.php:878 +#: src/Model/User.php:929 #, php-format msgid "" "\n" -"\t\t\tDear %1$s,\n" +"\t\t\t\tDear %1$s,\n" "\t\t\t\tThank you for registering at %2$s. Your account has been created.\n" -"\t\t" +"\t\t\t" msgstr "" -#: src/Model/User.php:884 +#: src/Model/User.php:937 #, php-format msgid "" "\n" @@ -6367,388 +6586,53 @@ msgid "" "\t\t\tThank you and welcome to %2$s." msgstr "" -#: src/Model/User.php:919 src/Module/Admin/Users.php:88 +#: src/Model/User.php:976 src/Module/Admin/Users.php:88 #, php-format msgid "Registration details for %s" msgstr "" -#: src/Model/Contact.php:1230 -msgid "Drop Contact" +#: src/Protocol/Diaspora.php:3604 +msgid "Attachments:" msgstr "" -#: src/Model/Contact.php:1783 -msgid "Organisation" -msgstr "" - -#: src/Model/Contact.php:1787 -msgid "News" -msgstr "" - -#: src/Model/Contact.php:1791 -msgid "Forum" -msgstr "" - -#: src/Model/Contact.php:2192 -msgid "Connect URL missing." -msgstr "" - -#: src/Model/Contact.php:2201 -msgid "" -"The contact could not be added. Please check the relevant network " -"credentials in your Settings -> Social Networks page." -msgstr "" - -#: src/Model/Contact.php:2242 -msgid "" -"This site is not configured to allow communications with other networks." -msgstr "" - -#: src/Model/Contact.php:2243 src/Model/Contact.php:2256 -msgid "No compatible communication protocols or feeds were discovered." -msgstr "" - -#: src/Model/Contact.php:2254 -msgid "The profile address specified does not provide adequate information." -msgstr "" - -#: src/Model/Contact.php:2259 -msgid "An author or name was not found." -msgstr "" - -#: src/Model/Contact.php:2262 -msgid "No browser URL could be matched to this address." -msgstr "" - -#: src/Model/Contact.php:2265 -msgid "" -"Unable to match @-style Identity Address with a known protocol or email " -"contact." -msgstr "" - -#: src/Model/Contact.php:2266 -msgid "Use mailto: in front of address to force email check." -msgstr "" - -#: src/Model/Contact.php:2272 -msgid "" -"The profile address specified belongs to a network which has been disabled " -"on this site." -msgstr "" - -#: src/Model/Contact.php:2277 -msgid "" -"Limited profile. This person will be unable to receive direct/personal " -"notifications from you." -msgstr "" - -#: src/Model/Contact.php:2332 -msgid "Unable to retrieve contact information." -msgstr "" - -#: src/Model/Group.php:77 -msgid "" -"A deleted group with this name was revived. Existing item permissions " -"may apply to this group and any future members. If this is " -"not what you intended, please create another group with a different name." -msgstr "" - -#: src/Model/Group.php:407 -msgid "Default privacy group for new contacts" -msgstr "" - -#: src/Model/Group.php:439 -msgid "Everybody" -msgstr "" - -#: src/Model/Group.php:458 -msgid "edit" -msgstr "" - -#: src/Model/Group.php:484 src/Module/Welcome.php:57 src/Module/Contact.php:708 -msgid "Groups" -msgstr "" - -#: src/Model/Group.php:488 -msgid "Edit group" -msgstr "" - -#: src/Model/Group.php:489 src/Module/Group.php:186 -msgid "Contacts not in any group" -msgstr "" - -#: src/Model/Group.php:491 -msgid "Create a new group" -msgstr "" - -#: src/Model/Group.php:492 src/Module/Group.php:171 src/Module/Group.php:194 -#: src/Module/Group.php:271 -msgid "Group Name: " -msgstr "" - -#: src/Model/Group.php:493 -msgid "Edit groups" -msgstr "" - -#: src/Model/Mail.php:113 src/Model/Mail.php:250 -msgid "[no subject]" -msgstr "" - -#: src/Model/Profile.php:212 src/Model/Profile.php:428 -#: src/Model/Profile.php:885 -msgid "Edit profile" -msgstr "" - -#: src/Model/Profile.php:402 -msgid "Manage/edit profiles" -msgstr "" - -#: src/Model/Profile.php:451 src/Model/Profile.php:795 -#: src/Module/Directory.php:143 -msgid "Status:" -msgstr "" - -#: src/Model/Profile.php:452 src/Model/Profile.php:812 -#: src/Module/Directory.php:144 -msgid "Homepage:" -msgstr "" - -#: src/Model/Profile.php:454 src/Module/Contact.php:609 -msgid "XMPP:" -msgstr "" - -#: src/Model/Profile.php:546 src/Module/Contact.php:299 -msgid "Unfollow" -msgstr "" - -#: src/Model/Profile.php:548 -msgid "Atom feed" -msgstr "" - -#: src/Model/Profile.php:588 src/Model/Profile.php:685 -msgid "g A l F d" -msgstr "" - -#: src/Model/Profile.php:589 -msgid "F d" -msgstr "" - -#: src/Model/Profile.php:651 src/Model/Profile.php:736 -msgid "[today]" -msgstr "" - -#: src/Model/Profile.php:661 -msgid "Birthday Reminders" -msgstr "" - -#: src/Model/Profile.php:662 -msgid "Birthdays this week:" -msgstr "" - -#: src/Model/Profile.php:723 -msgid "[No description]" -msgstr "" - -#: src/Model/Profile.php:749 -msgid "Event Reminders" -msgstr "" - -#: src/Model/Profile.php:750 -msgid "Upcoming events the next 7 days:" -msgstr "" - -#: src/Model/Profile.php:767 -msgid "Member since:" -msgstr "" - -#: src/Model/Profile.php:775 -msgid "j F, Y" -msgstr "" - -#: src/Model/Profile.php:776 -msgid "j F" -msgstr "" - -#: src/Model/Profile.php:791 -msgid "Age:" -msgstr "" - -#: src/Model/Profile.php:804 -#, php-format -msgid "for %1$d %2$s" -msgstr "" - -#: src/Model/Profile.php:828 -msgid "Religion:" -msgstr "" - -#: src/Model/Profile.php:836 -msgid "Hobbies/Interests:" -msgstr "" - -#: src/Model/Profile.php:848 -msgid "Contact information and Social Networks:" -msgstr "" - -#: src/Model/Profile.php:852 -msgid "Musical interests:" -msgstr "" - -#: src/Model/Profile.php:856 -msgid "Books, literature:" -msgstr "" - -#: src/Model/Profile.php:860 -msgid "Television:" -msgstr "" - -#: src/Model/Profile.php:864 -msgid "Film/dance/culture/entertainment:" -msgstr "" - -#: src/Model/Profile.php:868 -msgid "Love/Romance:" -msgstr "" - -#: src/Model/Profile.php:872 -msgid "Work/employment:" -msgstr "" - -#: src/Model/Profile.php:876 -msgid "School/education:" -msgstr "" - -#: src/Model/Profile.php:881 -msgid "Forums:" -msgstr "" - -#: src/Model/Profile.php:928 src/Module/Contact.php:850 -msgid "Profile Details" -msgstr "" - -#: src/Model/Profile.php:978 -msgid "Only You Can See This" -msgstr "" - -#: src/Model/Profile.php:986 src/Model/Profile.php:989 -msgid "Tips for New Members" -msgstr "" - -#: src/Model/Profile.php:1186 -#, php-format -msgid "OpenWebAuth: %1$s welcomes %2$s" -msgstr "" - -#: src/Model/Item.php:3313 -msgid "activity" -msgstr "" - -#: src/Model/Item.php:3315 src/Object/Post.php:474 -msgid "comment" -msgid_plural "comments" -msgstr[0] "" -msgstr[1] "" - -#: src/Model/Item.php:3318 -msgid "post" -msgstr "" - -#: src/Model/Item.php:3417 -#, php-format -msgid "Content warning: %s" -msgstr "" - -#: src/Model/Item.php:3494 -msgid "bytes" -msgstr "" - -#: src/Model/Item.php:3541 -msgid "View on separate page" -msgstr "" - -#: src/Model/Item.php:3542 -msgid "view on separate page" -msgstr "" - -#: src/Protocol/OStatus.php:1300 src/Module/Profile.php:119 -#: src/Module/Profile.php:122 +#: src/Protocol/OStatus.php:1302 src/Module/Profile.php:117 +#: src/Module/Profile.php:120 #, php-format msgid "%s's timeline" msgstr "" -#: src/Protocol/OStatus.php:1304 src/Module/Profile.php:120 +#: src/Protocol/OStatus.php:1306 src/Module/Profile.php:118 #, php-format msgid "%s's posts" msgstr "" -#: src/Protocol/OStatus.php:1307 src/Module/Profile.php:121 +#: src/Protocol/OStatus.php:1309 src/Module/Profile.php:119 #, php-format msgid "%s's comments" msgstr "" -#: src/Protocol/OStatus.php:1861 +#: src/Protocol/OStatus.php:1864 #, php-format msgid "%s is now following %s." msgstr "" -#: src/Protocol/OStatus.php:1862 +#: src/Protocol/OStatus.php:1865 msgid "following" msgstr "" -#: src/Protocol/OStatus.php:1865 +#: src/Protocol/OStatus.php:1868 #, php-format msgid "%s stopped following %s." msgstr "" -#: src/Protocol/OStatus.php:1866 +#: src/Protocol/OStatus.php:1869 msgid "stopped following" msgstr "" -#: src/Protocol/Diaspora.php:2527 -msgid "Sharing notification from Diaspora network" -msgstr "" - -#: src/Protocol/Diaspora.php:3674 -msgid "Attachments:" -msgstr "" - -#: src/Worker/Delivery.php:508 +#: src/Worker/Delivery.php:516 msgid "(no subject)" msgstr "" -#: src/Module/Tos.php:35 src/Module/Tos.php:77 -msgid "" -"At the time of registration, and for providing communications between the " -"user account and their contacts, the user has to provide a display name (pen " -"name), an username (nickname) and a working email address. The names will be " -"accessible on the profile page of the account by any visitor of the page, " -"even if other profile details are not displayed. The email address will only " -"be used to send the user notifications about interactions, but wont be " -"visibly displayed. The listing of an account in the node's user directory or " -"the global user directory is optional and can be controlled in the user " -"settings, it is not necessary for communication." -msgstr "" - -#: src/Module/Tos.php:36 src/Module/Tos.php:78 -msgid "" -"This data is required for communication and is passed on to the nodes of the " -"communication partners and is stored there. Users can enter additional " -"private data that may be transmitted to the communication partners accounts." -msgstr "" - -#: src/Module/Tos.php:37 src/Module/Tos.php:79 -#, php-format -msgid "" -"At any point in time a logged in user can export their account data from the " -"account settings. If the user wants to " -"delete their account they can do so at %1$s/" -"removeme. The deletion of the account will be permanent. Deletion of the " -"data will also be requested from the nodes of the communication partners." -msgstr "" - -#: src/Module/Tos.php:40 src/Module/Tos.php:76 -msgid "Privacy Statement" -msgstr "" - #: src/Module/Apps.php:29 msgid "No installed applications." msgstr "" @@ -6793,13 +6677,14 @@ msgid "Enable" msgstr "" #: src/Module/Admin/Addons/Details.php:99 src/Module/Admin/Addons/Index.php:50 +#: src/Module/Admin/Blocklist/Server.php:73 #: src/Module/Admin/Blocklist/Contact.php:61 -#: src/Module/Admin/Blocklist/Server.php:73 src/Module/Admin/Federation.php:187 -#: src/Module/Admin/Item/Delete.php:46 src/Module/Admin/Logs/Settings.php:63 -#: src/Module/Admin/Logs/View.php:46 src/Module/Admin/Themes/Details.php:104 -#: src/Module/Admin/Themes/Index.php:95 src/Module/Admin/Tos.php:42 -#: src/Module/Admin/Users.php:277 src/Module/Admin/Queue.php:56 -#: src/Module/Admin/Site.php:566 src/Module/Admin/Summary.php:173 +#: src/Module/Admin/Federation.php:187 src/Module/Admin/Item/Delete.php:46 +#: src/Module/Admin/Logs/View.php:46 src/Module/Admin/Logs/Settings.php:63 +#: src/Module/Admin/Themes/Details.php:104 src/Module/Admin/Themes/Index.php:95 +#: src/Module/Admin/Tos.php:42 src/Module/Admin/Queue.php:56 +#: src/Module/Admin/Site.php:566 src/Module/Admin/Summary.php:192 +#: src/Module/Admin/Users.php:277 msgid "Administration" msgstr "" @@ -6835,87 +6720,6 @@ msgid "" "the open addon registry at %2$s" msgstr "" -#: src/Module/Admin/Blocklist/Contact.php:28 -#: src/Console/GlobalCommunityBlock.php:87 -msgid "The contact has been blocked from the node" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:30 -#: src/Console/GlobalCommunityBlock.php:82 -#, php-format -msgid "Could not find any contact entry for this URL (%s)" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:38 -#, php-format -msgid "%s contact unblocked" -msgid_plural "%s contacts unblocked" -msgstr[0] "" -msgstr[1] "" - -#: src/Module/Admin/Blocklist/Contact.php:62 -msgid "Remote Contact Blocklist" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:63 -msgid "" -"This page allows you to prevent any message from a remote contact to reach " -"your node." -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:64 -msgid "Block Remote Contact" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:65 src/Module/Admin/Users.php:280 -msgid "select all" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:66 -msgid "select none" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:68 src/Module/Admin/Users.php:291 -#: src/Module/Contact.php:585 src/Module/Contact.php:802 -#: src/Module/Contact.php:1061 -msgid "Unblock" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:69 -msgid "No remote contact is blocked from this node." -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:71 -msgid "Blocked Remote Contacts" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:72 -msgid "Block New Remote Contact" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:73 -msgid "Photo" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:73 -msgid "Reason" -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:81 -#, php-format -msgid "%s total blocked contact" -msgid_plural "%s total blocked contacts" -msgstr[0] "" -msgstr[1] "" - -#: src/Module/Admin/Blocklist/Contact.php:83 -msgid "URL of the remote contact to block." -msgstr "" - -#: src/Module/Admin/Blocklist/Contact.php:84 -msgid "Block Reason" -msgstr "" - #: src/Module/Admin/Blocklist/Server.php:31 msgid "Server domain pattern added to blocklist." msgstr "" @@ -7013,6 +6817,87 @@ msgstr "" msgid "Delete entry from blocklist?" msgstr "" +#: src/Module/Admin/Blocklist/Contact.php:28 +#: src/Console/GlobalCommunityBlock.php:87 +msgid "The contact has been blocked from the node" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:30 +#: src/Console/GlobalCommunityBlock.php:82 +#, php-format +msgid "Could not find any contact entry for this URL (%s)" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:38 +#, php-format +msgid "%s contact unblocked" +msgid_plural "%s contacts unblocked" +msgstr[0] "" +msgstr[1] "" + +#: src/Module/Admin/Blocklist/Contact.php:62 +msgid "Remote Contact Blocklist" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:63 +msgid "" +"This page allows you to prevent any message from a remote contact to reach " +"your node." +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:64 +msgid "Block Remote Contact" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:65 src/Module/Admin/Users.php:280 +msgid "select all" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:66 +msgid "select none" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:68 src/Module/Admin/Users.php:291 +#: src/Module/Contact.php:606 src/Module/Contact.php:823 +#: src/Module/Contact.php:1082 +msgid "Unblock" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:69 +msgid "No remote contact is blocked from this node." +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:71 +msgid "Blocked Remote Contacts" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:72 +msgid "Block New Remote Contact" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:73 +msgid "Photo" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:73 +msgid "Reason" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:81 +#, php-format +msgid "%s total blocked contact" +msgid_plural "%s total blocked contacts" +msgstr[0] "" +msgstr[1] "" + +#: src/Module/Admin/Blocklist/Contact.php:83 +msgid "URL of the remote contact to block." +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:84 +msgid "Block Reason" +msgstr "" + #: src/Module/Admin/DBSync.php:32 msgid "Update has been marked successful" msgstr "" @@ -7146,8 +7031,25 @@ msgstr "" msgid "Item Guid" msgstr "" -#: src/Module/Admin/Logs/Settings.php:27 src/Module/Admin/Summary.php:83 -#: src/Module/Admin/Summary.php:90 +#: src/Module/Admin/Logs/View.php:22 +#, php-format +msgid "" +"Error trying to open %1$s log file.\\r\\n
Check to see " +"if file %1$s exist and is readable." +msgstr "" + +#: src/Module/Admin/Logs/View.php:26 +#, php-format +msgid "" +"Couldn't open %1$s log file.\\r\\n
Check to see if file " +"%1$s is readable." +msgstr "" + +#: src/Module/Admin/Logs/View.php:47 src/Module/BaseAdminModule.php:99 +msgid "View Logs" +msgstr "" + +#: src/Module/Admin/Logs/Settings.php:27 #, php-format msgid "The logfile '%s' is not writable. No logging possible" msgstr "" @@ -7204,24 +7106,6 @@ msgid "" "'display_errors' is to enable these options, set to '0' to disable them." msgstr "" -#: src/Module/Admin/Logs/View.php:22 -#, php-format -msgid "" -"Error trying to open %1$s log file.\\r\\n
Check to see " -"if file %1$s exist and is readable." -msgstr "" - -#: src/Module/Admin/Logs/View.php:26 -#, php-format -msgid "" -"Couldn't open %1$s log file.\\r\\n
Check to see if file " -"%1$s is readable." -msgstr "" - -#: src/Module/Admin/Logs/View.php:47 src/Module/BaseAdminModule.php:99 -msgid "View Logs" -msgstr "" - #: src/Module/Admin/Themes/Details.php:32 src/Module/Admin/Themes/Embed.php:46 msgid "Theme settings updated." msgstr "" @@ -7310,198 +7194,6 @@ msgid "" "of sections should be [h2] and below." msgstr "" -#: src/Module/Admin/Users.php:48 -#, php-format -msgid "" -"\n" -"\t\t\tDear %1$s,\n" -"\t\t\t\tthe administrator of %2$s has set up an account for you." -msgstr "" - -#: src/Module/Admin/Users.php:51 -#, php-format -msgid "" -"\n" -"\t\t\tThe login details are as follows:\n" -"\n" -"\t\t\tSite Location:\t%1$s\n" -"\t\t\tLogin Name:\t\t%2$s\n" -"\t\t\tPassword:\t\t%3$s\n" -"\n" -"\t\t\tYou may change your password from your account \"Settings\" page after " -"logging\n" -"\t\t\tin.\n" -"\n" -"\t\t\tPlease take a few moments to review the other account settings on that " -"page.\n" -"\n" -"\t\t\tYou may also wish to add some basic information to your default " -"profile\n" -"\t\t\t(on the \"Profiles\" page) so that other people can easily find you.\n" -"\n" -"\t\t\tWe recommend setting your full name, adding a profile photo,\n" -"\t\t\tadding some profile \"keywords\" (very useful in making new friends) - " -"and\n" -"\t\t\tperhaps what country you live in; if you do not wish to be more " -"specific\n" -"\t\t\tthan that.\n" -"\n" -"\t\t\tWe fully respect your right to privacy, and none of these items are " -"necessary.\n" -"\t\t\tIf you are new and do not know anybody here, they may help\n" -"\t\t\tyou to make some new and interesting friends.\n" -"\n" -"\t\t\tIf you ever want to delete your account, you can do so at %1$s/" -"removeme\n" -"\n" -"\t\t\tThank you and welcome to %4$s." -msgstr "" - -#: src/Module/Admin/Users.php:96 -#, php-format -msgid "%s user blocked" -msgid_plural "%s users blocked" -msgstr[0] "" -msgstr[1] "" - -#: src/Module/Admin/Users.php:102 -#, php-format -msgid "%s user unblocked" -msgid_plural "%s users unblocked" -msgstr[0] "" -msgstr[1] "" - -#: src/Module/Admin/Users.php:110 src/Module/Admin/Users.php:160 -msgid "You can't remove yourself" -msgstr "" - -#: src/Module/Admin/Users.php:114 -#, php-format -msgid "%s user deleted" -msgid_plural "%s users deleted" -msgstr[0] "" -msgstr[1] "" - -#: src/Module/Admin/Users.php:158 -#, php-format -msgid "User \"%s\" deleted" -msgstr "" - -#: src/Module/Admin/Users.php:167 -#, php-format -msgid "User \"%s\" blocked" -msgstr "" - -#: src/Module/Admin/Users.php:173 -#, php-format -msgid "User \"%s\" unblocked" -msgstr "" - -#: src/Module/Admin/Users.php:226 -msgid "Private Forum" -msgstr "" - -#: src/Module/Admin/Users.php:233 -msgid "Relay" -msgstr "" - -#: src/Module/Admin/Users.php:272 src/Module/Admin/Users.php:297 -msgid "Register date" -msgstr "" - -#: src/Module/Admin/Users.php:272 src/Module/Admin/Users.php:297 -msgid "Last login" -msgstr "" - -#: src/Module/Admin/Users.php:272 src/Module/Admin/Users.php:297 -msgid "Last item" -msgstr "" - -#: src/Module/Admin/Users.php:272 -msgid "Type" -msgstr "" - -#: src/Module/Admin/Users.php:278 src/Module/Admin/Users.php:295 -#: src/Module/Admin/Site.php:471 src/Module/BaseAdminModule.php:81 -msgid "Users" -msgstr "" - -#: src/Module/Admin/Users.php:279 -msgid "Add User" -msgstr "" - -#: src/Module/Admin/Users.php:281 -msgid "User registrations waiting for confirm" -msgstr "" - -#: src/Module/Admin/Users.php:282 -msgid "User waiting for permanent deletion" -msgstr "" - -#: src/Module/Admin/Users.php:283 -msgid "Request date" -msgstr "" - -#: src/Module/Admin/Users.php:284 -msgid "No registrations." -msgstr "" - -#: src/Module/Admin/Users.php:285 -msgid "Note from the user" -msgstr "" - -#: src/Module/Admin/Users.php:287 -msgid "Deny" -msgstr "" - -#: src/Module/Admin/Users.php:290 -msgid "User blocked" -msgstr "" - -#: src/Module/Admin/Users.php:292 -msgid "Site admin" -msgstr "" - -#: src/Module/Admin/Users.php:293 -msgid "Account expired" -msgstr "" - -#: src/Module/Admin/Users.php:296 -msgid "New User" -msgstr "" - -#: src/Module/Admin/Users.php:297 -msgid "Permanent deletion" -msgstr "" - -#: src/Module/Admin/Users.php:302 -msgid "" -"Selected users will be deleted!\\n\\nEverything these users had posted on " -"this site will be permanently deleted!\\n\\nAre you sure?" -msgstr "" - -#: src/Module/Admin/Users.php:303 -msgid "" -"The user {0} will be deleted!\\n\\nEverything this user has posted on this " -"site will be permanently deleted!\\n\\nAre you sure?" -msgstr "" - -#: src/Module/Admin/Users.php:313 -msgid "Name of the new user." -msgstr "" - -#: src/Module/Admin/Users.php:314 -msgid "Nickname" -msgstr "" - -#: src/Module/Admin/Users.php:314 -msgid "Nickname of the new user." -msgstr "" - -#: src/Module/Admin/Users.php:315 -msgid "Email address of the new user." -msgstr "" - #: src/Module/Admin/Queue.php:34 msgid "Inspect Deferred Worker Queue" msgstr "" @@ -7572,10 +7264,15 @@ msgstr "" #: src/Module/Admin/Site.php:470 src/Module/Admin/Site.php:665 #: src/Module/Admin/Site.php:675 src/Module/Settings/TwoFactor/Index.php:97 -#: src/Module/Contact.php:525 +#: src/Module/Contact.php:546 msgid "Disabled" msgstr "" +#: src/Module/Admin/Site.php:471 src/Module/Admin/Users.php:278 +#: src/Module/Admin/Users.php:295 src/Module/BaseAdminModule.php:81 +msgid "Users" +msgstr "" + #: src/Module/Admin/Site.php:472 msgid "Users, Global Contacts" msgstr "" @@ -7652,7 +7349,7 @@ msgstr "" msgid "Republish users to directory" msgstr "" -#: src/Module/Admin/Site.php:570 src/Module/Register.php:121 +#: src/Module/Admin/Site.php:570 src/Module/Register.php:115 msgid "Registration" msgstr "" @@ -8496,7 +8193,7 @@ msgstr "" msgid "Start Relocation" msgstr "" -#: src/Module/Admin/Summary.php:30 +#: src/Module/Admin/Summary.php:32 #, php-format msgid "" "Your DB still runs with MyISAM tables. You should change the engine type to " @@ -8507,39 +8204,39 @@ msgid "" "automatic conversion.
" msgstr "" -#: src/Module/Admin/Summary.php:38 +#: src/Module/Admin/Summary.php:40 #, php-format msgid "" "There is a new version of Friendica available for download. Your current " "version is %1$s, upstream version is %2$s" msgstr "" -#: src/Module/Admin/Summary.php:47 +#: src/Module/Admin/Summary.php:49 msgid "" "The database update failed. Please run \"php bin/console.php dbstructure " "update\" from the command line and have a look at the errors that might " "appear." msgstr "" -#: src/Module/Admin/Summary.php:51 +#: src/Module/Admin/Summary.php:53 msgid "" "The last update failed. Please run \"php bin/console.php dbstructure update" "\" from the command line and have a look at the errors that might appear. " "(Some of the errors are possibly inside the logfile.)" msgstr "" -#: src/Module/Admin/Summary.php:56 +#: src/Module/Admin/Summary.php:58 msgid "The worker was never executed. Please check your database structure!" msgstr "" -#: src/Module/Admin/Summary.php:58 +#: src/Module/Admin/Summary.php:60 #, php-format msgid "" "The last worker execution was on %s UTC. This is older than one hour. Please " "check your crontab settings." msgstr "" -#: src/Module/Admin/Summary.php:63 +#: src/Module/Admin/Summary.php:65 #, php-format msgid "" "Friendica's configuration now is stored in config/local.config.php, please " @@ -8548,7 +8245,7 @@ msgid "" "with the transition." msgstr "" -#: src/Module/Admin/Summary.php:67 +#: src/Module/Admin/Summary.php:69 #, php-format msgid "" "Friendica's configuration now is stored in config/local.config.php, please " @@ -8557,7 +8254,7 @@ msgid "" "with the transition." msgstr "" -#: src/Module/Admin/Summary.php:73 +#: src/Module/Admin/Summary.php:75 #, php-format msgid "" "%s is not reachable on your system. This is a severe " @@ -8565,81 +8262,274 @@ msgid "" "href=\"%s\">the installation page for help." msgstr "" -#: src/Module/Admin/Summary.php:106 +#: src/Module/Admin/Summary.php:94 +#, php-format +msgid "The logfile '%s' is not usable. No logging possible (error: '%s')" +msgstr "" + +#: src/Module/Admin/Summary.php:109 +#, php-format +msgid "The debug logfile '%s' is not usable. No logging possible (error: '%s')" +msgstr "" + +#: src/Module/Admin/Summary.php:125 #, php-format msgid "" "Friendica's system.basepath was updated from '%s' to '%s'. Please remove the " "system.basepath from your db to avoid differences." msgstr "" -#: src/Module/Admin/Summary.php:114 +#: src/Module/Admin/Summary.php:133 #, php-format msgid "" "Friendica's current system.basepath '%s' is wrong and the config file '%s' " "isn't used." msgstr "" -#: src/Module/Admin/Summary.php:122 +#: src/Module/Admin/Summary.php:141 #, php-format msgid "" "Friendica's current system.basepath '%s' is not equal to the config file " "'%s'. Please fix your configuration." msgstr "" -#: src/Module/Admin/Summary.php:129 +#: src/Module/Admin/Summary.php:148 msgid "Normal Account" msgstr "" -#: src/Module/Admin/Summary.php:130 +#: src/Module/Admin/Summary.php:149 msgid "Automatic Follower Account" msgstr "" -#: src/Module/Admin/Summary.php:131 +#: src/Module/Admin/Summary.php:150 msgid "Public Forum Account" msgstr "" -#: src/Module/Admin/Summary.php:132 +#: src/Module/Admin/Summary.php:151 msgid "Automatic Friend Account" msgstr "" -#: src/Module/Admin/Summary.php:133 +#: src/Module/Admin/Summary.php:152 msgid "Blog Account" msgstr "" -#: src/Module/Admin/Summary.php:134 +#: src/Module/Admin/Summary.php:153 msgid "Private Forum Account" msgstr "" -#: src/Module/Admin/Summary.php:154 +#: src/Module/Admin/Summary.php:173 msgid "Message queues" msgstr "" -#: src/Module/Admin/Summary.php:160 +#: src/Module/Admin/Summary.php:179 msgid "Server Settings" msgstr "" -#: src/Module/Admin/Summary.php:174 +#: src/Module/Admin/Summary.php:193 msgid "Summary" msgstr "" -#: src/Module/Admin/Summary.php:176 +#: src/Module/Admin/Summary.php:195 msgid "Registered users" msgstr "" -#: src/Module/Admin/Summary.php:178 +#: src/Module/Admin/Summary.php:197 msgid "Pending registrations" msgstr "" -#: src/Module/Admin/Summary.php:179 +#: src/Module/Admin/Summary.php:198 msgid "Version" msgstr "" -#: src/Module/Admin/Summary.php:183 +#: src/Module/Admin/Summary.php:202 msgid "Active addons" msgstr "" -#: src/Module/AllFriends.php:55 -msgid "No friends to display." +#: src/Module/Admin/Users.php:48 +#, php-format +msgid "" +"\n" +"\t\t\tDear %1$s,\n" +"\t\t\t\tthe administrator of %2$s has set up an account for you." +msgstr "" + +#: src/Module/Admin/Users.php:51 +#, php-format +msgid "" +"\n" +"\t\t\tThe login details are as follows:\n" +"\n" +"\t\t\tSite Location:\t%1$s\n" +"\t\t\tLogin Name:\t\t%2$s\n" +"\t\t\tPassword:\t\t%3$s\n" +"\n" +"\t\t\tYou may change your password from your account \"Settings\" page after " +"logging\n" +"\t\t\tin.\n" +"\n" +"\t\t\tPlease take a few moments to review the other account settings on that " +"page.\n" +"\n" +"\t\t\tYou may also wish to add some basic information to your default " +"profile\n" +"\t\t\t(on the \"Profiles\" page) so that other people can easily find you.\n" +"\n" +"\t\t\tWe recommend setting your full name, adding a profile photo,\n" +"\t\t\tadding some profile \"keywords\" (very useful in making new friends) - " +"and\n" +"\t\t\tperhaps what country you live in; if you do not wish to be more " +"specific\n" +"\t\t\tthan that.\n" +"\n" +"\t\t\tWe fully respect your right to privacy, and none of these items are " +"necessary.\n" +"\t\t\tIf you are new and do not know anybody here, they may help\n" +"\t\t\tyou to make some new and interesting friends.\n" +"\n" +"\t\t\tIf you ever want to delete your account, you can do so at %1$s/" +"removeme\n" +"\n" +"\t\t\tThank you and welcome to %4$s." +msgstr "" + +#: src/Module/Admin/Users.php:96 +#, php-format +msgid "%s user blocked" +msgid_plural "%s users blocked" +msgstr[0] "" +msgstr[1] "" + +#: src/Module/Admin/Users.php:102 +#, php-format +msgid "%s user unblocked" +msgid_plural "%s users unblocked" +msgstr[0] "" +msgstr[1] "" + +#: src/Module/Admin/Users.php:110 src/Module/Admin/Users.php:160 +msgid "You can't remove yourself" +msgstr "" + +#: src/Module/Admin/Users.php:114 +#, php-format +msgid "%s user deleted" +msgid_plural "%s users deleted" +msgstr[0] "" +msgstr[1] "" + +#: src/Module/Admin/Users.php:158 +#, php-format +msgid "User \"%s\" deleted" +msgstr "" + +#: src/Module/Admin/Users.php:167 +#, php-format +msgid "User \"%s\" blocked" +msgstr "" + +#: src/Module/Admin/Users.php:173 +#, php-format +msgid "User \"%s\" unblocked" +msgstr "" + +#: src/Module/Admin/Users.php:226 +msgid "Private Forum" +msgstr "" + +#: src/Module/Admin/Users.php:233 +msgid "Relay" +msgstr "" + +#: src/Module/Admin/Users.php:272 src/Module/Admin/Users.php:297 +msgid "Register date" +msgstr "" + +#: src/Module/Admin/Users.php:272 src/Module/Admin/Users.php:297 +msgid "Last login" +msgstr "" + +#: src/Module/Admin/Users.php:272 src/Module/Admin/Users.php:297 +msgid "Last item" +msgstr "" + +#: src/Module/Admin/Users.php:272 +msgid "Type" +msgstr "" + +#: src/Module/Admin/Users.php:279 +msgid "Add User" +msgstr "" + +#: src/Module/Admin/Users.php:281 +msgid "User registrations waiting for confirm" +msgstr "" + +#: src/Module/Admin/Users.php:282 +msgid "User waiting for permanent deletion" +msgstr "" + +#: src/Module/Admin/Users.php:283 +msgid "Request date" +msgstr "" + +#: src/Module/Admin/Users.php:284 +msgid "No registrations." +msgstr "" + +#: src/Module/Admin/Users.php:285 +msgid "Note from the user" +msgstr "" + +#: src/Module/Admin/Users.php:287 +msgid "Deny" +msgstr "" + +#: src/Module/Admin/Users.php:290 +msgid "User blocked" +msgstr "" + +#: src/Module/Admin/Users.php:292 +msgid "Site admin" +msgstr "" + +#: src/Module/Admin/Users.php:293 +msgid "Account expired" +msgstr "" + +#: src/Module/Admin/Users.php:296 +msgid "New User" +msgstr "" + +#: src/Module/Admin/Users.php:297 +msgid "Permanent deletion" +msgstr "" + +#: src/Module/Admin/Users.php:302 +msgid "" +"Selected users will be deleted!\\n\\nEverything these users had posted on " +"this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" + +#: src/Module/Admin/Users.php:303 +msgid "" +"The user {0} will be deleted!\\n\\nEverything this user has posted on this " +"site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" + +#: src/Module/Admin/Users.php:313 +msgid "Name of the new user." +msgstr "" + +#: src/Module/Admin/Users.php:314 +msgid "Nickname" +msgstr "" + +#: src/Module/Admin/Users.php:314 +msgid "Nickname of the new user." +msgstr "" + +#: src/Module/Admin/Users.php:315 +msgid "Email address of the new user." msgstr "" #: src/Module/Attach.php:36 src/Module/Attach.php:48 @@ -8720,61 +8610,6 @@ msgstr "" msgid "User registrations waiting for confirmation" msgstr "" -#: src/Module/BaseSearchModule.php:52 -#, php-format -msgid "People Search - %s" -msgstr "" - -#: src/Module/BaseSearchModule.php:62 -#, php-format -msgid "Forum Search - %s" -msgstr "" - -#: src/Module/Debug/Feed.php:20 src/Module/Filer/SaveTag.php:20 -msgid "You must be logged in to use this module" -msgstr "" - -#: src/Module/Debug/Feed.php:49 -msgid "Source URL" -msgstr "" - -#: src/Module/Debug/Localtime.php:30 -msgid "Time Conversion" -msgstr "" - -#: src/Module/Debug/Localtime.php:31 -msgid "" -"Friendica provides this service for sharing events with other networks and " -"friends in unknown timezones." -msgstr "" - -#: src/Module/Debug/Localtime.php:32 -#, php-format -msgid "UTC time: %s" -msgstr "" - -#: src/Module/Debug/Localtime.php:35 -#, php-format -msgid "Current timezone: %s" -msgstr "" - -#: src/Module/Debug/Localtime.php:39 -#, php-format -msgid "Converted localtime: %s" -msgstr "" - -#: src/Module/Debug/Localtime.php:43 -msgid "Please select your timezone:" -msgstr "" - -#: src/Module/Debug/Probe.php:19 src/Module/Debug/WebFinger.php:18 -msgid "Only logged in users are permitted to perform a probing." -msgstr "" - -#: src/Module/Debug/Probe.php:35 -msgid "Lookup address" -msgstr "" - #: src/Module/Debug/Babel.php:32 msgid "Source input" msgstr "" @@ -8887,20 +8722,49 @@ msgstr "" msgid "HTML" msgstr "" -#: src/Module/Directory.php:61 -msgid "No entries (some entries may be hidden)." +#: src/Module/Debug/Feed.php:20 src/Module/Filer/SaveTag.php:20 +msgid "You must be logged in to use this module" msgstr "" -#: src/Module/Directory.php:80 -msgid "Find on this site" +#: src/Module/Debug/Feed.php:49 +msgid "Source URL" msgstr "" -#: src/Module/Directory.php:82 -msgid "Results for:" +#: src/Module/Debug/Localtime.php:30 +msgid "Time Conversion" msgstr "" -#: src/Module/Directory.php:84 -msgid "Site Directory" +#: src/Module/Debug/Localtime.php:31 +msgid "" +"Friendica provides this service for sharing events with other networks and " +"friends in unknown timezones." +msgstr "" + +#: src/Module/Debug/Localtime.php:32 +#, php-format +msgid "UTC time: %s" +msgstr "" + +#: src/Module/Debug/Localtime.php:35 +#, php-format +msgid "Current timezone: %s" +msgstr "" + +#: src/Module/Debug/Localtime.php:39 +#, php-format +msgid "Converted localtime: %s" +msgstr "" + +#: src/Module/Debug/Localtime.php:43 +msgid "Please select your timezone:" +msgstr "" + +#: src/Module/Debug/Probe.php:19 src/Module/Debug/WebFinger.php:18 +msgid "Only logged in users are permitted to perform a probing." +msgstr "" + +#: src/Module/Debug/Probe.php:35 +msgid "Lookup address" msgstr "" #: src/Module/Filer/SaveTag.php:39 @@ -8912,10 +8776,6 @@ msgstr "" msgid "- select -" msgstr "" -#: src/Module/FollowConfirm.php:37 -msgid "No given contact." -msgstr "" - #: src/Module/Friendica.php:40 msgid "Installed addons/apps:" msgstr "" @@ -9059,11 +8919,6 @@ msgstr "" msgid "Help:" msgstr "" -#: src/Module/Home.php:42 -#, php-format -msgid "Welcome to %s" -msgstr "" - #: src/Module/Invite.php:37 msgid "Total invitation limit exceeded." msgstr "" @@ -9168,110 +9023,66 @@ msgid "" "important, please visit http://friendi.ca" msgstr "" -#: src/Module/Item/Compose.php:30 +#: src/Module/Item/Compose.php:31 msgid "Please enter a post body." msgstr "" -#: src/Module/Item/Compose.php:43 +#: src/Module/Item/Compose.php:44 msgid "This feature is only available with the frio theme." msgstr "" -#: src/Module/Item/Compose.php:63 +#: src/Module/Item/Compose.php:67 msgid "Compose new personal note" msgstr "" -#: src/Module/Item/Compose.php:70 +#: src/Module/Item/Compose.php:74 msgid "Compose new post" msgstr "" -#: src/Module/Item/Compose.php:190 +#: src/Module/Item/Compose.php:194 msgid "Clear the location" msgstr "" -#: src/Module/Item/Compose.php:191 +#: src/Module/Item/Compose.php:195 msgid "Location services are unavailable on your device" msgstr "" -#: src/Module/Item/Compose.php:192 +#: src/Module/Item/Compose.php:196 msgid "" "Location services are disabled. Please check the website's permissions on " "your device" msgstr "" -#: src/Module/Item/Compose.php:196 +#: src/Module/Item/Compose.php:200 msgid "Public" msgstr "" -#: src/Module/Item/Compose.php:197 +#: src/Module/Item/Compose.php:201 msgid "" "This post will be sent to all your followers and can be seen in the " "community pages and by anyone with its link." msgstr "" -#: src/Module/Item/Compose.php:198 +#: src/Module/Item/Compose.php:202 msgid "Limited/Private" msgstr "" -#: src/Module/Item/Compose.php:199 +#: src/Module/Item/Compose.php:203 msgid "" "This post will be sent only to the people in the first box, to the exception " "of the people mentioned in the second box. It won't appear anywhere public." msgstr "" -#: src/Module/Login.php:286 -msgid "Create a New Account" -msgstr "" - -#: src/Module/Login.php:319 -msgid "Password: " -msgstr "" - -#: src/Module/Login.php:320 -msgid "Remember me" -msgstr "" - -#: src/Module/Login.php:323 -msgid "Or login using OpenID: " -msgstr "" - -#: src/Module/Login.php:329 -msgid "Forgot your password?" -msgstr "" - -#: src/Module/Login.php:332 -msgid "Website Terms of Service" -msgstr "" - -#: src/Module/Login.php:333 -msgid "terms of service" -msgstr "" - -#: src/Module/Login.php:335 -msgid "Website Privacy Policy" -msgstr "" - -#: src/Module/Login.php:336 -msgid "privacy policy" -msgstr "" - -#: src/Module/Logout.php:38 -msgid "Logged out." -msgstr "" - #: src/Module/Maintenance.php:29 msgid "System down for maintenance" msgstr "" -#: src/Module/PageNotFound.php:13 -msgid "Page not found." -msgstr "" - #: src/Module/Photo.php:87 #, php-format msgid "Invalid photo with id %s." msgstr "" -#: src/Module/Profile/Contacts.php:23 src/Module/Profile/Contacts.php:36 +#: src/Module/Profile/Contacts.php:24 src/Module/Profile/Contacts.php:37 msgid "User not found." msgstr "" @@ -9279,8 +9090,8 @@ msgstr "" msgid "No contacts." msgstr "" -#: src/Module/Profile/Contacts.php:93 src/Module/Contact.php:569 -#: src/Module/Contact.php:1008 +#: src/Module/Profile/Contacts.php:93 src/Module/Contact.php:590 +#: src/Module/Contact.php:1029 #, php-format msgid "Visit %s's profile [%s]" msgstr "" @@ -9317,97 +9128,38 @@ msgstr[1] "" msgid "All contacts" msgstr "" -#: src/Module/Register.php:83 -msgid "" -"You may (optionally) fill in this form via OpenID by supplying your OpenID " -"and clicking \"Register\"." +#: src/Module/Search/Acl.php:37 +msgid "You must be logged in to use this module." msgstr "" -#: src/Module/Register.php:84 -msgid "" -"If you are not familiar with OpenID, please leave that field blank and fill " -"in the rest of the items." +#: src/Module/Search/Index.php:35 +msgid "Only logged in users are permitted to perform a search." msgstr "" -#: src/Module/Register.php:85 -msgid "Your OpenID (optional): " +#: src/Module/Search/Index.php:57 +msgid "Only one search per minute is permitted for not logged in users." msgstr "" -#: src/Module/Register.php:94 -msgid "Include your profile in member directory?" -msgstr "" - -#: src/Module/Register.php:117 -msgid "Note for the admin" -msgstr "" - -#: src/Module/Register.php:117 -msgid "Leave a message for the admin, why you want to join this node" -msgstr "" - -#: src/Module/Register.php:118 -msgid "Membership on this site is by invitation only." -msgstr "" - -#: src/Module/Register.php:119 -msgid "Your invitation code: " -msgstr "" - -#: src/Module/Register.php:127 -msgid "Your Full Name (e.g. Joe Smith, real or real-looking): " -msgstr "" - -#: src/Module/Register.php:128 -msgid "" -"Your Email Address: (Initial information will be send there, so this has to " -"be an existing address.)" -msgstr "" - -#: src/Module/Register.php:130 -msgid "Leave empty for an auto generated password." -msgstr "" - -#: src/Module/Register.php:132 +#: src/Module/Search/Index.php:183 #, php-format -msgid "" -"Choose a profile nickname. This must begin with a text character. Your " -"profile address on this site will then be \"nickname@%s\"." +msgid "Items tagged with: %s" msgstr "" -#: src/Module/Register.php:133 -msgid "Choose a nickname: " -msgstr "" - -#: src/Module/Register.php:142 -msgid "Import your profile to this friendica instance" -msgstr "" - -#: src/Module/Register.php:149 -msgid "Note: This node explicitly contains adult content" -msgstr "" - -#: src/Module/Register.php:242 -msgid "" -"Registration successful. Please check your email for further instructions." -msgstr "" - -#: src/Module/Register.php:246 +#: src/Module/Search/Index.php:185 src/Module/Contact.php:815 #, php-format -msgid "" -"Failed to send email message. Here your accout details:
login: %s
" -"password: %s

You can change your password after login." +msgid "Results for: %s" msgstr "" -#: src/Module/Register.php:253 -msgid "Registration successful." +#: src/Module/Search/Saved.php:29 +msgid "Search term successfully saved." msgstr "" -#: src/Module/Register.php:258 -msgid "Your registration can not be processed." +#: src/Module/Search/Saved.php:31 +msgid "Search term already saved." msgstr "" -#: src/Module/Register.php:304 -msgid "Your registration is pending approval by the site owner." +#: src/Module/Search/Saved.php:37 +msgid "Search term successfully removed." msgstr "" #: src/Module/Settings/TwoFactor/AppSpecific.php:36 @@ -9488,6 +9240,36 @@ msgstr "" msgid "Generate" msgstr "" +#: src/Module/Settings/TwoFactor/Recovery.php:50 +msgid "New recovery codes successfully generated." +msgstr "" + +#: src/Module/Settings/TwoFactor/Recovery.php:76 +msgid "Two-factor recovery codes" +msgstr "" + +#: src/Module/Settings/TwoFactor/Recovery.php:78 +msgid "" +"

Recovery codes can be used to access your account in the event you lose " +"access to your device and cannot receive two-factor authentication codes.

Put these in a safe spot! If you lose your device and " +"don’t have the recovery codes you will lose access to your account.

" +msgstr "" + +#: src/Module/Settings/TwoFactor/Recovery.php:80 +msgid "" +"When you generate new recovery codes, you must copy the new codes. Your old " +"codes won’t work anymore." +msgstr "" + +#: src/Module/Settings/TwoFactor/Recovery.php:81 +msgid "Generate new recovery codes" +msgstr "" + +#: src/Module/Settings/TwoFactor/Recovery.php:83 +msgid "Next: Verification" +msgstr "" + #: src/Module/Settings/TwoFactor/Index.php:51 msgid "Two-factor authentication successfully disabled." msgstr "" @@ -9546,7 +9328,7 @@ msgid "" "supporting two-factor authentication.

" msgstr "" -#: src/Module/Settings/TwoFactor/Index.php:111 src/Module/Contact.php:614 +#: src/Module/Settings/TwoFactor/Index.php:111 src/Module/Contact.php:635 msgid "Actions" msgstr "" @@ -9580,42 +9362,12 @@ msgstr "" msgid "Finish app configuration" msgstr "" -#: src/Module/Settings/TwoFactor/Recovery.php:50 -msgid "New recovery codes successfully generated." -msgstr "" - -#: src/Module/Settings/TwoFactor/Recovery.php:76 -msgid "Two-factor recovery codes" -msgstr "" - -#: src/Module/Settings/TwoFactor/Recovery.php:78 -msgid "" -"

Recovery codes can be used to access your account in the event you lose " -"access to your device and cannot receive two-factor authentication codes.

Put these in a safe spot! If you lose your device and " -"don’t have the recovery codes you will lose access to your account.

" -msgstr "" - -#: src/Module/Settings/TwoFactor/Recovery.php:80 -msgid "" -"When you generate new recovery codes, you must copy the new codes. Your old " -"codes won’t work anymore." -msgstr "" - -#: src/Module/Settings/TwoFactor/Recovery.php:81 -msgid "Generate new recovery codes" -msgstr "" - -#: src/Module/Settings/TwoFactor/Recovery.php:83 -msgid "Next: Verification" -msgstr "" - #: src/Module/Settings/TwoFactor/Verify.php:63 msgid "Two-factor authentication successfully activated." msgstr "" #: src/Module/Settings/TwoFactor/Verify.php:67 -#: src/Module/TwoFactor/Recovery.php:46 src/Module/TwoFactor/Verify.php:43 +#: src/Module/TwoFactor/Verify.php:43 src/Module/TwoFactor/Recovery.php:46 msgid "Invalid code, please retry." msgstr "" @@ -9665,6 +9417,112 @@ msgstr "" msgid "Verify code and enable two-factor authentication" msgstr "" +#: src/Module/Settings/Delegation.php:37 +msgid "Delegation successfully granted." +msgstr "" + +#: src/Module/Settings/Delegation.php:39 +msgid "Parent user not found, unavailable or password doesn't match." +msgstr "" + +#: src/Module/Settings/Delegation.php:43 +msgid "Delegation successfully revoked." +msgstr "" + +#: src/Module/Settings/Delegation.php:66 src/Module/Settings/Delegation.php:88 +msgid "" +"Delegated administrators can view but not change delegation permissions." +msgstr "" + +#: src/Module/Settings/Delegation.php:80 +msgid "Delegate user not found." +msgstr "" + +#: src/Module/Settings/Delegation.php:137 +msgid "No parent user" +msgstr "" + +#: src/Module/Settings/Delegation.php:149 +msgid "Parent Password:" +msgstr "" + +#: src/Module/Settings/Delegation.php:149 +msgid "" +"Please enter the password of the parent account to legitimize your request." +msgstr "" + +#: src/Module/Settings/Delegation.php:154 +msgid "Parent User" +msgstr "" + +#: src/Module/Settings/Delegation.php:157 +msgid "" +"Parent users have total control about this account, including the account " +"settings. Please double check whom you give this access." +msgstr "" + +#: src/Module/Settings/Delegation.php:159 +msgid "Delegate Page Management" +msgstr "" + +#: src/Module/Settings/Delegation.php:160 +msgid "Delegates" +msgstr "" + +#: src/Module/Settings/Delegation.php:162 +msgid "" +"Delegates are able to manage all aspects of this account/page except for " +"basic account settings. Please do not delegate your personal account to " +"anybody that you do not trust completely." +msgstr "" + +#: src/Module/Settings/Delegation.php:163 +msgid "Existing Page Delegates" +msgstr "" + +#: src/Module/Settings/Delegation.php:165 +msgid "Potential Delegates" +msgstr "" + +#: src/Module/Settings/Delegation.php:168 +msgid "Add" +msgstr "" + +#: src/Module/Settings/Delegation.php:169 +msgid "No entries." +msgstr "" + +#: src/Module/Settings/UserExport.php:44 +msgid "Export account" +msgstr "" + +#: src/Module/Settings/UserExport.php:44 +msgid "" +"Export your account info and contacts. Use this to make a backup of your " +"account and/or to move it to another server." +msgstr "" + +#: src/Module/Settings/UserExport.php:45 +msgid "Export all" +msgstr "" + +#: src/Module/Settings/UserExport.php:45 +msgid "" +"Export your accout info, contacts and all your items as json. Could be a " +"very big file, and could take a lot of time. Use this to make a full backup " +"of your account (photos are not exported)" +msgstr "" + +#: src/Module/Settings/UserExport.php:46 +msgid "Export Contacts to CSV" +msgstr "" + +#: src/Module/Settings/UserExport.php:46 +msgid "" +"Export the list of the accounts you are following as CSV file. Compatible to " +"e.g. Mastodon." +msgstr "" + #: src/Module/Special/HTTPException.php:32 msgid "Bad Request" msgstr "" @@ -9726,6 +9584,22 @@ msgstr "" msgid "Go back" msgstr "" +#: src/Module/TwoFactor/Verify.php:63 +msgid "" +"

Open the two-factor authentication app on your device to get an " +"authentication code and verify your identity.

" +msgstr "" + +#: src/Module/TwoFactor/Verify.php:66 src/Module/TwoFactor/Recovery.php:67 +#, php-format +msgid "" +"Don’t have your phone? Enter a two-factor recovery code" +msgstr "" + +#: src/Module/TwoFactor/Verify.php:68 +msgid "Verify code and complete login" +msgstr "" + #: src/Module/TwoFactor/Recovery.php:41 #, php-format msgid "Remaining recovery codes: %d" @@ -9741,12 +9615,6 @@ msgid "" "to your mobile device.

" msgstr "" -#: src/Module/TwoFactor/Recovery.php:67 src/Module/TwoFactor/Verify.php:66 -#, php-format -msgid "" -"Don’t have your phone? Enter a two-factor recovery code" -msgstr "" - #: src/Module/TwoFactor/Recovery.php:68 msgid "Please enter a recovery code" msgstr "" @@ -9755,16 +9623,6 @@ msgstr "" msgid "Submit recovery code and complete login" msgstr "" -#: src/Module/TwoFactor/Verify.php:63 -msgid "" -"

Open the two-factor authentication app on your device to get an " -"authentication code and verify your identity.

" -msgstr "" - -#: src/Module/TwoFactor/Verify.php:68 -msgid "Verify code and complete login" -msgstr "" - #: src/Module/Welcome.php:25 msgid "Welcome to Friendica" msgstr "" @@ -9930,6 +9788,20 @@ msgid "" "features and resources." msgstr "" +#: src/Module/AllFriends.php:55 +msgid "No friends to display." +msgstr "" + +#: src/Module/BaseSearchModule.php:54 +#, php-format +msgid "People Search - %s" +msgstr "" + +#: src/Module/BaseSearchModule.php:64 +#, php-format +msgid "Forum Search - %s" +msgstr "" + #: src/Module/Bookmarklet.php:35 msgid "This page is missing a url parameter." msgstr "" @@ -9957,340 +9829,387 @@ msgstr "" msgid "Contact updated." msgstr "" -#: src/Module/Contact.php:355 +#: src/Module/Contact.php:376 msgid "Contact not found" msgstr "" -#: src/Module/Contact.php:374 +#: src/Module/Contact.php:395 msgid "Contact has been blocked" msgstr "" -#: src/Module/Contact.php:374 +#: src/Module/Contact.php:395 msgid "Contact has been unblocked" msgstr "" -#: src/Module/Contact.php:384 +#: src/Module/Contact.php:405 msgid "Contact has been ignored" msgstr "" -#: src/Module/Contact.php:384 +#: src/Module/Contact.php:405 msgid "Contact has been unignored" msgstr "" -#: src/Module/Contact.php:394 +#: src/Module/Contact.php:415 msgid "Contact has been archived" msgstr "" -#: src/Module/Contact.php:394 +#: src/Module/Contact.php:415 msgid "Contact has been unarchived" msgstr "" -#: src/Module/Contact.php:418 +#: src/Module/Contact.php:439 msgid "Drop contact" msgstr "" -#: src/Module/Contact.php:421 src/Module/Contact.php:798 +#: src/Module/Contact.php:442 src/Module/Contact.php:819 msgid "Do you really want to delete this contact?" msgstr "" -#: src/Module/Contact.php:435 +#: src/Module/Contact.php:456 msgid "Contact has been removed." msgstr "" -#: src/Module/Contact.php:465 +#: src/Module/Contact.php:486 #, php-format msgid "You are mutual friends with %s" msgstr "" -#: src/Module/Contact.php:470 +#: src/Module/Contact.php:491 #, php-format msgid "You are sharing with %s" msgstr "" -#: src/Module/Contact.php:475 +#: src/Module/Contact.php:496 #, php-format msgid "%s is sharing with you" msgstr "" -#: src/Module/Contact.php:499 +#: src/Module/Contact.php:520 msgid "Private communications are not available for this contact." msgstr "" -#: src/Module/Contact.php:501 +#: src/Module/Contact.php:522 msgid "Never" msgstr "" -#: src/Module/Contact.php:504 +#: src/Module/Contact.php:525 msgid "(Update was successful)" msgstr "" -#: src/Module/Contact.php:504 +#: src/Module/Contact.php:525 msgid "(Update was not successful)" msgstr "" -#: src/Module/Contact.php:506 src/Module/Contact.php:1042 +#: src/Module/Contact.php:527 src/Module/Contact.php:1063 msgid "Suggest friends" msgstr "" -#: src/Module/Contact.php:510 +#: src/Module/Contact.php:531 #, php-format msgid "Network type: %s" msgstr "" -#: src/Module/Contact.php:515 +#: src/Module/Contact.php:536 msgid "Communications lost with this contact!" msgstr "" -#: src/Module/Contact.php:521 +#: src/Module/Contact.php:542 msgid "Fetch further information for feeds" msgstr "" -#: src/Module/Contact.php:523 +#: src/Module/Contact.php:544 msgid "" "Fetch information like preview pictures, title and teaser from the feed " "item. You can activate this if the feed doesn't contain much text. Keywords " "are taken from the meta header in the feed item and are posted as hash tags." msgstr "" -#: src/Module/Contact.php:526 +#: src/Module/Contact.php:547 msgid "Fetch information" msgstr "" -#: src/Module/Contact.php:527 +#: src/Module/Contact.php:548 msgid "Fetch keywords" msgstr "" -#: src/Module/Contact.php:528 +#: src/Module/Contact.php:549 msgid "Fetch information and keywords" msgstr "" -#: src/Module/Contact.php:547 +#: src/Module/Contact.php:568 msgid "Profile Visibility" msgstr "" -#: src/Module/Contact.php:548 +#: src/Module/Contact.php:569 msgid "Contact Information / Notes" msgstr "" -#: src/Module/Contact.php:549 +#: src/Module/Contact.php:570 msgid "Contact Settings" msgstr "" -#: src/Module/Contact.php:558 +#: src/Module/Contact.php:579 msgid "Contact" msgstr "" -#: src/Module/Contact.php:562 +#: src/Module/Contact.php:583 #, php-format msgid "" "Please choose the profile you would like to display to %s when viewing your " "profile securely." msgstr "" -#: src/Module/Contact.php:564 +#: src/Module/Contact.php:585 msgid "Their personal note" msgstr "" -#: src/Module/Contact.php:566 +#: src/Module/Contact.php:587 msgid "Edit contact notes" msgstr "" -#: src/Module/Contact.php:570 +#: src/Module/Contact.php:591 msgid "Block/Unblock contact" msgstr "" -#: src/Module/Contact.php:571 +#: src/Module/Contact.php:592 msgid "Ignore contact" msgstr "" -#: src/Module/Contact.php:572 +#: src/Module/Contact.php:593 msgid "Repair URL settings" msgstr "" -#: src/Module/Contact.php:573 +#: src/Module/Contact.php:594 msgid "View conversations" msgstr "" -#: src/Module/Contact.php:578 +#: src/Module/Contact.php:599 msgid "Last update:" msgstr "" -#: src/Module/Contact.php:580 +#: src/Module/Contact.php:601 msgid "Update public posts" msgstr "" -#: src/Module/Contact.php:582 src/Module/Contact.php:1052 +#: src/Module/Contact.php:603 src/Module/Contact.php:1073 msgid "Update now" msgstr "" -#: src/Module/Contact.php:586 src/Module/Contact.php:803 -#: src/Module/Contact.php:1069 +#: src/Module/Contact.php:607 src/Module/Contact.php:824 +#: src/Module/Contact.php:1090 msgid "Unignore" msgstr "" -#: src/Module/Contact.php:590 +#: src/Module/Contact.php:611 msgid "Currently blocked" msgstr "" -#: src/Module/Contact.php:591 +#: src/Module/Contact.php:612 msgid "Currently ignored" msgstr "" -#: src/Module/Contact.php:592 +#: src/Module/Contact.php:613 msgid "Currently archived" msgstr "" -#: src/Module/Contact.php:593 +#: src/Module/Contact.php:614 msgid "Awaiting connection acknowledge" msgstr "" -#: src/Module/Contact.php:594 +#: src/Module/Contact.php:615 msgid "" "Replies/likes to your public posts may still be visible" msgstr "" -#: src/Module/Contact.php:595 +#: src/Module/Contact.php:616 msgid "Notification for new posts" msgstr "" -#: src/Module/Contact.php:595 +#: src/Module/Contact.php:616 msgid "Send a notification of every new post of this contact" msgstr "" -#: src/Module/Contact.php:597 +#: src/Module/Contact.php:618 msgid "Blacklisted keywords" msgstr "" -#: src/Module/Contact.php:597 +#: src/Module/Contact.php:618 msgid "" "Comma separated list of keywords that should not be converted to hashtags, " "when \"Fetch information and keywords\" is selected" msgstr "" -#: src/Module/Contact.php:663 +#: src/Module/Contact.php:684 msgid "Show all contacts" msgstr "" -#: src/Module/Contact.php:668 src/Module/Contact.php:778 +#: src/Module/Contact.php:689 src/Module/Contact.php:799 msgid "Pending" msgstr "" -#: src/Module/Contact.php:671 +#: src/Module/Contact.php:692 msgid "Only show pending contacts" msgstr "" -#: src/Module/Contact.php:676 src/Module/Contact.php:779 +#: src/Module/Contact.php:697 src/Module/Contact.php:800 msgid "Blocked" msgstr "" -#: src/Module/Contact.php:679 +#: src/Module/Contact.php:700 msgid "Only show blocked contacts" msgstr "" -#: src/Module/Contact.php:684 src/Module/Contact.php:781 +#: src/Module/Contact.php:705 src/Module/Contact.php:802 msgid "Ignored" msgstr "" -#: src/Module/Contact.php:687 +#: src/Module/Contact.php:708 msgid "Only show ignored contacts" msgstr "" -#: src/Module/Contact.php:692 src/Module/Contact.php:782 +#: src/Module/Contact.php:713 src/Module/Contact.php:803 msgid "Archived" msgstr "" -#: src/Module/Contact.php:695 +#: src/Module/Contact.php:716 msgid "Only show archived contacts" msgstr "" -#: src/Module/Contact.php:700 src/Module/Contact.php:780 +#: src/Module/Contact.php:721 src/Module/Contact.php:801 msgid "Hidden" msgstr "" -#: src/Module/Contact.php:703 +#: src/Module/Contact.php:724 msgid "Only show hidden contacts" msgstr "" -#: src/Module/Contact.php:711 +#: src/Module/Contact.php:732 msgid "Organize your contact groups" msgstr "" -#: src/Module/Contact.php:793 +#: src/Module/Contact.php:814 msgid "Search your contacts" msgstr "" -#: src/Module/Contact.php:804 src/Module/Contact.php:1078 +#: src/Module/Contact.php:825 src/Module/Contact.php:1099 msgid "Archive" msgstr "" -#: src/Module/Contact.php:804 src/Module/Contact.php:1078 +#: src/Module/Contact.php:825 src/Module/Contact.php:1099 msgid "Unarchive" msgstr "" -#: src/Module/Contact.php:807 +#: src/Module/Contact.php:828 msgid "Batch Actions" msgstr "" -#: src/Module/Contact.php:834 +#: src/Module/Contact.php:855 msgid "Conversations started by this contact" msgstr "" -#: src/Module/Contact.php:839 +#: src/Module/Contact.php:860 msgid "Posts and Comments" msgstr "" -#: src/Module/Contact.php:862 +#: src/Module/Contact.php:883 msgid "View all contacts" msgstr "" -#: src/Module/Contact.php:873 +#: src/Module/Contact.php:894 msgid "View all common friends" msgstr "" -#: src/Module/Contact.php:883 +#: src/Module/Contact.php:904 msgid "Advanced Contact Settings" msgstr "" -#: src/Module/Contact.php:966 +#: src/Module/Contact.php:987 msgid "Mutual Friendship" msgstr "" -#: src/Module/Contact.php:971 +#: src/Module/Contact.php:992 msgid "is a fan of yours" msgstr "" -#: src/Module/Contact.php:976 +#: src/Module/Contact.php:997 msgid "you are a fan of" msgstr "" -#: src/Module/Contact.php:994 +#: src/Module/Contact.php:1015 msgid "Pending outgoing contact request" msgstr "" -#: src/Module/Contact.php:996 +#: src/Module/Contact.php:1017 msgid "Pending incoming contact request" msgstr "" -#: src/Module/Contact.php:1009 +#: src/Module/Contact.php:1030 msgid "Edit contact" msgstr "" -#: src/Module/Contact.php:1063 +#: src/Module/Contact.php:1084 msgid "Toggle Blocked status" msgstr "" -#: src/Module/Contact.php:1071 +#: src/Module/Contact.php:1092 msgid "Toggle Ignored status" msgstr "" -#: src/Module/Contact.php:1080 +#: src/Module/Contact.php:1101 msgid "Toggle Archive status" msgstr "" -#: src/Module/Contact.php:1088 +#: src/Module/Contact.php:1109 msgid "Delete contact" msgstr "" +#: src/Module/Delegation.php:127 +msgid "Manage Identities and/or Pages" +msgstr "" + +#: src/Module/Delegation.php:128 +msgid "" +"Toggle between different identities or community/group pages which share " +"your account details or which you have been granted \"manage\" permissions" +msgstr "" + +#: src/Module/Delegation.php:129 +msgid "Select an identity to manage: " +msgstr "" + +#: src/Module/Directory.php:59 +msgid "No entries (some entries may be hidden)." +msgstr "" + +#: src/Module/Directory.php:78 +msgid "Find on this site" +msgstr "" + +#: src/Module/Directory.php:80 +msgid "Results for:" +msgstr "" + +#: src/Module/Directory.php:82 +msgid "Site Directory" +msgstr "" + +#: src/Module/FollowConfirm.php:37 +msgid "No given contact." +msgstr "" + +#: src/Module/HTTPException/MethodNotAllowed.php:13 +msgid "Method Not Allowed." +msgstr "" + +#: src/Module/HTTPException/PageNotFound.php:13 src/App/Router.php:182 +msgid "Page not found." +msgstr "" + +#: src/Module/Home.php:34 +#, php-format +msgid "Welcome to %s" +msgstr "" + #: src/Module/Install.php:159 msgid "Friendica Communications Server - Setup" msgstr "" @@ -10434,87 +10353,268 @@ msgid "" "administrator email. This will allow you to enter the site admin panel." msgstr "" -#: src/Object/Post.php:138 +#: src/Module/Login.php:312 +msgid "Create a New Account" +msgstr "" + +#: src/Module/Login.php:337 +msgid "Your OpenID: " +msgstr "" + +#: src/Module/Login.php:340 +msgid "" +"Please enter your username and password to add the OpenID to your existing " +"account." +msgstr "" + +#: src/Module/Login.php:342 +msgid "Or login using OpenID: " +msgstr "" + +#: src/Module/Login.php:356 +msgid "Password: " +msgstr "" + +#: src/Module/Login.php:357 +msgid "Remember me" +msgstr "" + +#: src/Module/Login.php:366 +msgid "Forgot your password?" +msgstr "" + +#: src/Module/Login.php:369 +msgid "Website Terms of Service" +msgstr "" + +#: src/Module/Login.php:370 +msgid "terms of service" +msgstr "" + +#: src/Module/Login.php:372 +msgid "Website Privacy Policy" +msgstr "" + +#: src/Module/Login.php:373 +msgid "privacy policy" +msgstr "" + +#: src/Module/Logout.php:40 +msgid "Logged out." +msgstr "" + +#: src/Module/Register.php:77 +msgid "" +"You may (optionally) fill in this form via OpenID by supplying your OpenID " +"and clicking \"Register\"." +msgstr "" + +#: src/Module/Register.php:78 +msgid "" +"If you are not familiar with OpenID, please leave that field blank and fill " +"in the rest of the items." +msgstr "" + +#: src/Module/Register.php:79 +msgid "Your OpenID (optional): " +msgstr "" + +#: src/Module/Register.php:88 +msgid "Include your profile in member directory?" +msgstr "" + +#: src/Module/Register.php:111 +msgid "Note for the admin" +msgstr "" + +#: src/Module/Register.php:111 +msgid "Leave a message for the admin, why you want to join this node" +msgstr "" + +#: src/Module/Register.php:112 +msgid "Membership on this site is by invitation only." +msgstr "" + +#: src/Module/Register.php:113 +msgid "Your invitation code: " +msgstr "" + +#: src/Module/Register.php:121 +msgid "Your Full Name (e.g. Joe Smith, real or real-looking): " +msgstr "" + +#: src/Module/Register.php:122 +msgid "" +"Your Email Address: (Initial information will be send there, so this has to " +"be an existing address.)" +msgstr "" + +#: src/Module/Register.php:124 +msgid "Leave empty for an auto generated password." +msgstr "" + +#: src/Module/Register.php:126 +#, php-format +msgid "" +"Choose a profile nickname. This must begin with a text character. Your " +"profile address on this site will then be \"nickname@%s\"." +msgstr "" + +#: src/Module/Register.php:127 +msgid "Choose a nickname: " +msgstr "" + +#: src/Module/Register.php:136 +msgid "Import your profile to this friendica instance" +msgstr "" + +#: src/Module/Register.php:143 +msgid "Note: This node explicitly contains adult content" +msgstr "" + +#: src/Module/Register.php:238 +msgid "" +"Registration successful. Please check your email for further instructions." +msgstr "" + +#: src/Module/Register.php:242 +#, php-format +msgid "" +"Failed to send email message. Here your accout details:
login: %s
" +"password: %s

You can change your password after login." +msgstr "" + +#: src/Module/Register.php:248 +msgid "Registration successful." +msgstr "" + +#: src/Module/Register.php:253 src/Module/Register.php:260 +msgid "Your registration can not be processed." +msgstr "" + +#: src/Module/Register.php:259 +msgid "You have to leave a request note for the admin." +msgstr "" + +#: src/Module/Register.php:307 +msgid "Your registration is pending approval by the site owner." +msgstr "" + +#: src/Module/Tos.php:35 src/Module/Tos.php:77 +msgid "" +"At the time of registration, and for providing communications between the " +"user account and their contacts, the user has to provide a display name (pen " +"name), an username (nickname) and a working email address. The names will be " +"accessible on the profile page of the account by any visitor of the page, " +"even if other profile details are not displayed. The email address will only " +"be used to send the user notifications about interactions, but wont be " +"visibly displayed. The listing of an account in the node's user directory or " +"the global user directory is optional and can be controlled in the user " +"settings, it is not necessary for communication." +msgstr "" + +#: src/Module/Tos.php:36 src/Module/Tos.php:78 +msgid "" +"This data is required for communication and is passed on to the nodes of the " +"communication partners and is stored there. Users can enter additional " +"private data that may be transmitted to the communication partners accounts." +msgstr "" + +#: src/Module/Tos.php:37 src/Module/Tos.php:79 +#, php-format +msgid "" +"At any point in time a logged in user can export their account data from the " +"account settings. If the user wants " +"to delete their account they can do so at %1$s/" +"removeme. The deletion of the account will be permanent. Deletion of the " +"data will also be requested from the nodes of the communication partners." +msgstr "" + +#: src/Module/Tos.php:40 src/Module/Tos.php:76 +msgid "Privacy Statement" +msgstr "" + +#: src/Object/Post.php:135 msgid "This entry was edited" msgstr "" -#: src/Object/Post.php:158 +#: src/Object/Post.php:155 msgid "Private Message" msgstr "" -#: src/Object/Post.php:200 +#: src/Object/Post.php:197 msgid "Delete locally" msgstr "" -#: src/Object/Post.php:203 +#: src/Object/Post.php:200 msgid "Delete globally" msgstr "" -#: src/Object/Post.php:203 +#: src/Object/Post.php:200 msgid "Remove locally" msgstr "" -#: src/Object/Post.php:217 +#: src/Object/Post.php:214 msgid "save to folder" msgstr "" -#: src/Object/Post.php:252 +#: src/Object/Post.php:249 msgid "I will attend" msgstr "" -#: src/Object/Post.php:252 +#: src/Object/Post.php:249 msgid "I will not attend" msgstr "" -#: src/Object/Post.php:252 +#: src/Object/Post.php:249 msgid "I might attend" msgstr "" -#: src/Object/Post.php:280 +#: src/Object/Post.php:277 msgid "ignore thread" msgstr "" -#: src/Object/Post.php:281 +#: src/Object/Post.php:278 msgid "unignore thread" msgstr "" -#: src/Object/Post.php:282 +#: src/Object/Post.php:279 msgid "toggle ignore status" msgstr "" -#: src/Object/Post.php:293 +#: src/Object/Post.php:290 msgid "add star" msgstr "" -#: src/Object/Post.php:294 +#: src/Object/Post.php:291 msgid "remove star" msgstr "" -#: src/Object/Post.php:295 +#: src/Object/Post.php:292 msgid "toggle star status" msgstr "" -#: src/Object/Post.php:298 +#: src/Object/Post.php:295 msgid "starred" msgstr "" -#: src/Object/Post.php:302 +#: src/Object/Post.php:299 msgid "add tag" msgstr "" -#: src/Object/Post.php:313 +#: src/Object/Post.php:310 msgid "like" msgstr "" -#: src/Object/Post.php:314 +#: src/Object/Post.php:311 msgid "dislike" msgstr "" -#: src/Object/Post.php:317 +#: src/Object/Post.php:314 msgid "Share this" msgstr "" -#: src/Object/Post.php:317 +#: src/Object/Post.php:314 msgid "share" msgstr "" @@ -10586,17 +10686,16 @@ msgstr "" msgid "toggle mobile" msgstr "" +#: src/App/Router.php:180 +#, php-format +msgid "Method not allowed for this module. Allowed method(s): %s" +msgstr "" + #: src/LegacyModule.php:30 #, php-format msgid "Legacy module file not found: %s" msgstr "" -#: src/BaseModule.php:135 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." -msgstr "" - #: src/Console/ArchiveContact.php:86 #, php-format msgid "Could not find any unarchived contact entry for this URL (%s)" @@ -10631,10 +10730,16 @@ msgstr "" msgid "All pending post updates are done." msgstr "" -#: src/App.php:485 +#: src/App.php:519 msgid "No system theme config value set." msgstr "" +#: src/BaseModule.php:134 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." +msgstr "" + #: update.php:218 #, php-format msgid "%s: Updating author-id and owner-id in item and thread table. " From 8720094b52c75f336bbade7aacae25014d65b324 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 05:03:05 +0000 Subject: [PATCH 08/41] Pass the parameters from the router to the modules --- src/App/Module.php | 22 +++++++++++++++------- src/App/Router.php | 17 +++++++++++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/App/Module.php b/src/App/Module.php index 33a9b2fc2..eb5552285 100644 --- a/src/App/Module.php +++ b/src/App/Module.php @@ -63,6 +63,11 @@ class Module */ private $module_class; + /** + * @var array The module parameters + */ + private $module_parameters; + /** * @var bool true, if the module is a backend module */ @@ -98,10 +103,11 @@ class Module return $this->isBackend; } - public function __construct(string $module = self::DEFAULT, string $moduleClass = self::DEFAULT_CLASS, bool $isBackend = false, bool $printNotAllowedAddon = false) + public function __construct(string $module = self::DEFAULT, string $moduleClass = self::DEFAULT_CLASS, array $moduleParameters = [], bool $isBackend = false, bool $printNotAllowedAddon = false) { $this->module = $module; $this->module_class = $moduleClass; + $this->module_parameters = $moduleParameters; $this->isBackend = $isBackend; $this->printNotAllowedAddon = $printNotAllowedAddon; } @@ -129,7 +135,7 @@ class Module $isBackend = in_array($module, Module::BACKEND_MODULES);; - return new Module($module, $this->module_class, $isBackend, $this->printNotAllowedAddon); + return new Module($module, $this->module_class, [], $isBackend, $this->printNotAllowedAddon); } /** @@ -148,6 +154,7 @@ class Module $printNotAllowedAddon = false; $module_class = null; + $module_parameters = []; /** * ROUTING * @@ -156,6 +163,7 @@ class Module **/ try { $module_class = $router->getModuleClass($args->getCommand()); + $module_parameters = $router->getModuleParameters(); } catch (MethodNotAllowedException $e) { $module_class = MethodNotAllowed::class; } catch (NotFoundException $e) { @@ -185,7 +193,7 @@ class Module $module_class = $module_class ?: PageNotFound::class; } - return new Module($this->module, $module_class, $this->isBackend, $printNotAllowedAddon); + return new Module($this->module, $module_class, $module_parameters, $this->isBackend, $printNotAllowedAddon); } /** @@ -233,18 +241,18 @@ class Module Core\Hook::callAll($this->module . '_mod_init', $placeholder); - call_user_func([$this->module_class, 'init']); + call_user_func([$this->module_class, 'init'], $this->module_parameters); // "rawContent" is especially meant for technical endpoints. // This endpoint doesn't need any theme initialization or other comparable stuff. - call_user_func([$this->module_class, 'rawContent']); + call_user_func([$this->module_class, 'rawContent'], $this->module_parameters); if ($server['REQUEST_METHOD'] === 'POST') { Core\Hook::callAll($this->module . '_mod_post', $post); - call_user_func([$this->module_class, 'post']); + call_user_func([$this->module_class, 'post'], $this->module_parameters); } Core\Hook::callAll($this->module . '_mod_afterpost', $placeholder); - call_user_func([$this->module_class, 'afterpost']); + call_user_func([$this->module_class, 'afterpost'], $this->module_parameters); } } diff --git a/src/App/Router.php b/src/App/Router.php index f723321ac..a4a4a852a 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -39,6 +39,11 @@ class Router */ private $httpMethod; + /** + * @var array Module parameters + */ + private $parameters = []; + /** * @param array $server The $_SERVER variable * @param RouteCollector|null $routeCollector Optional the loaded Route collector @@ -172,10 +177,12 @@ class Router $dispatcher = new \FastRoute\Dispatcher\GroupCountBased($this->routeCollector->getData()); $moduleClass = null; + $this->parameters = []; $routeInfo = $dispatcher->dispatch($this->httpMethod, $cmd); if ($routeInfo[0] === Dispatcher::FOUND) { $moduleClass = $routeInfo[1]; + $this->parameters = $routeInfo[2]; } elseif ($routeInfo[0] === Dispatcher::METHOD_NOT_ALLOWED) { throw new HTTPException\MethodNotAllowedException(L10n::t('Method not allowed for this module. Allowed method(s): %s', implode(', ', $routeInfo[1]))); } else { @@ -184,4 +191,14 @@ class Router return $moduleClass; } + + /** + * Returns the module parameters. + * + * @return array parameters + */ + public function getModuleParameters() + { + return $this->parameters; + } } From 695a920d408d37d236bf4c7b351f0c0aa27b9d3c Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 06:51:19 +0000 Subject: [PATCH 09/41] Making tests happy --- tests/src/App/ModeTest.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/src/App/ModeTest.php b/tests/src/App/ModeTest.php index fe65793f8..12ec2b4db 100644 --- a/tests/src/App/ModeTest.php +++ b/tests/src/App/ModeTest.php @@ -200,7 +200,7 @@ class ModeTest extends MockedTest public function testIsBackendButIndex() { $server = []; - $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, true); + $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], true); $mobileDetect = new MobileDetect(); $mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect); @@ -214,7 +214,7 @@ class ModeTest extends MockedTest public function testIsNotBackend() { $server = []; - $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false); + $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false); $mobileDetect = new MobileDetect(); $mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect); @@ -232,7 +232,7 @@ class ModeTest extends MockedTest 'HTTP_X_REQUESTED_WITH' => 'xmlhttprequest', ]; - $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false); + $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false); $mobileDetect = new MobileDetect(); $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect); @@ -246,7 +246,7 @@ class ModeTest extends MockedTest public function testIsNotAjax() { $server = []; - $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false); + $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false); $mobileDetect = new MobileDetect(); $mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect); @@ -260,7 +260,7 @@ class ModeTest extends MockedTest public function testIsMobileIsTablet() { $server = []; - $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false); + $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false); $mobileDetect = \Mockery::mock(MobileDetect::class); $mobileDetect->shouldReceive('isMobile')->andReturn(true); $mobileDetect->shouldReceive('isTablet')->andReturn(true); @@ -278,7 +278,7 @@ class ModeTest extends MockedTest public function testIsNotMobileIsNotTablet() { $server = []; - $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false); + $module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false); $mobileDetect = \Mockery::mock(MobileDetect::class); $mobileDetect->shouldReceive('isMobile')->andReturn(false); $mobileDetect->shouldReceive('isTablet')->andReturn(false); From 30e02beb461bcfe564f69479e5562f620896f28b Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 19:16:11 +0000 Subject: [PATCH 10/41] New module to pin posts --- src/Module/Pinned.php | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/Module/Pinned.php diff --git a/src/Module/Pinned.php b/src/Module/Pinned.php new file mode 100644 index 000000000..590bda159 --- /dev/null +++ b/src/Module/Pinned.php @@ -0,0 +1,60 @@ +argc > 1) { + $itemId = intval($a->argv[1]); + } + + if (!$itemId) { + exit(); + } + + $item = Item::selectFirstForUser(local_user(), ['pinned'], ['uid' => local_user(), 'id' => $itemId]); + if (empty($item)) { + exit(); + } + + if (!intval($item['pinned'])) { + $pinned = 1; + } + + Item::update(['pinned' => $pinned], ['id' => $itemId]); + + // See if we've been passed a return path to redirect to + $returnPath = $_REQUEST['return'] ?? ''; + if ($returnPath) { + $rand = '_=' . time(); + if (strpos($returnPath, '?')) { + $rand = "&$rand"; + } else { + $rand = "?$rand"; + } + + $a->internalRedirect($returnPath . $rand); + } + + // the json doesn't really matter, it will either be 0 or 1 + echo json_encode($pinned); + exit(); + } +} From abe6724629b851c6cce965a0aa03658b9dae8c62 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 19:16:26 +0000 Subject: [PATCH 11/41] Added parameter to rawContent --- src/BaseModule.php | 2 +- .../AccountManagementControlDocument.php | 2 +- src/Module/Admin/PhpInfo.php | 4 +- src/Module/Attach.php | 2 +- src/Module/BaseAdminModule.php | 2 +- src/Module/Contact/Hovercard.php | 2 +- src/Module/Diaspora/Fetch.php | 2 +- src/Module/Filer/SaveTag.php | 2 +- src/Module/Followers.php | 2 +- src/Module/Following.php | 2 +- src/Module/Friendica.php | 2 +- src/Module/Inbox.php | 2 +- src/Module/Item/Ignore.php | 2 +- src/Module/Like.php | 2 +- src/Module/Manifest.php | 2 +- src/Module/NodeInfo.php | 2 +- src/Module/Notifications/Notify.php | 2 +- src/Module/Objects.php | 2 +- src/Module/OpenSearch.php | 2 +- src/Module/Outbox.php | 2 +- src/Module/Profile.php | 2 +- src/Module/PublicRSAKey.php | 2 +- src/Module/ReallySimpleDiscovery.php | 2 +- src/Module/RobotsTxt.php | 2 +- src/Module/Search/Acl.php | 2 +- src/Module/Settings/UserExport.php | 2 +- src/Module/Smilies.php | 2 +- src/Module/Starred.php | 37 ++++++------------- src/Module/Statistics.php | 2 +- src/Module/Theme.php | 2 +- src/Module/ThemeDetails.php | 2 +- src/Module/WellKnown/HostMeta.php | 2 +- src/Module/WellKnown/XSocialRelay.php | 2 +- src/Module/Xrd.php | 2 +- static/dbstructure.config.php | 5 ++- static/routes.config.php | 5 ++- 36 files changed, 51 insertions(+), 64 deletions(-) diff --git a/src/BaseModule.php b/src/BaseModule.php index 5185771d1..e049e9a94 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -32,7 +32,7 @@ abstract class BaseModule extends BaseObject * Extend this method if the module is supposed to return communication data, * e.g. from protocol implementations. */ - public static function rawContent() + public static function rawContent($parameters) { // echo ''; // exit; diff --git a/src/Module/AccountManagementControlDocument.php b/src/Module/AccountManagementControlDocument.php index 2e2a9e496..0cf1de6f1 100644 --- a/src/Module/AccountManagementControlDocument.php +++ b/src/Module/AccountManagementControlDocument.php @@ -11,7 +11,7 @@ use Friendica\BaseModule; */ class AccountManagementControlDocument extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $output = [ 'version' => 1, diff --git a/src/Module/Admin/PhpInfo.php b/src/Module/Admin/PhpInfo.php index b912117dc..9c7b59751 100644 --- a/src/Module/Admin/PhpInfo.php +++ b/src/Module/Admin/PhpInfo.php @@ -6,9 +6,9 @@ use Friendica\Module\BaseAdminModule; class PhpInfo extends BaseAdminModule { - public static function rawContent() + public static function rawContent($parameters) { - parent::rawContent(); + parent::rawContent($parameters); phpinfo(); exit(); diff --git a/src/Module/Attach.php b/src/Module/Attach.php index e9af90fac..fe0e063b0 100644 --- a/src/Module/Attach.php +++ b/src/Module/Attach.php @@ -20,7 +20,7 @@ class Attach extends BaseModule /** * @brief Return to user an attached file given the id */ - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); if ($a->argc != 2) { diff --git a/src/Module/BaseAdminModule.php b/src/Module/BaseAdminModule.php index 6802d09c1..61b3b4ff9 100644 --- a/src/Module/BaseAdminModule.php +++ b/src/Module/BaseAdminModule.php @@ -35,7 +35,7 @@ abstract class BaseAdminModule extends BaseModule } } - public static function rawContent() + public static function rawContent($parameters) { if (!is_site_admin()) { return ''; diff --git a/src/Module/Contact/Hovercard.php b/src/Module/Contact/Hovercard.php index 20290e0ac..7f314d361 100644 --- a/src/Module/Contact/Hovercard.php +++ b/src/Module/Contact/Hovercard.php @@ -18,7 +18,7 @@ use Friendica\Util\Proxy; */ class Hovercard extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $contact_url = $_REQUEST['url'] ?? ''; diff --git a/src/Module/Diaspora/Fetch.php b/src/Module/Diaspora/Fetch.php index 467d64566..b69cd1f12 100644 --- a/src/Module/Diaspora/Fetch.php +++ b/src/Module/Diaspora/Fetch.php @@ -17,7 +17,7 @@ use Friendica\Util\Strings; */ class Fetch extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); diff --git a/src/Module/Filer/SaveTag.php b/src/Module/Filer/SaveTag.php index e8e311268..14eb368ba 100644 --- a/src/Module/Filer/SaveTag.php +++ b/src/Module/Filer/SaveTag.php @@ -22,7 +22,7 @@ class SaveTag extends BaseModule } } - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); $logger = $a->getLogger(); diff --git a/src/Module/Followers.php b/src/Module/Followers.php index 5bd3fe0ce..34cb0cdbf 100644 --- a/src/Module/Followers.php +++ b/src/Module/Followers.php @@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub; */ class Followers extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); diff --git a/src/Module/Following.php b/src/Module/Following.php index 5b5f4dc98..cbf33d50f 100644 --- a/src/Module/Following.php +++ b/src/Module/Following.php @@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub; */ class Following extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); diff --git a/src/Module/Friendica.php b/src/Module/Friendica.php index ae8ea1496..cadacb48b 100644 --- a/src/Module/Friendica.php +++ b/src/Module/Friendica.php @@ -88,7 +88,7 @@ class Friendica extends BaseModule ]); } - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); diff --git a/src/Module/Inbox.php b/src/Module/Inbox.php index 2cc273b13..ac9932773 100644 --- a/src/Module/Inbox.php +++ b/src/Module/Inbox.php @@ -19,7 +19,7 @@ use Friendica\Util\Network; */ class Inbox extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); diff --git a/src/Module/Item/Ignore.php b/src/Module/Item/Ignore.php index 6a28310b4..662148076 100644 --- a/src/Module/Item/Ignore.php +++ b/src/Module/Item/Ignore.php @@ -16,7 +16,7 @@ use Friendica\Network\HTTPException; */ class Ignore extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { /** @var L10n $l10n */ $l10n = self::getClass(L10n::class); diff --git a/src/Module/Like.php b/src/Module/Like.php index cc450dd9d..3243a12cb 100644 --- a/src/Module/Like.php +++ b/src/Module/Like.php @@ -13,7 +13,7 @@ use Friendica\Util\Strings; */ class Like extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { if (!Session::isAuthenticated()) { throw new HTTPException\ForbiddenException(); diff --git a/src/Module/Manifest.php b/src/Module/Manifest.php index 9dadcf0f7..2fe432a5f 100644 --- a/src/Module/Manifest.php +++ b/src/Module/Manifest.php @@ -7,7 +7,7 @@ use Friendica\Core\Renderer; class Manifest extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/NodeInfo.php b/src/Module/NodeInfo.php index 3261ef690..f4ecc5da6 100644 --- a/src/Module/NodeInfo.php +++ b/src/Module/NodeInfo.php @@ -22,7 +22,7 @@ class NodeInfo extends BaseModule } } - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); diff --git a/src/Module/Notifications/Notify.php b/src/Module/Notifications/Notify.php index bad0900ea..360204d94 100644 --- a/src/Module/Notifications/Notify.php +++ b/src/Module/Notifications/Notify.php @@ -21,7 +21,7 @@ class Notify extends BaseModule } } - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); diff --git a/src/Module/Objects.php b/src/Module/Objects.php index 2104e8042..528b20a86 100644 --- a/src/Module/Objects.php +++ b/src/Module/Objects.php @@ -15,7 +15,7 @@ use Friendica\Protocol\ActivityPub; */ class Objects extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); diff --git a/src/Module/OpenSearch.php b/src/Module/OpenSearch.php index ff005bd56..89cf53055 100644 --- a/src/Module/OpenSearch.php +++ b/src/Module/OpenSearch.php @@ -16,7 +16,7 @@ class OpenSearch extends BaseModule /** * @throws \Exception */ - public static function rawContent() + public static function rawContent($parameters) { header('Content-type: application/opensearchdescription+xml'); diff --git a/src/Module/Outbox.php b/src/Module/Outbox.php index 4fc050763..334e7af71 100644 --- a/src/Module/Outbox.php +++ b/src/Module/Outbox.php @@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub; */ class Outbox extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $a = self::getApp(); diff --git a/src/Module/Profile.php b/src/Module/Profile.php index f38c77f2c..ab2fad2e2 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -51,7 +51,7 @@ class Profile extends BaseModule } } - public static function rawContent() + public static function rawContent($parameters) { if (ActivityPub::isRequest()) { $user = DBA::selectFirst('user', ['uid'], ['nickname' => self::$which]); diff --git a/src/Module/PublicRSAKey.php b/src/Module/PublicRSAKey.php index ed099616a..36502cc86 100644 --- a/src/Module/PublicRSAKey.php +++ b/src/Module/PublicRSAKey.php @@ -12,7 +12,7 @@ use Friendica\Network\HTTPException\BadRequestException; */ class PublicRSAKey extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); diff --git a/src/Module/ReallySimpleDiscovery.php b/src/Module/ReallySimpleDiscovery.php index 515285dbf..838843fbf 100644 --- a/src/Module/ReallySimpleDiscovery.php +++ b/src/Module/ReallySimpleDiscovery.php @@ -11,7 +11,7 @@ use Friendica\Util\XML; */ class ReallySimpleDiscovery extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { header('Content-Type: text/xml'); diff --git a/src/Module/RobotsTxt.php b/src/Module/RobotsTxt.php index 635056a0a..47e11201d 100644 --- a/src/Module/RobotsTxt.php +++ b/src/Module/RobotsTxt.php @@ -9,7 +9,7 @@ use Friendica\BaseModule; */ class RobotsTxt extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $allDisalloweds = [ '/settings/', diff --git a/src/Module/Search/Acl.php b/src/Module/Search/Acl.php index 101675600..e886a8fdb 100644 --- a/src/Module/Search/Acl.php +++ b/src/Module/Search/Acl.php @@ -31,7 +31,7 @@ class Acl extends BaseModule const TYPE_PRIVATE_MESSAGE = 'm'; const TYPE_ANY_CONTACT = 'a'; - public static function rawContent() + public static function rawContent($parameters) { if (!local_user()) { throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this module.')); diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index d5b8f88ec..9c4e4913c 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -59,7 +59,7 @@ class UserExport extends BaseSettingsModule * to the browser which then offers a save / open dialog * to the user. **/ - public static function rawContent() + public static function rawContent($parameters) { $args = self::getClass(Arguments::class); if ($args->getArgc() == 3) { diff --git a/src/Module/Smilies.php b/src/Module/Smilies.php index ded58768f..9a81a888e 100644 --- a/src/Module/Smilies.php +++ b/src/Module/Smilies.php @@ -12,7 +12,7 @@ use Friendica\Core\System; */ class Smilies extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); diff --git a/src/Module/Starred.php b/src/Module/Starred.php index 70cd39735..5c79c4fac 100644 --- a/src/Module/Starred.php +++ b/src/Module/Starred.php @@ -4,29 +4,23 @@ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Model\Item; +use Friendica\Core\System; /** * Toggle starred items */ class Starred extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { - $a = self::getApp(); - $starred = 0; - $itemId = null; - if (!local_user()) { exit(); } - // @TODO: Replace with parameter from router - if ($a->argc > 1) { - $itemId = intval($a->argv[1]); - } - - if (!$itemId) { - exit(); + if (empty($parameters['item'])) { + exit; + } else { + $itemId = intval($parameters['item']); } $item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $itemId]); @@ -34,27 +28,18 @@ class Starred extends BaseModule exit(); } - if (!intval($item['starred'])) { - $starred = 1; - } + $starred = !$item['starred']; Item::update(['starred' => $starred], ['id' => $itemId]); // See if we've been passed a return path to redirect to $returnPath = $_REQUEST['return'] ?? ''; - if ($returnPath) { - $rand = '_=' . time(); - if (strpos($returnPath, '?')) { - $rand = "&$rand"; - } else { - $rand = "?$rand"; - } - - $a->internalRedirect($returnPath . $rand); + if (!empty($returnPath)) { + $rand = '_=' . time() . (strpos($returnPath, '?') ? '&' : '?') . 'rand'; + self::getApp()->internalRedirect($returnPath . $rand); } // the json doesn't really matter, it will either be 0 or 1 - echo json_encode($starred); - exit(); + System::jsonExit($starred); } } diff --git a/src/Module/Statistics.php b/src/Module/Statistics.php index 3e64828e7..740094323 100644 --- a/src/Module/Statistics.php +++ b/src/Module/Statistics.php @@ -17,7 +17,7 @@ class Statistics extends BaseModule } } - public static function rawContent() + public static function rawContent($parameters) { $config = self::getApp()->getConfig(); $logger = self::getApp()->getLogger(); diff --git a/src/Module/Theme.php b/src/Module/Theme.php index 0540267af..762e39855 100644 --- a/src/Module/Theme.php +++ b/src/Module/Theme.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; */ class Theme extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { header("Content-Type: text/css"); diff --git a/src/Module/ThemeDetails.php b/src/Module/ThemeDetails.php index 9a2e913bc..611134d63 100644 --- a/src/Module/ThemeDetails.php +++ b/src/Module/ThemeDetails.php @@ -10,7 +10,7 @@ use Friendica\Core\Theme; */ class ThemeDetails extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { if (!empty($_REQUEST['theme'])) { $theme = $_REQUEST['theme']; diff --git a/src/Module/WellKnown/HostMeta.php b/src/Module/WellKnown/HostMeta.php index fd04467f7..acf2cca86 100644 --- a/src/Module/WellKnown/HostMeta.php +++ b/src/Module/WellKnown/HostMeta.php @@ -13,7 +13,7 @@ use Friendica\Util\Crypto; */ class HostMeta extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/WellKnown/XSocialRelay.php b/src/Module/WellKnown/XSocialRelay.php index a1bbeb78a..bbd51069d 100644 --- a/src/Module/WellKnown/XSocialRelay.php +++ b/src/Module/WellKnown/XSocialRelay.php @@ -11,7 +11,7 @@ use Friendica\Model\Search; */ class XSocialRelay extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Xrd.php b/src/Module/Xrd.php index 1028bfd53..4bad558a4 100644 --- a/src/Module/Xrd.php +++ b/src/Module/Xrd.php @@ -17,7 +17,7 @@ use Friendica\Util\Strings; */ class Xrd extends BaseModule { - public static function rawContent() + public static function rawContent($parameters) { $app = self::getApp(); diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 53f8a8ed4..65e0b26a6 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -34,7 +34,7 @@ use Friendica\Database\DBA; if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1323); + define('DB_UPDATE_VERSION', 1324); } return [ @@ -1384,7 +1384,8 @@ return [ "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"], - "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"] + "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"], + "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"] ], "indexes" => [ "PRIMARY" => ["uid", "iid"] diff --git a/static/routes.config.php b/static/routes.config.php index 1f2fe0ad1..339860afe 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -179,8 +179,9 @@ return [ '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]], ], - '/pretheme' => [Module\ThemeDetails::class, [R::GET]], - '/probe' => [Module\Debug\Probe::class, [R::GET]], + '/pinned/{item:\d+}' => [Module\Pinned::class, [R::GET]], + '/pretheme' => [Module\ThemeDetails::class, [R::GET]], + '/probe' => [Module\Debug\Probe::class, [R::GET]], '/profile' => [ '/{nickname}' => [Module\Profile::class, [R::GET]], From bd62d548db39b617d087aabb536435004adf0470 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 20:22:54 +0000 Subject: [PATCH 12/41] Added parameters --- src/App/Page.php | 2 +- src/BaseModule.php | 13 ++++-------- src/LegacyModule.php | 20 +++++++++---------- src/Module/Acctlink.php | 2 +- src/Module/Admin/Addons/Details.php | 8 ++++---- src/Module/Admin/Addons/Index.php | 4 ++-- src/Module/Admin/Blocklist/Contact.php | 8 ++++---- src/Module/Admin/Blocklist/Server.php | 8 ++++---- src/Module/Admin/DBSync.php | 4 ++-- src/Module/Admin/Features.php | 8 ++++---- src/Module/Admin/Federation.php | 4 ++-- src/Module/Admin/Item/Delete.php | 8 ++++---- src/Module/Admin/Item/Source.php | 4 ++-- src/Module/Admin/Logs/Settings.php | 8 ++++---- src/Module/Admin/Logs/View.php | 4 ++-- src/Module/Admin/Queue.php | 4 ++-- src/Module/Admin/Site.php | 8 ++++---- src/Module/Admin/Summary.php | 4 ++-- src/Module/Admin/Themes/Details.php | 8 ++++---- src/Module/Admin/Themes/Embed.php | 10 +++++----- src/Module/Admin/Themes/Index.php | 4 ++-- src/Module/Admin/Tos.php | 8 ++++---- src/Module/Admin/Users.php | 8 ++++---- src/Module/AllFriends.php | 2 +- src/Module/Apps.php | 4 ++-- src/Module/BaseAdminModule.php | 4 ++-- src/Module/BaseSettingsModule.php | 2 +- src/Module/Bookmarklet.php | 2 +- src/Module/Contact.php | 2 +- src/Module/Credits.php | 2 +- src/Module/Debug/Babel.php | 2 +- src/Module/Debug/Feed.php | 4 ++-- src/Module/Debug/ItemBody.php | 2 +- src/Module/Debug/Localtime.php | 4 ++-- src/Module/Debug/Probe.php | 2 +- src/Module/Debug/WebFinger.php | 2 +- src/Module/Delegation.php | 4 ++-- src/Module/Diaspora/Receive.php | 4 ++-- src/Module/Directory.php | 2 +- src/Module/Feed.php | 2 +- src/Module/Filer/RemoveTag.php | 2 +- src/Module/Filer/SaveTag.php | 2 +- src/Module/FollowConfirm.php | 2 +- src/Module/Friendica.php | 2 +- src/Module/Group.php | 4 ++-- src/Module/HTTPException/MethodNotAllowed.php | 2 +- src/Module/HTTPException/PageNotFound.php | 2 +- src/Module/Hashtag.php | 2 +- src/Module/Help.php | 2 +- src/Module/Home.php | 2 +- src/Module/Install.php | 6 +++--- src/Module/Invite.php | 4 ++-- src/Module/Item/Compose.php | 4 ++-- src/Module/Login.php | 4 ++-- src/Module/Logout.php | 2 +- src/Module/Magic.php | 2 +- src/Module/Maintenance.php | 2 +- src/Module/NodeInfo.php | 2 +- src/Module/Notifications/Notify.php | 4 ++-- src/Module/Oembed.php | 2 +- src/Module/Owa.php | 2 +- src/Module/Photo.php | 2 +- src/Module/Profile.php | 2 +- src/Module/Profile/Contacts.php | 2 +- src/Module/Proxy.php | 2 +- src/Module/RandomProfile.php | 2 +- src/Module/Register.php | 4 ++-- src/Module/Search/Directory.php | 2 +- src/Module/Search/Index.php | 2 +- src/Module/Search/Saved.php | 2 +- src/Module/Settings/Delegation.php | 6 +++--- src/Module/Settings/TwoFactor/AppSpecific.php | 8 ++++---- src/Module/Settings/TwoFactor/Index.php | 6 +++--- src/Module/Settings/TwoFactor/Recovery.php | 8 ++++---- src/Module/Settings/TwoFactor/Verify.php | 8 ++++---- src/Module/Settings/UserExport.php | 4 ++-- src/Module/Smilies.php | 2 +- src/Module/Starred.php | 6 +++--- src/Module/Statistics.php | 2 +- src/Module/ToggleMobile.php | 2 +- src/Module/Tos.php | 4 ++-- src/Module/TwoFactor/Recovery.php | 6 +++--- src/Module/TwoFactor/Verify.php | 4 ++-- src/Module/Welcome.php | 2 +- 84 files changed, 172 insertions(+), 177 deletions(-) diff --git a/src/App/Page.php b/src/App/Page.php index ea94f9cfe..de75db32f 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -308,7 +308,7 @@ class Page implements ArrayAccess $arr = ['content' => $content]; Hook::callAll($moduleClass . '_mod_content', $arr); $content = $arr['content']; - $arr = ['content' => call_user_func([$moduleClass, 'content'])]; + $arr = ['content' => call_user_func([$moduleClass, 'content'], [])]; Hook::callAll($moduleClass . '_mod_aftercontent', $arr); $content .= $arr['content']; } catch (HTTPException $e) { diff --git a/src/BaseModule.php b/src/BaseModule.php index e049e9a94..3bc2ac9ff 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -22,7 +22,7 @@ abstract class BaseModule extends BaseObject * Extend this method if you need to do any shared processing before both * content() or post() */ - public static function init() + public static function init($parameters) { } @@ -34,8 +34,6 @@ abstract class BaseModule extends BaseObject */ public static function rawContent($parameters) { - // echo ''; - // exit; } /** @@ -47,7 +45,7 @@ abstract class BaseModule extends BaseObject * * @return string */ - public static function content() + public static function content($parameters) { $o = ''; @@ -60,10 +58,8 @@ abstract class BaseModule extends BaseObject * Extend this method if the module is supposed to process POST requests. * Doesn't display any content */ - public static function post() + public static function post($parameters) { - // $a = self::getApp(); - // $a->internalRedirect('module'); } /** @@ -71,9 +67,8 @@ abstract class BaseModule extends BaseObject * * Unknown purpose */ - public static function afterpost() + public static function afterpost($parameters) { - } /* diff --git a/src/LegacyModule.php b/src/LegacyModule.php index a0b23a541..7252e7bef 100644 --- a/src/LegacyModule.php +++ b/src/LegacyModule.php @@ -35,24 +35,24 @@ class LegacyModule extends BaseModule require_once $file_path; } - public static function init() + public static function init($parameters) { - self::runModuleFunction('init'); + self::runModuleFunction('init', $parameters); } - public static function content() + public static function content($parameters) { - return self::runModuleFunction('content'); + return self::runModuleFunction('content', $parameters); } - public static function post() + public static function post($parameters) { - self::runModuleFunction('post'); + self::runModuleFunction('post', $parameters); } - public static function afterpost() + public static function afterpost($parameters) { - self::runModuleFunction('afterpost'); + self::runModuleFunction('afterpost', $parameters); } /** @@ -62,7 +62,7 @@ class LegacyModule extends BaseModule * @return string * @throws \Exception */ - private static function runModuleFunction($function_suffix) + private static function runModuleFunction($function_suffix, $parameters) { $function_name = static::$moduleName . '_' . $function_suffix; @@ -70,7 +70,7 @@ class LegacyModule extends BaseModule $a = self::getApp(); return $function_name($a); } else { - return parent::{$function_suffix}(); + return parent::{$function_suffix}($parameters); } } } diff --git a/src/Module/Acctlink.php b/src/Module/Acctlink.php index 1c2500a22..bef407eb1 100644 --- a/src/Module/Acctlink.php +++ b/src/Module/Acctlink.php @@ -11,7 +11,7 @@ use Friendica\Core\System; */ class Acctlink extends BaseModule { - public static function content() + public static function content($parameters) { $addr = trim($_GET['addr'] ?? ''); diff --git a/src/Module/Admin/Addons/Details.php b/src/Module/Admin/Addons/Details.php index 1965102f0..7508cdbf6 100644 --- a/src/Module/Admin/Addons/Details.php +++ b/src/Module/Admin/Addons/Details.php @@ -11,9 +11,9 @@ use Friendica\Util\Strings; class Details extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); $a = self::getApp(); @@ -35,9 +35,9 @@ class Details extends BaseAdminModule $a->internalRedirect('admin/addons'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Addons/Index.php b/src/Module/Admin/Addons/Index.php index eed47defb..645bd431e 100644 --- a/src/Module/Admin/Addons/Index.php +++ b/src/Module/Admin/Addons/Index.php @@ -9,9 +9,9 @@ use Friendica\Module\BaseAdminModule; class Index extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Blocklist/Contact.php b/src/Module/Admin/Blocklist/Contact.php index bf1c7bc08..b0707fc70 100644 --- a/src/Module/Admin/Blocklist/Contact.php +++ b/src/Module/Admin/Blocklist/Contact.php @@ -11,9 +11,9 @@ use Friendica\Model; class Contact extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); $contact_url = $_POST['contact_url'] ?? ''; $block_reason = $_POST['contact_block_reason'] ?? ''; @@ -41,9 +41,9 @@ class Contact extends BaseAdminModule self::getApp()->internalRedirect('admin/blocklist/contact'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Blocklist/Server.php b/src/Module/Admin/Blocklist/Server.php index 384e346b0..a8c2fd812 100644 --- a/src/Module/Admin/Blocklist/Server.php +++ b/src/Module/Admin/Blocklist/Server.php @@ -10,9 +10,9 @@ use Friendica\Util\Strings; class Server extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); if (empty($_POST['page_blocklist_save']) && empty($_POST['page_blocklist_edit'])) { return; @@ -50,9 +50,9 @@ class Server extends BaseAdminModule self::getApp()->internalRedirect('admin/blocklist/server'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/DBSync.php b/src/Module/Admin/DBSync.php index 4c29eea34..38c397058 100644 --- a/src/Module/Admin/DBSync.php +++ b/src/Module/Admin/DBSync.php @@ -12,9 +12,9 @@ use Friendica\Module\BaseAdminModule; class DBSync extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Features.php b/src/Module/Admin/Features.php index 328e7e68b..2523c4af1 100644 --- a/src/Module/Admin/Features.php +++ b/src/Module/Admin/Features.php @@ -10,9 +10,9 @@ use Friendica\Module\BaseAdminModule; class Features extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); parent::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features'); @@ -42,9 +42,9 @@ class Features extends BaseAdminModule self::getApp()->internalRedirect('admin/features'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $arr = []; $features = Feature::get(false); diff --git a/src/Module/Admin/Federation.php b/src/Module/Admin/Federation.php index 8776f21e1..2bc15d8ae 100644 --- a/src/Module/Admin/Federation.php +++ b/src/Module/Admin/Federation.php @@ -10,9 +10,9 @@ use Friendica\Module\BaseAdminModule; class Federation extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); // get counts on active friendica, diaspora, redmatrix, hubzilla, gnu // social and statusnet nodes this node is knowing diff --git a/src/Module/Admin/Item/Delete.php b/src/Module/Admin/Item/Delete.php index 766e65c9a..3616b3d2f 100644 --- a/src/Module/Admin/Item/Delete.php +++ b/src/Module/Admin/Item/Delete.php @@ -10,9 +10,9 @@ use Friendica\Util\Strings; class Delete extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); if (empty($_POST['page_deleteitem_submit'])) { return; @@ -36,9 +36,9 @@ class Delete extends BaseAdminModule self::getApp()->internalRedirect('admin/item/delete'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $t = Renderer::getMarkupTemplate('admin/item/delete.tpl'); diff --git a/src/Module/Admin/Item/Source.php b/src/Module/Admin/Item/Source.php index 6da9eec6d..78953fd07 100644 --- a/src/Module/Admin/Item/Source.php +++ b/src/Module/Admin/Item/Source.php @@ -13,9 +13,9 @@ use Friendica\Module\BaseAdminModule; class Source extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Logs/Settings.php b/src/Module/Admin/Logs/Settings.php index be060e053..b731dd0d6 100644 --- a/src/Module/Admin/Logs/Settings.php +++ b/src/Module/Admin/Logs/Settings.php @@ -11,9 +11,9 @@ use Psr\Log\LogLevel; class Settings extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); if (!empty($_POST['page_logs'])) { parent::checkFormSecurityTokenRedirectOnError('/admin/logs', 'admin_logs'); @@ -37,9 +37,9 @@ class Settings extends BaseAdminModule self::getApp()->internalRedirect('admin/logs'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Logs/View.php b/src/Module/Admin/Logs/View.php index b66a6781e..7feee32be 100644 --- a/src/Module/Admin/Logs/View.php +++ b/src/Module/Admin/Logs/View.php @@ -10,9 +10,9 @@ use Friendica\Util\Strings; class View extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $t = Renderer::getMarkupTemplate('admin/logs/view.tpl'); $f = Config::get('system', 'logfile'); diff --git a/src/Module/Admin/Queue.php b/src/Module/Admin/Queue.php index aadd5b768..9b4241a8a 100644 --- a/src/Module/Admin/Queue.php +++ b/src/Module/Admin/Queue.php @@ -19,9 +19,9 @@ use Friendica\Util\DateTimeFormat; */ class Queue extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Site.php b/src/Module/Admin/Site.php index 18a1cbf2a..bfb4659aa 100644 --- a/src/Module/Admin/Site.php +++ b/src/Module/Admin/Site.php @@ -21,9 +21,9 @@ require_once __DIR__ . '/../../../boot.php'; class Site extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); self::checkFormSecurityTokenRedirectOnError('/admin/site', 'admin_site'); @@ -412,9 +412,9 @@ class Site extends BaseAdminModule $a->internalRedirect('admin/site' . $active_panel); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Summary.php b/src/Module/Admin/Summary.php index cfd9aa984..24e1cc584 100644 --- a/src/Module/Admin/Summary.php +++ b/src/Module/Admin/Summary.php @@ -20,9 +20,9 @@ use Friendica\Util\Network; class Summary extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Themes/Details.php b/src/Module/Admin/Themes/Details.php index 3750e9607..45f9239aa 100644 --- a/src/Module/Admin/Themes/Details.php +++ b/src/Module/Admin/Themes/Details.php @@ -11,9 +11,9 @@ use Friendica\Util\Strings; class Details extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); $a = self::getApp(); @@ -39,9 +39,9 @@ class Details extends BaseAdminModule } } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Themes/Embed.php b/src/Module/Admin/Themes/Embed.php index 904d9eb46..dc4b6f136 100644 --- a/src/Module/Admin/Themes/Embed.php +++ b/src/Module/Admin/Themes/Embed.php @@ -9,7 +9,7 @@ use Friendica\Util\Strings; class Embed extends BaseAdminModule { - public static function init() + public static function init($parameters) { $a = self::getApp(); @@ -23,9 +23,9 @@ class Embed extends BaseAdminModule } } - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); $a = self::getApp(); @@ -53,9 +53,9 @@ class Embed extends BaseAdminModule } } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Themes/Index.php b/src/Module/Admin/Themes/Index.php index af2d1f28e..331f4c477 100644 --- a/src/Module/Admin/Themes/Index.php +++ b/src/Module/Admin/Themes/Index.php @@ -11,9 +11,9 @@ use Friendica\Util\Strings; class Index extends BaseAdminModule { - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/Admin/Tos.php b/src/Module/Admin/Tos.php index 4eb6e3426..3e6a25f46 100644 --- a/src/Module/Admin/Tos.php +++ b/src/Module/Admin/Tos.php @@ -9,9 +9,9 @@ use Friendica\Module\BaseAdminModule; class Tos extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); parent::checkFormSecurityTokenRedirectOnError('/admin/tos', 'admin_tos'); @@ -32,9 +32,9 @@ class Tos extends BaseAdminModule self::getApp()->internalRedirect('admin/tos'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $tos = new \Friendica\Module\Tos(); $t = Renderer::getMarkupTemplate('admin/tos.tpl'); diff --git a/src/Module/Admin/Users.php b/src/Module/Admin/Users.php index a949c9331..592b49495 100644 --- a/src/Module/Admin/Users.php +++ b/src/Module/Admin/Users.php @@ -15,9 +15,9 @@ use Friendica\Util\Temporal; class Users extends BaseAdminModule { - public static function post() + public static function post($parameters) { - parent::post(); + parent::post($parameters); $a = self::getApp(); @@ -131,9 +131,9 @@ class Users extends BaseAdminModule $a->internalRedirect('admin/users'); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); $a = self::getApp(); diff --git a/src/Module/AllFriends.php b/src/Module/AllFriends.php index e5fbe6971..76453a02c 100644 --- a/src/Module/AllFriends.php +++ b/src/Module/AllFriends.php @@ -16,7 +16,7 @@ use Friendica\Util\Proxy as ProxyUtils; */ class AllFriends extends BaseModule { - public static function content() + public static function content($parameters) { $app = self::getApp(); diff --git a/src/Module/Apps.php b/src/Module/Apps.php index efba071aa..940bf6b64 100644 --- a/src/Module/Apps.php +++ b/src/Module/Apps.php @@ -13,7 +13,7 @@ use Friendica\Core\Renderer; */ class Apps extends BaseModule { - public static function init() + public static function init($parameters) { $privateaddons = Config::get('config', 'private_addons'); if ($privateaddons === "1" && !local_user()) { @@ -21,7 +21,7 @@ class Apps extends BaseModule } } - public static function content() + public static function content($parameters) { $apps = Nav::getAppMenu(); diff --git a/src/Module/BaseAdminModule.php b/src/Module/BaseAdminModule.php index 61b3b4ff9..30c376664 100644 --- a/src/Module/BaseAdminModule.php +++ b/src/Module/BaseAdminModule.php @@ -23,7 +23,7 @@ require_once 'boot.php'; */ abstract class BaseAdminModule extends BaseModule { - public static function post() + public static function post($parameters) { if (!is_site_admin()) { return; @@ -48,7 +48,7 @@ abstract class BaseAdminModule extends BaseModule return ''; } - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/BaseSettingsModule.php b/src/Module/BaseSettingsModule.php index 4b5e9bf91..6a58ecfe4 100644 --- a/src/Module/BaseSettingsModule.php +++ b/src/Module/BaseSettingsModule.php @@ -9,7 +9,7 @@ use Friendica\Core\Renderer; class BaseSettingsModule extends BaseModule { - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/Bookmarklet.php b/src/Module/Bookmarklet.php index 92130eeff..2b0b19881 100644 --- a/src/Module/Bookmarklet.php +++ b/src/Module/Bookmarklet.php @@ -14,7 +14,7 @@ use Friendica\Util\Strings; */ class Bookmarklet extends BaseModule { - public static function content() + public static function content($parameters) { $_GET['mode'] = 'minimal'; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index c8bbbfe2e..2c5428e0b 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -75,7 +75,7 @@ class Contact extends BaseModule $a->internalRedirect('contact'); } - public static function post() + public static function post($parameters) { $a = self::getApp(); diff --git a/src/Module/Credits.php b/src/Module/Credits.php index b0a6545c3..5abe1601e 100644 --- a/src/Module/Credits.php +++ b/src/Module/Credits.php @@ -13,7 +13,7 @@ use Friendica\Core\Renderer; */ class Credits extends BaseModule { - public static function content() + public static function content($parameters) { /* fill the page with credits */ $credits_string = file_get_contents('CREDITS.txt'); diff --git a/src/Module/Debug/Babel.php b/src/Module/Debug/Babel.php index cf1f86955..e1a8b694b 100644 --- a/src/Module/Debug/Babel.php +++ b/src/Module/Debug/Babel.php @@ -14,7 +14,7 @@ use Friendica\Util\XML; */ class Babel extends BaseModule { - public static function content() + public static function content($parameters) { function visible_whitespace($s) { diff --git a/src/Module/Debug/Feed.php b/src/Module/Debug/Feed.php index cc0be643b..1583b3c88 100644 --- a/src/Module/Debug/Feed.php +++ b/src/Module/Debug/Feed.php @@ -14,7 +14,7 @@ use Friendica\Util\Network; */ class Feed extends BaseModule { - public static function init() + public static function init($parameters) { if (!local_user()) { info(L10n::t('You must be logged in to use this module')); @@ -22,7 +22,7 @@ class Feed extends BaseModule } } - public static function content() + public static function content($parameters) { $result = []; if (!empty($_REQUEST['url'])) { diff --git a/src/Module/Debug/ItemBody.php b/src/Module/Debug/ItemBody.php index fead25535..a2cf8df6b 100644 --- a/src/Module/Debug/ItemBody.php +++ b/src/Module/Debug/ItemBody.php @@ -12,7 +12,7 @@ use Friendica\Network\HTTPException; */ class ItemBody extends BaseModule { - public static function content() + public static function content($parameters) { if (!local_user()) { throw new HTTPException\UnauthorizedException(L10n::t('Access denied.')); diff --git a/src/Module/Debug/Localtime.php b/src/Module/Debug/Localtime.php index 197149837..8c3eac8b6 100644 --- a/src/Module/Debug/Localtime.php +++ b/src/Module/Debug/Localtime.php @@ -10,7 +10,7 @@ use Friendica\Util\Temporal; class Localtime extends BaseModule { - public static function post() + public static function post($parameters) { $time = ($_REQUEST['time'] ?? '') ?: 'now'; @@ -21,7 +21,7 @@ class Localtime extends BaseModule } } - public static function content() + public static function content($parameters) { $app = self::getApp(); diff --git a/src/Module/Debug/Probe.php b/src/Module/Debug/Probe.php index 6762c5b82..a5785e1aa 100644 --- a/src/Module/Debug/Probe.php +++ b/src/Module/Debug/Probe.php @@ -13,7 +13,7 @@ use Friendica\Network\Probe as NetworkProbe; */ class Probe extends BaseModule { - public static function content() + public static function content($parameters) { if (!local_user()) { $e = new HTTPException\ForbiddenException(L10n::t('Only logged in users are permitted to perform a probing.')); diff --git a/src/Module/Debug/WebFinger.php b/src/Module/Debug/WebFinger.php index 18cf4bb2a..2b2ebacbf 100644 --- a/src/Module/Debug/WebFinger.php +++ b/src/Module/Debug/WebFinger.php @@ -12,7 +12,7 @@ use Friendica\Network\Probe; */ class WebFinger extends BaseModule { - public static function content() + public static function content($parameters) { if (!local_user()) { $e = new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Only logged in users are permitted to perform a probing.')); diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index 77baefeaa..46dc7025e 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -17,7 +17,7 @@ use Friendica\Network\HTTPException\ForbiddenException; */ class Delegation extends BaseModule { - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -92,7 +92,7 @@ class Delegation extends BaseModule // NOTREACHED } - public static function content() + public static function content($parameters) { if (!local_user()) { throw new ForbiddenException(L10n::t('Permission denied.')); diff --git a/src/Module/Diaspora/Receive.php b/src/Module/Diaspora/Receive.php index c787b5f97..d487ab63e 100644 --- a/src/Module/Diaspora/Receive.php +++ b/src/Module/Diaspora/Receive.php @@ -21,13 +21,13 @@ class Receive extends BaseModule /** @var LoggerInterface */ private static $logger; - public static function init() + public static function init($parameters) { /** @var LoggerInterface $logger */ self::$logger = self::getClass(LoggerInterface::class); } - public static function post() + public static function post($parameters) { /** @var Configuration $config */ $config = self::getClass(Configuration::class); diff --git a/src/Module/Directory.php b/src/Module/Directory.php index 1cdd971e8..c8523148f 100644 --- a/src/Module/Directory.php +++ b/src/Module/Directory.php @@ -21,7 +21,7 @@ use Friendica\Util\Strings; */ class Directory extends BaseModule { - public static function content() + public static function content($parameters) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Feed.php b/src/Module/Feed.php index 49ecfed96..70974e61f 100644 --- a/src/Module/Feed.php +++ b/src/Module/Feed.php @@ -23,7 +23,7 @@ use Friendica\Protocol\OStatus; */ class Feed extends BaseModule { - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/Filer/RemoveTag.php b/src/Module/Filer/RemoveTag.php index 1dcc2e41e..09284bec2 100644 --- a/src/Module/Filer/RemoveTag.php +++ b/src/Module/Filer/RemoveTag.php @@ -12,7 +12,7 @@ use Friendica\Util\XML; */ class RemoveTag extends BaseModule { - public static function content() + public static function content($parameters) { if (!local_user()) { throw new HTTPException\ForbiddenException(); diff --git a/src/Module/Filer/SaveTag.php b/src/Module/Filer/SaveTag.php index 14eb368ba..1db3384ca 100644 --- a/src/Module/Filer/SaveTag.php +++ b/src/Module/Filer/SaveTag.php @@ -14,7 +14,7 @@ use Friendica\Util\XML; */ class SaveTag extends BaseModule { - public static function init() + public static function init($parameters) { if (!local_user()) { info(L10n::t('You must be logged in to use this module')); diff --git a/src/Module/FollowConfirm.php b/src/Module/FollowConfirm.php index f4f2a877c..66ca66185 100644 --- a/src/Module/FollowConfirm.php +++ b/src/Module/FollowConfirm.php @@ -18,7 +18,7 @@ use Friendica\Util\DateTimeFormat; */ class FollowConfirm extends BaseModule { - public static function post() + public static function post($parameters) { $a = self::getApp(); diff --git a/src/Module/Friendica.php b/src/Module/Friendica.php index cadacb48b..deb17b385 100644 --- a/src/Module/Friendica.php +++ b/src/Module/Friendica.php @@ -15,7 +15,7 @@ use Friendica\Model\User; */ class Friendica extends BaseModule { - public static function content() + public static function content($parameters) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Group.php b/src/Module/Group.php index d8d5fb1c5..6368690ef 100644 --- a/src/Module/Group.php +++ b/src/Module/Group.php @@ -19,7 +19,7 @@ require_once 'boot.php'; class Group extends BaseModule { - public static function post() + public static function post($parameters) { $a = self::getApp(); @@ -132,7 +132,7 @@ class Group extends BaseModule } } - public static function content() + public static function content($parameters) { $change = false; diff --git a/src/Module/HTTPException/MethodNotAllowed.php b/src/Module/HTTPException/MethodNotAllowed.php index 8d2d280a5..3e5d159e7 100644 --- a/src/Module/HTTPException/MethodNotAllowed.php +++ b/src/Module/HTTPException/MethodNotAllowed.php @@ -8,7 +8,7 @@ use Friendica\Network\HTTPException; class MethodNotAllowed extends BaseModule { - public static function content() + public static function content($parameters) { throw new HTTPException\MethodNotAllowedException(L10n::t('Method Not Allowed.')); } diff --git a/src/Module/HTTPException/PageNotFound.php b/src/Module/HTTPException/PageNotFound.php index d848905c5..90192efca 100644 --- a/src/Module/HTTPException/PageNotFound.php +++ b/src/Module/HTTPException/PageNotFound.php @@ -8,7 +8,7 @@ use Friendica\Network\HTTPException; class PageNotFound extends BaseModule { - public static function content() + public static function content($parameters) { throw new HTTPException\NotFoundException(L10n::t('Page not found.')); } diff --git a/src/Module/Hashtag.php b/src/Module/Hashtag.php index 411da5ce5..8708a464a 100644 --- a/src/Module/Hashtag.php +++ b/src/Module/Hashtag.php @@ -15,7 +15,7 @@ use Friendica\Util\Strings; class Hashtag extends BaseModule { - public static function content() + public static function content($parameters) { $result = []; diff --git a/src/Module/Help.php b/src/Module/Help.php index ddf5b06d8..ae5100d63 100644 --- a/src/Module/Help.php +++ b/src/Module/Help.php @@ -14,7 +14,7 @@ use Friendica\Util\Strings; */ class Help extends BaseModule { - public static function content() + public static function content($parameters) { Nav::setSelected('help'); diff --git a/src/Module/Home.php b/src/Module/Home.php index 5a1dccde2..5e9c28af1 100644 --- a/src/Module/Home.php +++ b/src/Module/Home.php @@ -12,7 +12,7 @@ use Friendica\Core\Renderer; */ class Home extends BaseModule { - public static function content() + public static function content($parameters) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Install.php b/src/Module/Install.php index 39d6a062a..f4e2c4c76 100644 --- a/src/Module/Install.php +++ b/src/Module/Install.php @@ -46,7 +46,7 @@ class Install extends BaseModule */ private static $installer; - public static function init() + public static function init($parameters) { $a = self::getApp(); @@ -76,7 +76,7 @@ class Install extends BaseModule self::$currentWizardStep = ($_POST['pass'] ?? '') ?: self::SYSTEM_CHECK; } - public static function post() + public static function post($parameters) { $a = self::getApp(); $configCache = $a->getConfigCache(); @@ -149,7 +149,7 @@ class Install extends BaseModule } } - public static function content() + public static function content($parameters) { $a = self::getApp(); $configCache = $a->getConfigCache(); diff --git a/src/Module/Invite.php b/src/Module/Invite.php index 7860c703c..162d4489d 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -16,7 +16,7 @@ use Friendica\Util\Strings; */ class Invite extends BaseModule { - public static function post() + public static function post($parameters) { if (!local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); @@ -104,7 +104,7 @@ class Invite extends BaseModule notice(L10n::tt('%d message sent.', '%d messages sent.', $total) . EOL); } - public static function content() + public static function content($parameters) { if (!local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); diff --git a/src/Module/Item/Compose.php b/src/Module/Item/Compose.php index c44e4c61a..1a88ebbc5 100644 --- a/src/Module/Item/Compose.php +++ b/src/Module/Item/Compose.php @@ -21,7 +21,7 @@ use Friendica\Util\Crypto; class Compose extends BaseModule { - public static function post() + public static function post($parameters) { if (!empty($_REQUEST['body'])) { $_REQUEST['return'] = 'network'; @@ -32,7 +32,7 @@ class Compose extends BaseModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { return Login::form('compose', false); diff --git a/src/Module/Login.php b/src/Module/Login.php index 0048fefaa..4cdac27ae 100644 --- a/src/Module/Login.php +++ b/src/Module/Login.php @@ -30,7 +30,7 @@ use LightOpenID; */ class Login extends BaseModule { - public static function content() + public static function content($parameters) { $a = self::getApp(); @@ -41,7 +41,7 @@ class Login extends BaseModule return self::form(Session::get('return_path'), intval(Config::get('config', 'register_policy')) !== \Friendica\Module\Register::CLOSED); } - public static function post() + public static function post($parameters) { $openid_identity = Session::get('openid_identity'); $openid_server = Session::get('openid_server'); diff --git a/src/Module/Logout.php b/src/Module/Logout.php index bf6a39e19..ad7eac6b5 100644 --- a/src/Module/Logout.php +++ b/src/Module/Logout.php @@ -23,7 +23,7 @@ class Logout extends BaseModule /** * @brief Process logout requests */ - public static function init() + public static function init($parameters) { $visitor_home = null; if (remote_user()) { diff --git a/src/Module/Magic.php b/src/Module/Magic.php index b04ea80c0..43c17d725 100644 --- a/src/Module/Magic.php +++ b/src/Module/Magic.php @@ -20,7 +20,7 @@ use Friendica\Util\Strings; */ class Magic extends BaseModule { - public static function init() + public static function init($parameters) { $a = self::getApp(); $ret = ['success' => false, 'url' => '', 'message' => '']; diff --git a/src/Module/Maintenance.php b/src/Module/Maintenance.php index 24140bb35..0a7b67cf8 100644 --- a/src/Module/Maintenance.php +++ b/src/Module/Maintenance.php @@ -14,7 +14,7 @@ use Friendica\Util\Strings; */ class Maintenance extends BaseModule { - public static function content() + public static function content($parameters) { $config = self::getApp()->getConfig(); diff --git a/src/Module/NodeInfo.php b/src/Module/NodeInfo.php index f4ecc5da6..22e26e97a 100644 --- a/src/Module/NodeInfo.php +++ b/src/Module/NodeInfo.php @@ -13,7 +13,7 @@ use Friendica\Core\System; */ class NodeInfo extends BaseModule { - public static function init() + public static function init($parameters) { $config = self::getApp()->getConfig(); diff --git a/src/Module/Notifications/Notify.php b/src/Module/Notifications/Notify.php index 360204d94..28047c698 100644 --- a/src/Module/Notifications/Notify.php +++ b/src/Module/Notifications/Notify.php @@ -14,7 +14,7 @@ use Friendica\Network\HTTPException; */ class Notify extends BaseModule { - public static function init() + public static function init($parameters) { if (!local_user()) { throw new HTTPException\UnauthorizedException(L10n::t('Permission denied.')); @@ -45,7 +45,7 @@ class Notify extends BaseModule * @return string|void * @throws HTTPException\InternalServerErrorException */ - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/Oembed.php b/src/Module/Oembed.php index 010778212..e31fde631 100644 --- a/src/Module/Oembed.php +++ b/src/Module/Oembed.php @@ -17,7 +17,7 @@ use Friendica\Util\Strings; */ class Oembed extends BaseModule { - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/Owa.php b/src/Module/Owa.php index 7243c1113..a8c980373 100644 --- a/src/Module/Owa.php +++ b/src/Module/Owa.php @@ -27,7 +27,7 @@ use Friendica\Util\Strings; */ class Owa extends BaseModule { - public static function init() + public static function init($parameters) { $ret = [ 'success' => false ]; diff --git a/src/Module/Photo.php b/src/Module/Photo.php index 4ec4f204c..58199a08d 100644 --- a/src/Module/Photo.php +++ b/src/Module/Photo.php @@ -23,7 +23,7 @@ class Photo extends BaseModule * Fetch a photo or an avatar, in optional size, check for permissions and * return the image */ - public static function init() + public static function init($parameters) { $a = self::getApp(); // @TODO: Replace with parameter from router diff --git a/src/Module/Profile.php b/src/Module/Profile.php index ab2fad2e2..527c7118e 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -33,7 +33,7 @@ class Profile extends BaseModule public static $which = ''; public static $profile = 0; - public static function init() + public static function init($parameters) { $a = self::getApp(); diff --git a/src/Module/Profile/Contacts.php b/src/Module/Profile/Contacts.php index 1bf88d7c5..3df256b9d 100644 --- a/src/Module/Profile/Contacts.php +++ b/src/Module/Profile/Contacts.php @@ -18,7 +18,7 @@ use Friendica\Util\Proxy as ProxyUtils; class Contacts extends BaseModule { - public static function content() + public static function content($parameters) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { throw new \Friendica\Network\HTTPException\NotFoundException(L10n::t('User not found.')); diff --git a/src/Module/Proxy.php b/src/Module/Proxy.php index 2b8ad01dd..17509f662 100644 --- a/src/Module/Proxy.php +++ b/src/Module/Proxy.php @@ -30,7 +30,7 @@ class Proxy extends BaseModule * Sets application instance and checks if /proxy/ path is writable. * */ - public static function init() + public static function init($parameters) { // Set application instance here $a = self::getApp(); diff --git a/src/Module/RandomProfile.php b/src/Module/RandomProfile.php index 3ecaa54b7..8edc43bf0 100644 --- a/src/Module/RandomProfile.php +++ b/src/Module/RandomProfile.php @@ -11,7 +11,7 @@ use Friendica\Model\GContact; */ class RandomProfile extends BaseModule { - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/Register.php b/src/Module/Register.php index 0837b5706..6993415e6 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -35,7 +35,7 @@ class Register extends BaseModule * * @return string */ - public static function content() + public static function content($parameters) { // logged in users can register others (people/pages/groups) // even with closed registrations, unless specifically prohibited by site policy. @@ -152,7 +152,7 @@ class Register extends BaseModule * Extend this method if the module is supposed to process POST requests. * Doesn't display any content */ - public static function post() + public static function post($parameters) { BaseModule::checkFormSecurityTokenRedirectOnError('/register', 'register'); diff --git a/src/Module/Search/Directory.php b/src/Module/Search/Directory.php index 405fb0cc8..c6734ac87 100644 --- a/src/Module/Search/Directory.php +++ b/src/Module/Search/Directory.php @@ -13,7 +13,7 @@ use Friendica\Util\Strings; */ class Directory extends BaseSearchModule { - public static function content() + public static function content($parameters) { if (!local_user()) { notice(L10n::t('Permission denied.')); diff --git a/src/Module/Search/Index.php b/src/Module/Search/Index.php index 73de090a7..6f0f21f62 100644 --- a/src/Module/Search/Index.php +++ b/src/Module/Search/Index.php @@ -23,7 +23,7 @@ use Friendica\Util\Strings; class Index extends BaseSearchModule { - public static function content() + public static function content($parameters) { $search = (!empty($_GET['q']) ? Strings::escapeTags(trim(rawurldecode($_GET['q']))) : ''); diff --git a/src/Module/Search/Saved.php b/src/Module/Search/Saved.php index 9d8d84b55..42429c47b 100644 --- a/src/Module/Search/Saved.php +++ b/src/Module/Search/Saved.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; class Saved extends BaseModule { - public static function init() + public static function init($parameters) { /** @var Arguments $args */ $args = self::getClass(Arguments::class); diff --git a/src/Module/Settings/Delegation.php b/src/Module/Settings/Delegation.php index f7edc72c9..8048d3bf8 100644 --- a/src/Module/Settings/Delegation.php +++ b/src/Module/Settings/Delegation.php @@ -20,7 +20,7 @@ use Friendica\Util\Strings; */ class Delegation extends BaseSettingsModule { - public static function post() + public static function post($parameters) { if (!local_user() || !empty(self::getApp()->user['uid']) && self::getApp()->user['uid'] != local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); @@ -46,9 +46,9 @@ class Delegation extends BaseSettingsModule DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => local_user()]); } - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); if (!local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); diff --git a/src/Module/Settings/TwoFactor/AppSpecific.php b/src/Module/Settings/TwoFactor/AppSpecific.php index c62b0bbff..720fb9a83 100644 --- a/src/Module/Settings/TwoFactor/AppSpecific.php +++ b/src/Module/Settings/TwoFactor/AppSpecific.php @@ -20,7 +20,7 @@ class AppSpecific extends BaseSettingsModule { private static $appSpecificPassword = null; - public static function init() + public static function init($parameters) { if (!local_user()) { return; @@ -38,7 +38,7 @@ class AppSpecific extends BaseSettingsModule } } - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -81,13 +81,13 @@ class AppSpecific extends BaseSettingsModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { return Login::form('settings/2fa/app_specific'); } - parent::content(); + parent::content($parameters); $appSpecificPasswords = AppSpecificPassword::getListForUser(local_user()); diff --git a/src/Module/Settings/TwoFactor/Index.php b/src/Module/Settings/TwoFactor/Index.php index e7694225c..9a661ef73 100644 --- a/src/Module/Settings/TwoFactor/Index.php +++ b/src/Module/Settings/TwoFactor/Index.php @@ -17,7 +17,7 @@ use PragmaRX\Google2FA\Google2FA; class Index extends BaseSettingsModule { - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -73,13 +73,13 @@ class Index extends BaseSettingsModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { return Login::form('settings/2fa'); } - parent::content(); + parent::content($parameters); $has_secret = (bool) PConfig::get(local_user(), '2fa', 'secret'); $verified = PConfig::get(local_user(), '2fa', 'verified'); diff --git a/src/Module/Settings/TwoFactor/Recovery.php b/src/Module/Settings/TwoFactor/Recovery.php index 6937fa503..b3155f6e9 100644 --- a/src/Module/Settings/TwoFactor/Recovery.php +++ b/src/Module/Settings/TwoFactor/Recovery.php @@ -18,7 +18,7 @@ use Friendica\Module\Login; */ class Recovery extends BaseSettingsModule { - public static function init() + public static function init($parameters) { if (!local_user()) { return; @@ -36,7 +36,7 @@ class Recovery extends BaseSettingsModule } } - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -53,13 +53,13 @@ class Recovery extends BaseSettingsModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { return Login::form('settings/2fa/recovery'); } - parent::content(); + parent::content($parameters); if (!RecoveryCode::countValidForUser(local_user())) { RecoveryCode::generateForUser(local_user()); diff --git a/src/Module/Settings/TwoFactor/Verify.php b/src/Module/Settings/TwoFactor/Verify.php index b9205852d..3957a5350 100644 --- a/src/Module/Settings/TwoFactor/Verify.php +++ b/src/Module/Settings/TwoFactor/Verify.php @@ -24,7 +24,7 @@ use PragmaRX\Google2FA\Google2FA; */ class Verify extends BaseSettingsModule { - public static function init() + public static function init($parameters) { if (!local_user()) { return; @@ -43,7 +43,7 @@ class Verify extends BaseSettingsModule } } - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -69,13 +69,13 @@ class Verify extends BaseSettingsModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { return Login::form('settings/2fa/verify'); } - parent::content(); + parent::content($parameters); $company = 'Friendica'; $holder = Session::get('my_address'); diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index 9c4e4913c..c571be250 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -32,9 +32,9 @@ class UserExport extends BaseSettingsModule * If there is an action required through the URL / path, react * accordingly and export the requested data. **/ - public static function content() + public static function content($parameters) { - parent::content(); + parent::content($parameters); /** * options shown on "Export personal data" page diff --git a/src/Module/Smilies.php b/src/Module/Smilies.php index 9a81a888e..a2b91f54d 100644 --- a/src/Module/Smilies.php +++ b/src/Module/Smilies.php @@ -26,7 +26,7 @@ class Smilies extends BaseModule } } - public static function content() + public static function content($parameters) { $smilies = Content\Smilies::getList(); $count = count($smilies['texts'] ?? []); diff --git a/src/Module/Starred.php b/src/Module/Starred.php index 5c79c4fac..1aab10307 100644 --- a/src/Module/Starred.php +++ b/src/Module/Starred.php @@ -4,7 +4,6 @@ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Model\Item; -use Friendica\Core\System; /** * Toggle starred items @@ -28,7 +27,7 @@ class Starred extends BaseModule exit(); } - $starred = !$item['starred']; + $starred = !(bool)$item['starred']; Item::update(['starred' => $starred], ['id' => $itemId]); @@ -40,6 +39,7 @@ class Starred extends BaseModule } // the json doesn't really matter, it will either be 0 or 1 - System::jsonExit($starred); + echo json_encode((int)$starred); + exit(); } } diff --git a/src/Module/Statistics.php b/src/Module/Statistics.php index 740094323..53f9acf95 100644 --- a/src/Module/Statistics.php +++ b/src/Module/Statistics.php @@ -8,7 +8,7 @@ use Friendica\Core\System; class Statistics extends BaseModule { - public static function init() + public static function init($parameters) { $config = self::getApp()->getConfig(); diff --git a/src/Module/ToggleMobile.php b/src/Module/ToggleMobile.php index 9788c0b5d..07e6fd87d 100644 --- a/src/Module/ToggleMobile.php +++ b/src/Module/ToggleMobile.php @@ -9,7 +9,7 @@ use Friendica\BaseModule; */ class ToggleMobile extends BaseModule { - public static function content() + public static function content($parameters) { $a = self::getApp(); diff --git a/src/Module/Tos.php b/src/Module/Tos.php index c26085b48..c69557d5d 100644 --- a/src/Module/Tos.php +++ b/src/Module/Tos.php @@ -47,7 +47,7 @@ class Tos extends BaseModule * dealings with their own node so a TOS is not necessary. * **/ - public static function init() + public static function init($parameters) { if (strlen(Config::get('system','singleuser'))) { self::getApp()->internalRedirect('profile/' . Config::get('system','singleuser')); @@ -66,7 +66,7 @@ class Tos extends BaseModule * @return string * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function content() { + public static function content($parameters) { $tpl = Renderer::getMarkupTemplate('tos.tpl'); if (Config::get('system', 'tosdisplay')) { return Renderer::replaceMacros($tpl, [ diff --git a/src/Module/TwoFactor/Recovery.php b/src/Module/TwoFactor/Recovery.php index 7c17fdace..82cfc80ea 100644 --- a/src/Module/TwoFactor/Recovery.php +++ b/src/Module/TwoFactor/Recovery.php @@ -15,14 +15,14 @@ use Friendica\Model\TwoFactor\RecoveryCode; */ class Recovery extends BaseModule { - public static function init() + public static function init($parameters) { if (!local_user()) { return; } } - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -48,7 +48,7 @@ class Recovery extends BaseModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { self::getApp()->internalRedirect(); diff --git a/src/Module/TwoFactor/Verify.php b/src/Module/TwoFactor/Verify.php index 4b1c974d8..daef9f60a 100644 --- a/src/Module/TwoFactor/Verify.php +++ b/src/Module/TwoFactor/Verify.php @@ -18,7 +18,7 @@ class Verify extends BaseModule { private static $errors = []; - public static function post() + public static function post($parameters) { if (!local_user()) { return; @@ -45,7 +45,7 @@ class Verify extends BaseModule } } - public static function content() + public static function content($parameters) { if (!local_user()) { self::getApp()->internalRedirect(); diff --git a/src/Module/Welcome.php b/src/Module/Welcome.php index 9e1eace9b..d92f4109c 100644 --- a/src/Module/Welcome.php +++ b/src/Module/Welcome.php @@ -11,7 +11,7 @@ use Friendica\Core\Renderer; */ class Welcome extends BaseModule { - public static function content() + public static function content($parameters) { $config = self::getApp()->getConfig(); From bc2694bf7f9d4e36e92376c6263c3471569bd4d8 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 20:28:35 +0000 Subject: [PATCH 13/41] Redo some changes --- src/Module/Pinned.php | 60 ----------------------------------- static/dbstructure.config.php | 5 ++- static/routes.config.php | 5 ++- 3 files changed, 4 insertions(+), 66 deletions(-) delete mode 100644 src/Module/Pinned.php diff --git a/src/Module/Pinned.php b/src/Module/Pinned.php deleted file mode 100644 index 590bda159..000000000 --- a/src/Module/Pinned.php +++ /dev/null @@ -1,60 +0,0 @@ -argc > 1) { - $itemId = intval($a->argv[1]); - } - - if (!$itemId) { - exit(); - } - - $item = Item::selectFirstForUser(local_user(), ['pinned'], ['uid' => local_user(), 'id' => $itemId]); - if (empty($item)) { - exit(); - } - - if (!intval($item['pinned'])) { - $pinned = 1; - } - - Item::update(['pinned' => $pinned], ['id' => $itemId]); - - // See if we've been passed a return path to redirect to - $returnPath = $_REQUEST['return'] ?? ''; - if ($returnPath) { - $rand = '_=' . time(); - if (strpos($returnPath, '?')) { - $rand = "&$rand"; - } else { - $rand = "?$rand"; - } - - $a->internalRedirect($returnPath . $rand); - } - - // the json doesn't really matter, it will either be 0 or 1 - echo json_encode($pinned); - exit(); - } -} diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 65e0b26a6..53f8a8ed4 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -34,7 +34,7 @@ use Friendica\Database\DBA; if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1324); + define('DB_UPDATE_VERSION', 1323); } return [ @@ -1384,8 +1384,7 @@ return [ "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"], - "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"], - "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"] + "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"] ], "indexes" => [ "PRIMARY" => ["uid", "iid"] diff --git a/static/routes.config.php b/static/routes.config.php index 339860afe..1f2fe0ad1 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -179,9 +179,8 @@ return [ '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]], ], - '/pinned/{item:\d+}' => [Module\Pinned::class, [R::GET]], - '/pretheme' => [Module\ThemeDetails::class, [R::GET]], - '/probe' => [Module\Debug\Probe::class, [R::GET]], + '/pretheme' => [Module\ThemeDetails::class, [R::GET]], + '/probe' => [Module\Debug\Probe::class, [R::GET]], '/profile' => [ '/{nickname}' => [Module\Profile::class, [R::GET]], From 8c03bdada92845974ecadeecb9e673c7ffac22b4 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 21:48:54 +0000 Subject: [PATCH 14/41] parameters now are having a default value and are optional --- mod/update_contact.php | 2 +- mod/update_profile.php | 2 +- src/BaseModule.php | 10 +- src/LegacyModule.php | 10 +- .../AccountManagementControlDocument.php | 2 +- src/Module/Acctlink.php | 2 +- src/Module/Admin/Addons/Details.php | 4 +- src/Module/Admin/Addons/Index.php | 2 +- src/Module/Admin/Blocklist/Contact.php | 4 +- src/Module/Admin/Blocklist/Server.php | 4 +- src/Module/Admin/DBSync.php | 2 +- src/Module/Admin/Features.php | 4 +- src/Module/Admin/Federation.php | 2 +- src/Module/Admin/Item/Delete.php | 4 +- src/Module/Admin/Item/Source.php | 2 +- src/Module/Admin/Logs/Settings.php | 4 +- src/Module/Admin/Logs/View.php | 2 +- src/Module/Admin/PhpInfo.php | 2 +- src/Module/Admin/Queue.php | 2 +- src/Module/Admin/Site.php | 4 +- src/Module/Admin/Summary.php | 2 +- src/Module/Admin/Themes/Details.php | 4 +- src/Module/Admin/Themes/Embed.php | 6 +- src/Module/Admin/Themes/Index.php | 2 +- src/Module/Admin/Tos.php | 4 +- src/Module/Admin/Users.php | 4 +- src/Module/AllFriends.php | 2 +- src/Module/Apps.php | 4 +- src/Module/Attach.php | 2 +- src/Module/BaseAdminModule.php | 6 +- src/Module/BaseSettingsModule.php | 2 +- src/Module/Bookmarklet.php | 2 +- src/Module/Contact.php | 4 +- src/Module/Contact/Hovercard.php | 2 +- src/Module/Credits.php | 2 +- src/Module/Debug/Babel.php | 2 +- src/Module/Debug/Feed.php | 4 +- src/Module/Debug/ItemBody.php | 2 +- src/Module/Debug/Localtime.php | 4 +- src/Module/Debug/Probe.php | 2 +- src/Module/Debug/WebFinger.php | 2 +- src/Module/Delegation.php | 4 +- src/Module/Diaspora/Fetch.php | 2 +- src/Module/Diaspora/Receive.php | 4 +- src/Module/Directory.php | 2 +- src/Module/Feed.php | 2 +- src/Module/Filer/RemoveTag.php | 2 +- src/Module/Filer/SaveTag.php | 4 +- src/Module/FollowConfirm.php | 2 +- src/Module/Followers.php | 2 +- src/Module/Following.php | 2 +- src/Module/Friendica.php | 4 +- src/Module/Group.php | 4 +- src/Module/HTTPException/MethodNotAllowed.php | 2 +- src/Module/HTTPException/PageNotFound.php | 2 +- src/Module/Hashtag.php | 2 +- src/Module/Help.php | 2 +- src/Module/Home.php | 2 +- src/Module/Inbox.php | 2 +- src/Module/Install.php | 6 +- src/Module/Invite.php | 4 +- src/Module/Item/Compose.php | 4 +- src/Module/Item/Ignore.php | 2 +- src/Module/Like.php | 2 +- src/Module/Login.php | 4 +- src/Module/Logout.php | 2 +- src/Module/Magic.php | 2 +- src/Module/Maintenance.php | 2 +- src/Module/Manifest.php | 2 +- src/Module/NodeInfo.php | 4 +- src/Module/Notifications/Notify.php | 6 +- src/Module/Objects.php | 2 +- src/Module/Oembed.php | 2 +- src/Module/OpenSearch.php | 2 +- src/Module/Outbox.php | 2 +- src/Module/Owa.php | 2 +- src/Module/Photo.php | 2 +- src/Module/Profile.php | 6 +- src/Module/Profile/Contacts.php | 2 +- src/Module/Proxy.php | 2 +- src/Module/PublicRSAKey.php | 2 +- src/Module/RandomProfile.php | 2 +- src/Module/ReallySimpleDiscovery.php | 2 +- src/Module/Register.php | 4 +- src/Module/RobotsTxt.php | 2 +- src/Module/Search/Acl.php | 2 +- src/Module/Search/Directory.php | 2 +- src/Module/Search/Index.php | 2 +- src/Module/Search/Saved.php | 2 +- src/Module/Settings/Delegation.php | 4 +- src/Module/Settings/TwoFactor/AppSpecific.php | 6 +- src/Module/Settings/TwoFactor/Index.php | 4 +- src/Module/Settings/TwoFactor/Recovery.php | 6 +- src/Module/Settings/TwoFactor/Verify.php | 6 +- src/Module/Settings/UserExport.php | 4 +- src/Module/Smilies.php | 4 +- src/Module/Starred.php | 2 +- src/Module/Statistics.php | 4 +- src/Module/Theme.php | 2 +- src/Module/ThemeDetails.php | 2 +- src/Module/ToggleMobile.php | 2 +- src/Module/Tos.php | 4 +- src/Module/TwoFactor/Recovery.php | 6 +- src/Module/TwoFactor/Verify.php | 4 +- src/Module/Welcome.php | 2 +- src/Module/WellKnown/HostMeta.php | 2 +- src/Module/WellKnown/XSocialRelay.php | 2 +- src/Module/Xrd.php | 2 +- static/dbstructure.config.php.sic | 1439 +++++++++++++++++ static/routes.config.php.sic | 236 +++ 110 files changed, 1840 insertions(+), 165 deletions(-) create mode 100755 static/dbstructure.config.php.sic create mode 100644 static/routes.config.php.sic diff --git a/mod/update_contact.php b/mod/update_contact.php index 1f96dab25..bea33b484 100644 --- a/mod/update_contact.php +++ b/mod/update_contact.php @@ -14,7 +14,7 @@ function update_contact_content(App $a) echo "
"; if ($_GET["force"] == 1) { - $text = Contact::content(true); + $text = Contact::content([], true); } else { $text = ''; } diff --git a/mod/update_profile.php b/mod/update_profile.php index 720567039..85ca3d3c9 100644 --- a/mod/update_profile.php +++ b/mod/update_profile.php @@ -28,7 +28,7 @@ function update_profile_content(App $a) { * on the client side and then swap the image back. */ - $text = Profile::content($profile_uid); + $text = Profile::content([], $profile_uid); if (PConfig::get(local_user(), "system", "bandwidth_saver")) { $replace = "
".L10n::t("[Embedded content - reload page to view]")."
"; diff --git a/src/BaseModule.php b/src/BaseModule.php index 3bc2ac9ff..2b9ebdb14 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -22,7 +22,7 @@ abstract class BaseModule extends BaseObject * Extend this method if you need to do any shared processing before both * content() or post() */ - public static function init($parameters) + public static function init(array $parameters = []) { } @@ -32,7 +32,7 @@ abstract class BaseModule extends BaseObject * Extend this method if the module is supposed to return communication data, * e.g. from protocol implementations. */ - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { } @@ -45,7 +45,7 @@ abstract class BaseModule extends BaseObject * * @return string */ - public static function content($parameters) + public static function content(array $parameters = []) { $o = ''; @@ -58,7 +58,7 @@ abstract class BaseModule extends BaseObject * Extend this method if the module is supposed to process POST requests. * Doesn't display any content */ - public static function post($parameters) + public static function post(array $parameters = []) { } @@ -67,7 +67,7 @@ abstract class BaseModule extends BaseObject * * Unknown purpose */ - public static function afterpost($parameters) + public static function afterpost(array $parameters = []) { } diff --git a/src/LegacyModule.php b/src/LegacyModule.php index 7252e7bef..950f8faad 100644 --- a/src/LegacyModule.php +++ b/src/LegacyModule.php @@ -35,22 +35,22 @@ class LegacyModule extends BaseModule require_once $file_path; } - public static function init($parameters) + public static function init(array $parameters = []) { self::runModuleFunction('init', $parameters); } - public static function content($parameters) + public static function content(array $parameters = []) { return self::runModuleFunction('content', $parameters); } - public static function post($parameters) + public static function post(array $parameters = []) { self::runModuleFunction('post', $parameters); } - public static function afterpost($parameters) + public static function afterpost(array $parameters = []) { self::runModuleFunction('afterpost', $parameters); } @@ -62,7 +62,7 @@ class LegacyModule extends BaseModule * @return string * @throws \Exception */ - private static function runModuleFunction($function_suffix, $parameters) + private static function runModuleFunction($function_suffix, array $parameters = []) { $function_name = static::$moduleName . '_' . $function_suffix; diff --git a/src/Module/AccountManagementControlDocument.php b/src/Module/AccountManagementControlDocument.php index 0cf1de6f1..8e7ee0243 100644 --- a/src/Module/AccountManagementControlDocument.php +++ b/src/Module/AccountManagementControlDocument.php @@ -11,7 +11,7 @@ use Friendica\BaseModule; */ class AccountManagementControlDocument extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $output = [ 'version' => 1, diff --git a/src/Module/Acctlink.php b/src/Module/Acctlink.php index bef407eb1..a3577da32 100644 --- a/src/Module/Acctlink.php +++ b/src/Module/Acctlink.php @@ -11,7 +11,7 @@ use Friendica\Core\System; */ class Acctlink extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $addr = trim($_GET['addr'] ?? ''); diff --git a/src/Module/Admin/Addons/Details.php b/src/Module/Admin/Addons/Details.php index 7508cdbf6..a196e7834 100644 --- a/src/Module/Admin/Addons/Details.php +++ b/src/Module/Admin/Addons/Details.php @@ -11,7 +11,7 @@ use Friendica\Util\Strings; class Details extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -35,7 +35,7 @@ class Details extends BaseAdminModule $a->internalRedirect('admin/addons'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Addons/Index.php b/src/Module/Admin/Addons/Index.php index 645bd431e..f327f0dc9 100644 --- a/src/Module/Admin/Addons/Index.php +++ b/src/Module/Admin/Addons/Index.php @@ -9,7 +9,7 @@ use Friendica\Module\BaseAdminModule; class Index extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Blocklist/Contact.php b/src/Module/Admin/Blocklist/Contact.php index b0707fc70..38ae23371 100644 --- a/src/Module/Admin/Blocklist/Contact.php +++ b/src/Module/Admin/Blocklist/Contact.php @@ -11,7 +11,7 @@ use Friendica\Model; class Contact extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -41,7 +41,7 @@ class Contact extends BaseAdminModule self::getApp()->internalRedirect('admin/blocklist/contact'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Blocklist/Server.php b/src/Module/Admin/Blocklist/Server.php index a8c2fd812..53647e64e 100644 --- a/src/Module/Admin/Blocklist/Server.php +++ b/src/Module/Admin/Blocklist/Server.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; class Server extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -50,7 +50,7 @@ class Server extends BaseAdminModule self::getApp()->internalRedirect('admin/blocklist/server'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/DBSync.php b/src/Module/Admin/DBSync.php index 38c397058..0d68a5648 100644 --- a/src/Module/Admin/DBSync.php +++ b/src/Module/Admin/DBSync.php @@ -12,7 +12,7 @@ use Friendica\Module\BaseAdminModule; class DBSync extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Features.php b/src/Module/Admin/Features.php index 2523c4af1..85683d238 100644 --- a/src/Module/Admin/Features.php +++ b/src/Module/Admin/Features.php @@ -10,7 +10,7 @@ use Friendica\Module\BaseAdminModule; class Features extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -42,7 +42,7 @@ class Features extends BaseAdminModule self::getApp()->internalRedirect('admin/features'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Federation.php b/src/Module/Admin/Federation.php index 2bc15d8ae..35afb2144 100644 --- a/src/Module/Admin/Federation.php +++ b/src/Module/Admin/Federation.php @@ -10,7 +10,7 @@ use Friendica\Module\BaseAdminModule; class Federation extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Item/Delete.php b/src/Module/Admin/Item/Delete.php index 3616b3d2f..f5f4687ce 100644 --- a/src/Module/Admin/Item/Delete.php +++ b/src/Module/Admin/Item/Delete.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; class Delete extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -36,7 +36,7 @@ class Delete extends BaseAdminModule self::getApp()->internalRedirect('admin/item/delete'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Item/Source.php b/src/Module/Admin/Item/Source.php index 78953fd07..9c41e60f4 100644 --- a/src/Module/Admin/Item/Source.php +++ b/src/Module/Admin/Item/Source.php @@ -13,7 +13,7 @@ use Friendica\Module\BaseAdminModule; class Source extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Logs/Settings.php b/src/Module/Admin/Logs/Settings.php index b731dd0d6..42f3435f6 100644 --- a/src/Module/Admin/Logs/Settings.php +++ b/src/Module/Admin/Logs/Settings.php @@ -11,7 +11,7 @@ use Psr\Log\LogLevel; class Settings extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -37,7 +37,7 @@ class Settings extends BaseAdminModule self::getApp()->internalRedirect('admin/logs'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Logs/View.php b/src/Module/Admin/Logs/View.php index 7feee32be..51e083473 100644 --- a/src/Module/Admin/Logs/View.php +++ b/src/Module/Admin/Logs/View.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; class View extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/PhpInfo.php b/src/Module/Admin/PhpInfo.php index 9c7b59751..3ac742181 100644 --- a/src/Module/Admin/PhpInfo.php +++ b/src/Module/Admin/PhpInfo.php @@ -6,7 +6,7 @@ use Friendica\Module\BaseAdminModule; class PhpInfo extends BaseAdminModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { parent::rawContent($parameters); diff --git a/src/Module/Admin/Queue.php b/src/Module/Admin/Queue.php index 9b4241a8a..9ce44ff15 100644 --- a/src/Module/Admin/Queue.php +++ b/src/Module/Admin/Queue.php @@ -19,7 +19,7 @@ use Friendica\Util\DateTimeFormat; */ class Queue extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Site.php b/src/Module/Admin/Site.php index bfb4659aa..4a02e98b8 100644 --- a/src/Module/Admin/Site.php +++ b/src/Module/Admin/Site.php @@ -21,7 +21,7 @@ require_once __DIR__ . '/../../../boot.php'; class Site extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -412,7 +412,7 @@ class Site extends BaseAdminModule $a->internalRedirect('admin/site' . $active_panel); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Summary.php b/src/Module/Admin/Summary.php index 24e1cc584..e10533ee9 100644 --- a/src/Module/Admin/Summary.php +++ b/src/Module/Admin/Summary.php @@ -20,7 +20,7 @@ use Friendica\Util\Network; class Summary extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Themes/Details.php b/src/Module/Admin/Themes/Details.php index 45f9239aa..912adc429 100644 --- a/src/Module/Admin/Themes/Details.php +++ b/src/Module/Admin/Themes/Details.php @@ -11,7 +11,7 @@ use Friendica\Util\Strings; class Details extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -39,7 +39,7 @@ class Details extends BaseAdminModule } } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Themes/Embed.php b/src/Module/Admin/Themes/Embed.php index dc4b6f136..70a12dadd 100644 --- a/src/Module/Admin/Themes/Embed.php +++ b/src/Module/Admin/Themes/Embed.php @@ -9,7 +9,7 @@ use Friendica\Util\Strings; class Embed extends BaseAdminModule { - public static function init($parameters) + public static function init(array $parameters = []) { $a = self::getApp(); @@ -23,7 +23,7 @@ class Embed extends BaseAdminModule } } - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -53,7 +53,7 @@ class Embed extends BaseAdminModule } } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Themes/Index.php b/src/Module/Admin/Themes/Index.php index 331f4c477..8f7843e29 100644 --- a/src/Module/Admin/Themes/Index.php +++ b/src/Module/Admin/Themes/Index.php @@ -11,7 +11,7 @@ use Friendica\Util\Strings; class Index extends BaseAdminModule { - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Tos.php b/src/Module/Admin/Tos.php index 3e6a25f46..6fbdc21e8 100644 --- a/src/Module/Admin/Tos.php +++ b/src/Module/Admin/Tos.php @@ -9,7 +9,7 @@ use Friendica\Module\BaseAdminModule; class Tos extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -32,7 +32,7 @@ class Tos extends BaseAdminModule self::getApp()->internalRedirect('admin/tos'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Admin/Users.php b/src/Module/Admin/Users.php index 592b49495..84332c979 100644 --- a/src/Module/Admin/Users.php +++ b/src/Module/Admin/Users.php @@ -15,7 +15,7 @@ use Friendica\Util\Temporal; class Users extends BaseAdminModule { - public static function post($parameters) + public static function post(array $parameters = []) { parent::post($parameters); @@ -131,7 +131,7 @@ class Users extends BaseAdminModule $a->internalRedirect('admin/users'); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/AllFriends.php b/src/Module/AllFriends.php index 76453a02c..0d9bf5985 100644 --- a/src/Module/AllFriends.php +++ b/src/Module/AllFriends.php @@ -16,7 +16,7 @@ use Friendica\Util\Proxy as ProxyUtils; */ class AllFriends extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $app = self::getApp(); diff --git a/src/Module/Apps.php b/src/Module/Apps.php index 940bf6b64..bc099ce8b 100644 --- a/src/Module/Apps.php +++ b/src/Module/Apps.php @@ -13,7 +13,7 @@ use Friendica\Core\Renderer; */ class Apps extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { $privateaddons = Config::get('config', 'private_addons'); if ($privateaddons === "1" && !local_user()) { @@ -21,7 +21,7 @@ class Apps extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { $apps = Nav::getAppMenu(); diff --git a/src/Module/Attach.php b/src/Module/Attach.php index fe0e063b0..f67104015 100644 --- a/src/Module/Attach.php +++ b/src/Module/Attach.php @@ -20,7 +20,7 @@ class Attach extends BaseModule /** * @brief Return to user an attached file given the id */ - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); if ($a->argc != 2) { diff --git a/src/Module/BaseAdminModule.php b/src/Module/BaseAdminModule.php index 30c376664..01aa00d42 100644 --- a/src/Module/BaseAdminModule.php +++ b/src/Module/BaseAdminModule.php @@ -23,7 +23,7 @@ require_once 'boot.php'; */ abstract class BaseAdminModule extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { if (!is_site_admin()) { return; @@ -35,7 +35,7 @@ abstract class BaseAdminModule extends BaseModule } } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { if (!is_site_admin()) { return ''; @@ -48,7 +48,7 @@ abstract class BaseAdminModule extends BaseModule return ''; } - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/BaseSettingsModule.php b/src/Module/BaseSettingsModule.php index 6a58ecfe4..4900de42e 100644 --- a/src/Module/BaseSettingsModule.php +++ b/src/Module/BaseSettingsModule.php @@ -9,7 +9,7 @@ use Friendica\Core\Renderer; class BaseSettingsModule extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Bookmarklet.php b/src/Module/Bookmarklet.php index 2b0b19881..a50f23c25 100644 --- a/src/Module/Bookmarklet.php +++ b/src/Module/Bookmarklet.php @@ -14,7 +14,7 @@ use Friendica\Util\Strings; */ class Bookmarklet extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $_GET['mode'] = 'minimal'; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 2c5428e0b..ded5ffbe2 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -75,7 +75,7 @@ class Contact extends BaseModule $a->internalRedirect('contact'); } - public static function post($parameters) + public static function post(array $parameters = []) { $a = self::getApp(); @@ -240,7 +240,7 @@ class Contact extends BaseModule Model\Contact::remove($orig_record['id']); } - public static function content($update = 0) + public static function content(array $parameters = [], $update = 0) { if (!local_user()) { return Login::form($_SERVER['REQUEST_URI']); diff --git a/src/Module/Contact/Hovercard.php b/src/Module/Contact/Hovercard.php index 7f314d361..a72a7f0a2 100644 --- a/src/Module/Contact/Hovercard.php +++ b/src/Module/Contact/Hovercard.php @@ -18,7 +18,7 @@ use Friendica\Util\Proxy; */ class Hovercard extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $contact_url = $_REQUEST['url'] ?? ''; diff --git a/src/Module/Credits.php b/src/Module/Credits.php index 5abe1601e..c536dcaa5 100644 --- a/src/Module/Credits.php +++ b/src/Module/Credits.php @@ -13,7 +13,7 @@ use Friendica\Core\Renderer; */ class Credits extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { /* fill the page with credits */ $credits_string = file_get_contents('CREDITS.txt'); diff --git a/src/Module/Debug/Babel.php b/src/Module/Debug/Babel.php index e1a8b694b..17187a37c 100644 --- a/src/Module/Debug/Babel.php +++ b/src/Module/Debug/Babel.php @@ -14,7 +14,7 @@ use Friendica\Util\XML; */ class Babel extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { function visible_whitespace($s) { diff --git a/src/Module/Debug/Feed.php b/src/Module/Debug/Feed.php index 1583b3c88..c764c9000 100644 --- a/src/Module/Debug/Feed.php +++ b/src/Module/Debug/Feed.php @@ -14,7 +14,7 @@ use Friendica\Util\Network; */ class Feed extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { info(L10n::t('You must be logged in to use this module')); @@ -22,7 +22,7 @@ class Feed extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { $result = []; if (!empty($_REQUEST['url'])) { diff --git a/src/Module/Debug/ItemBody.php b/src/Module/Debug/ItemBody.php index a2cf8df6b..f166fb0a2 100644 --- a/src/Module/Debug/ItemBody.php +++ b/src/Module/Debug/ItemBody.php @@ -12,7 +12,7 @@ use Friendica\Network\HTTPException; */ class ItemBody extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { throw new HTTPException\UnauthorizedException(L10n::t('Access denied.')); diff --git a/src/Module/Debug/Localtime.php b/src/Module/Debug/Localtime.php index 8c3eac8b6..0d78f08d7 100644 --- a/src/Module/Debug/Localtime.php +++ b/src/Module/Debug/Localtime.php @@ -10,7 +10,7 @@ use Friendica\Util\Temporal; class Localtime extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { $time = ($_REQUEST['time'] ?? '') ?: 'now'; @@ -21,7 +21,7 @@ class Localtime extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { $app = self::getApp(); diff --git a/src/Module/Debug/Probe.php b/src/Module/Debug/Probe.php index a5785e1aa..85c5f900f 100644 --- a/src/Module/Debug/Probe.php +++ b/src/Module/Debug/Probe.php @@ -13,7 +13,7 @@ use Friendica\Network\Probe as NetworkProbe; */ class Probe extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { $e = new HTTPException\ForbiddenException(L10n::t('Only logged in users are permitted to perform a probing.')); diff --git a/src/Module/Debug/WebFinger.php b/src/Module/Debug/WebFinger.php index 2b2ebacbf..90da40bf0 100644 --- a/src/Module/Debug/WebFinger.php +++ b/src/Module/Debug/WebFinger.php @@ -12,7 +12,7 @@ use Friendica\Network\Probe; */ class WebFinger extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { $e = new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Only logged in users are permitted to perform a probing.')); diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index 46dc7025e..d2930317c 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -17,7 +17,7 @@ use Friendica\Network\HTTPException\ForbiddenException; */ class Delegation extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -92,7 +92,7 @@ class Delegation extends BaseModule // NOTREACHED } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { throw new ForbiddenException(L10n::t('Permission denied.')); diff --git a/src/Module/Diaspora/Fetch.php b/src/Module/Diaspora/Fetch.php index b69cd1f12..6e3469c29 100644 --- a/src/Module/Diaspora/Fetch.php +++ b/src/Module/Diaspora/Fetch.php @@ -17,7 +17,7 @@ use Friendica\Util\Strings; */ class Fetch extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); diff --git a/src/Module/Diaspora/Receive.php b/src/Module/Diaspora/Receive.php index d487ab63e..72b060a84 100644 --- a/src/Module/Diaspora/Receive.php +++ b/src/Module/Diaspora/Receive.php @@ -21,13 +21,13 @@ class Receive extends BaseModule /** @var LoggerInterface */ private static $logger; - public static function init($parameters) + public static function init(array $parameters = []) { /** @var LoggerInterface $logger */ self::$logger = self::getClass(LoggerInterface::class); } - public static function post($parameters) + public static function post(array $parameters = []) { /** @var Configuration $config */ $config = self::getClass(Configuration::class); diff --git a/src/Module/Directory.php b/src/Module/Directory.php index c8523148f..f24c06650 100644 --- a/src/Module/Directory.php +++ b/src/Module/Directory.php @@ -21,7 +21,7 @@ use Friendica\Util\Strings; */ class Directory extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Feed.php b/src/Module/Feed.php index 70974e61f..ba2153762 100644 --- a/src/Module/Feed.php +++ b/src/Module/Feed.php @@ -23,7 +23,7 @@ use Friendica\Protocol\OStatus; */ class Feed extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Filer/RemoveTag.php b/src/Module/Filer/RemoveTag.php index 09284bec2..0246f1db3 100644 --- a/src/Module/Filer/RemoveTag.php +++ b/src/Module/Filer/RemoveTag.php @@ -12,7 +12,7 @@ use Friendica\Util\XML; */ class RemoveTag extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { throw new HTTPException\ForbiddenException(); diff --git a/src/Module/Filer/SaveTag.php b/src/Module/Filer/SaveTag.php index 1db3384ca..7f0da83bc 100644 --- a/src/Module/Filer/SaveTag.php +++ b/src/Module/Filer/SaveTag.php @@ -14,7 +14,7 @@ use Friendica\Util\XML; */ class SaveTag extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { info(L10n::t('You must be logged in to use this module')); @@ -22,7 +22,7 @@ class SaveTag extends BaseModule } } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); $logger = $a->getLogger(); diff --git a/src/Module/FollowConfirm.php b/src/Module/FollowConfirm.php index 66ca66185..d1a0a5dda 100644 --- a/src/Module/FollowConfirm.php +++ b/src/Module/FollowConfirm.php @@ -18,7 +18,7 @@ use Friendica\Util\DateTimeFormat; */ class FollowConfirm extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Followers.php b/src/Module/Followers.php index 34cb0cdbf..c2096cd05 100644 --- a/src/Module/Followers.php +++ b/src/Module/Followers.php @@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub; */ class Followers extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Following.php b/src/Module/Following.php index cbf33d50f..8eaa1835c 100644 --- a/src/Module/Following.php +++ b/src/Module/Following.php @@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub; */ class Following extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Friendica.php b/src/Module/Friendica.php index deb17b385..ee8b22061 100644 --- a/src/Module/Friendica.php +++ b/src/Module/Friendica.php @@ -15,7 +15,7 @@ use Friendica\Model\User; */ class Friendica extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $app = self::getApp(); $config = $app->getConfig(); @@ -88,7 +88,7 @@ class Friendica extends BaseModule ]); } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); diff --git a/src/Module/Group.php b/src/Module/Group.php index 6368690ef..4c7672c01 100644 --- a/src/Module/Group.php +++ b/src/Module/Group.php @@ -19,7 +19,7 @@ require_once 'boot.php'; class Group extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { $a = self::getApp(); @@ -132,7 +132,7 @@ class Group extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { $change = false; diff --git a/src/Module/HTTPException/MethodNotAllowed.php b/src/Module/HTTPException/MethodNotAllowed.php index 3e5d159e7..b4f9e9766 100644 --- a/src/Module/HTTPException/MethodNotAllowed.php +++ b/src/Module/HTTPException/MethodNotAllowed.php @@ -8,7 +8,7 @@ use Friendica\Network\HTTPException; class MethodNotAllowed extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { throw new HTTPException\MethodNotAllowedException(L10n::t('Method Not Allowed.')); } diff --git a/src/Module/HTTPException/PageNotFound.php b/src/Module/HTTPException/PageNotFound.php index 90192efca..c79d9c277 100644 --- a/src/Module/HTTPException/PageNotFound.php +++ b/src/Module/HTTPException/PageNotFound.php @@ -8,7 +8,7 @@ use Friendica\Network\HTTPException; class PageNotFound extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { throw new HTTPException\NotFoundException(L10n::t('Page not found.')); } diff --git a/src/Module/Hashtag.php b/src/Module/Hashtag.php index 8708a464a..a460ae1d9 100644 --- a/src/Module/Hashtag.php +++ b/src/Module/Hashtag.php @@ -15,7 +15,7 @@ use Friendica\Util\Strings; class Hashtag extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $result = []; diff --git a/src/Module/Help.php b/src/Module/Help.php index ae5100d63..3b3ce5870 100644 --- a/src/Module/Help.php +++ b/src/Module/Help.php @@ -14,7 +14,7 @@ use Friendica\Util\Strings; */ class Help extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { Nav::setSelected('help'); diff --git a/src/Module/Home.php b/src/Module/Home.php index 5e9c28af1..e6fb8c349 100644 --- a/src/Module/Home.php +++ b/src/Module/Home.php @@ -12,7 +12,7 @@ use Friendica\Core\Renderer; */ class Home extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Inbox.php b/src/Module/Inbox.php index ac9932773..8ab169567 100644 --- a/src/Module/Inbox.php +++ b/src/Module/Inbox.php @@ -19,7 +19,7 @@ use Friendica\Util\Network; */ class Inbox extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Install.php b/src/Module/Install.php index f4e2c4c76..71547ad51 100644 --- a/src/Module/Install.php +++ b/src/Module/Install.php @@ -46,7 +46,7 @@ class Install extends BaseModule */ private static $installer; - public static function init($parameters) + public static function init(array $parameters = []) { $a = self::getApp(); @@ -76,7 +76,7 @@ class Install extends BaseModule self::$currentWizardStep = ($_POST['pass'] ?? '') ?: self::SYSTEM_CHECK; } - public static function post($parameters) + public static function post(array $parameters = []) { $a = self::getApp(); $configCache = $a->getConfigCache(); @@ -149,7 +149,7 @@ class Install extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); $configCache = $a->getConfigCache(); diff --git a/src/Module/Invite.php b/src/Module/Invite.php index 162d4489d..cd616001b 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -16,7 +16,7 @@ use Friendica\Util\Strings; */ class Invite extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); @@ -104,7 +104,7 @@ class Invite extends BaseModule notice(L10n::tt('%d message sent.', '%d messages sent.', $total) . EOL); } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); diff --git a/src/Module/Item/Compose.php b/src/Module/Item/Compose.php index 1a88ebbc5..ad0a2d805 100644 --- a/src/Module/Item/Compose.php +++ b/src/Module/Item/Compose.php @@ -21,7 +21,7 @@ use Friendica\Util\Crypto; class Compose extends BaseModule { - public static function post($parameters) + public static function post(array $parameters = []) { if (!empty($_REQUEST['body'])) { $_REQUEST['return'] = 'network'; @@ -32,7 +32,7 @@ class Compose extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { return Login::form('compose', false); diff --git a/src/Module/Item/Ignore.php b/src/Module/Item/Ignore.php index 662148076..4590bc8c8 100644 --- a/src/Module/Item/Ignore.php +++ b/src/Module/Item/Ignore.php @@ -16,7 +16,7 @@ use Friendica\Network\HTTPException; */ class Ignore extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { /** @var L10n $l10n */ $l10n = self::getClass(L10n::class); diff --git a/src/Module/Like.php b/src/Module/Like.php index 3243a12cb..1c98cbc38 100644 --- a/src/Module/Like.php +++ b/src/Module/Like.php @@ -13,7 +13,7 @@ use Friendica\Util\Strings; */ class Like extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { if (!Session::isAuthenticated()) { throw new HTTPException\ForbiddenException(); diff --git a/src/Module/Login.php b/src/Module/Login.php index 4cdac27ae..c84af17cc 100644 --- a/src/Module/Login.php +++ b/src/Module/Login.php @@ -30,7 +30,7 @@ use LightOpenID; */ class Login extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); @@ -41,7 +41,7 @@ class Login extends BaseModule return self::form(Session::get('return_path'), intval(Config::get('config', 'register_policy')) !== \Friendica\Module\Register::CLOSED); } - public static function post($parameters) + public static function post(array $parameters = []) { $openid_identity = Session::get('openid_identity'); $openid_server = Session::get('openid_server'); diff --git a/src/Module/Logout.php b/src/Module/Logout.php index ad7eac6b5..49ede01a3 100644 --- a/src/Module/Logout.php +++ b/src/Module/Logout.php @@ -23,7 +23,7 @@ class Logout extends BaseModule /** * @brief Process logout requests */ - public static function init($parameters) + public static function init(array $parameters = []) { $visitor_home = null; if (remote_user()) { diff --git a/src/Module/Magic.php b/src/Module/Magic.php index 43c17d725..0f610d123 100644 --- a/src/Module/Magic.php +++ b/src/Module/Magic.php @@ -20,7 +20,7 @@ use Friendica\Util\Strings; */ class Magic extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { $a = self::getApp(); $ret = ['success' => false, 'url' => '', 'message' => '']; diff --git a/src/Module/Maintenance.php b/src/Module/Maintenance.php index 0a7b67cf8..056bde732 100644 --- a/src/Module/Maintenance.php +++ b/src/Module/Maintenance.php @@ -14,7 +14,7 @@ use Friendica\Util\Strings; */ class Maintenance extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $config = self::getApp()->getConfig(); diff --git a/src/Module/Manifest.php b/src/Module/Manifest.php index 2fe432a5f..9e0974059 100644 --- a/src/Module/Manifest.php +++ b/src/Module/Manifest.php @@ -7,7 +7,7 @@ use Friendica\Core\Renderer; class Manifest extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/NodeInfo.php b/src/Module/NodeInfo.php index 22e26e97a..28f23196f 100644 --- a/src/Module/NodeInfo.php +++ b/src/Module/NodeInfo.php @@ -13,7 +13,7 @@ use Friendica\Core\System; */ class NodeInfo extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { $config = self::getApp()->getConfig(); @@ -22,7 +22,7 @@ class NodeInfo extends BaseModule } } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); diff --git a/src/Module/Notifications/Notify.php b/src/Module/Notifications/Notify.php index 28047c698..721a89a69 100644 --- a/src/Module/Notifications/Notify.php +++ b/src/Module/Notifications/Notify.php @@ -14,14 +14,14 @@ use Friendica\Network\HTTPException; */ class Notify extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { throw new HTTPException\UnauthorizedException(L10n::t('Permission denied.')); } } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); @@ -45,7 +45,7 @@ class Notify extends BaseModule * @return string|void * @throws HTTPException\InternalServerErrorException */ - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Objects.php b/src/Module/Objects.php index 528b20a86..5538be188 100644 --- a/src/Module/Objects.php +++ b/src/Module/Objects.php @@ -15,7 +15,7 @@ use Friendica\Protocol\ActivityPub; */ class Objects extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Oembed.php b/src/Module/Oembed.php index e31fde631..f9d928428 100644 --- a/src/Module/Oembed.php +++ b/src/Module/Oembed.php @@ -17,7 +17,7 @@ use Friendica\Util\Strings; */ class Oembed extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/OpenSearch.php b/src/Module/OpenSearch.php index 89cf53055..309db6af9 100644 --- a/src/Module/OpenSearch.php +++ b/src/Module/OpenSearch.php @@ -16,7 +16,7 @@ class OpenSearch extends BaseModule /** * @throws \Exception */ - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { header('Content-type: application/opensearchdescription+xml'); diff --git a/src/Module/Outbox.php b/src/Module/Outbox.php index 334e7af71..c2024151e 100644 --- a/src/Module/Outbox.php +++ b/src/Module/Outbox.php @@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub; */ class Outbox extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Owa.php b/src/Module/Owa.php index a8c980373..ca4eec47f 100644 --- a/src/Module/Owa.php +++ b/src/Module/Owa.php @@ -27,7 +27,7 @@ use Friendica\Util\Strings; */ class Owa extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { $ret = [ 'success' => false ]; diff --git a/src/Module/Photo.php b/src/Module/Photo.php index 58199a08d..9987c38f5 100644 --- a/src/Module/Photo.php +++ b/src/Module/Photo.php @@ -23,7 +23,7 @@ class Photo extends BaseModule * Fetch a photo or an avatar, in optional size, check for permissions and * return the image */ - public static function init($parameters) + public static function init(array $parameters = []) { $a = self::getApp(); // @TODO: Replace with parameter from router diff --git a/src/Module/Profile.php b/src/Module/Profile.php index 527c7118e..69db45acf 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -33,7 +33,7 @@ class Profile extends BaseModule public static $which = ''; public static $profile = 0; - public static function init($parameters) + public static function init(array $parameters = []) { $a = self::getApp(); @@ -51,7 +51,7 @@ class Profile extends BaseModule } } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { if (ActivityPub::isRequest()) { $user = DBA::selectFirst('user', ['uid'], ['nickname' => self::$which]); @@ -75,7 +75,7 @@ class Profile extends BaseModule } } - public static function content($update = 0) + public static function content(array $parameters = [], $update = 0) { $a = self::getApp(); diff --git a/src/Module/Profile/Contacts.php b/src/Module/Profile/Contacts.php index 3df256b9d..8069248f8 100644 --- a/src/Module/Profile/Contacts.php +++ b/src/Module/Profile/Contacts.php @@ -18,7 +18,7 @@ use Friendica\Util\Proxy as ProxyUtils; class Contacts extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { throw new \Friendica\Network\HTTPException\NotFoundException(L10n::t('User not found.')); diff --git a/src/Module/Proxy.php b/src/Module/Proxy.php index 17509f662..fbf4b8bd5 100644 --- a/src/Module/Proxy.php +++ b/src/Module/Proxy.php @@ -30,7 +30,7 @@ class Proxy extends BaseModule * Sets application instance and checks if /proxy/ path is writable. * */ - public static function init($parameters) + public static function init(array $parameters = []) { // Set application instance here $a = self::getApp(); diff --git a/src/Module/PublicRSAKey.php b/src/Module/PublicRSAKey.php index 36502cc86..f652811b5 100644 --- a/src/Module/PublicRSAKey.php +++ b/src/Module/PublicRSAKey.php @@ -12,7 +12,7 @@ use Friendica\Network\HTTPException\BadRequestException; */ class PublicRSAKey extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); diff --git a/src/Module/RandomProfile.php b/src/Module/RandomProfile.php index 8edc43bf0..c5b31afee 100644 --- a/src/Module/RandomProfile.php +++ b/src/Module/RandomProfile.php @@ -11,7 +11,7 @@ use Friendica\Model\GContact; */ class RandomProfile extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/ReallySimpleDiscovery.php b/src/Module/ReallySimpleDiscovery.php index 838843fbf..7cf0db6c7 100644 --- a/src/Module/ReallySimpleDiscovery.php +++ b/src/Module/ReallySimpleDiscovery.php @@ -11,7 +11,7 @@ use Friendica\Util\XML; */ class ReallySimpleDiscovery extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { header('Content-Type: text/xml'); diff --git a/src/Module/Register.php b/src/Module/Register.php index 6993415e6..aaca8c02e 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -35,7 +35,7 @@ class Register extends BaseModule * * @return string */ - public static function content($parameters) + public static function content(array $parameters = []) { // logged in users can register others (people/pages/groups) // even with closed registrations, unless specifically prohibited by site policy. @@ -152,7 +152,7 @@ class Register extends BaseModule * Extend this method if the module is supposed to process POST requests. * Doesn't display any content */ - public static function post($parameters) + public static function post(array $parameters = []) { BaseModule::checkFormSecurityTokenRedirectOnError('/register', 'register'); diff --git a/src/Module/RobotsTxt.php b/src/Module/RobotsTxt.php index 47e11201d..db83777e8 100644 --- a/src/Module/RobotsTxt.php +++ b/src/Module/RobotsTxt.php @@ -9,7 +9,7 @@ use Friendica\BaseModule; */ class RobotsTxt extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $allDisalloweds = [ '/settings/', diff --git a/src/Module/Search/Acl.php b/src/Module/Search/Acl.php index e886a8fdb..74ce55fb5 100644 --- a/src/Module/Search/Acl.php +++ b/src/Module/Search/Acl.php @@ -31,7 +31,7 @@ class Acl extends BaseModule const TYPE_PRIVATE_MESSAGE = 'm'; const TYPE_ANY_CONTACT = 'a'; - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { if (!local_user()) { throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this module.')); diff --git a/src/Module/Search/Directory.php b/src/Module/Search/Directory.php index c6734ac87..b18847afe 100644 --- a/src/Module/Search/Directory.php +++ b/src/Module/Search/Directory.php @@ -13,7 +13,7 @@ use Friendica\Util\Strings; */ class Directory extends BaseSearchModule { - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { notice(L10n::t('Permission denied.')); diff --git a/src/Module/Search/Index.php b/src/Module/Search/Index.php index 6f0f21f62..7c52c7e79 100644 --- a/src/Module/Search/Index.php +++ b/src/Module/Search/Index.php @@ -23,7 +23,7 @@ use Friendica\Util\Strings; class Index extends BaseSearchModule { - public static function content($parameters) + public static function content(array $parameters = []) { $search = (!empty($_GET['q']) ? Strings::escapeTags(trim(rawurldecode($_GET['q']))) : ''); diff --git a/src/Module/Search/Saved.php b/src/Module/Search/Saved.php index 42429c47b..88668272d 100644 --- a/src/Module/Search/Saved.php +++ b/src/Module/Search/Saved.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; class Saved extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { /** @var Arguments $args */ $args = self::getClass(Arguments::class); diff --git a/src/Module/Settings/Delegation.php b/src/Module/Settings/Delegation.php index 8048d3bf8..e3c2b8d34 100644 --- a/src/Module/Settings/Delegation.php +++ b/src/Module/Settings/Delegation.php @@ -20,7 +20,7 @@ use Friendica\Util\Strings; */ class Delegation extends BaseSettingsModule { - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user() || !empty(self::getApp()->user['uid']) && self::getApp()->user['uid'] != local_user()) { throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); @@ -46,7 +46,7 @@ class Delegation extends BaseSettingsModule DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => local_user()]); } - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); diff --git a/src/Module/Settings/TwoFactor/AppSpecific.php b/src/Module/Settings/TwoFactor/AppSpecific.php index 720fb9a83..72b233f42 100644 --- a/src/Module/Settings/TwoFactor/AppSpecific.php +++ b/src/Module/Settings/TwoFactor/AppSpecific.php @@ -20,7 +20,7 @@ class AppSpecific extends BaseSettingsModule { private static $appSpecificPassword = null; - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { return; @@ -38,7 +38,7 @@ class AppSpecific extends BaseSettingsModule } } - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -81,7 +81,7 @@ class AppSpecific extends BaseSettingsModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { return Login::form('settings/2fa/app_specific'); diff --git a/src/Module/Settings/TwoFactor/Index.php b/src/Module/Settings/TwoFactor/Index.php index 9a661ef73..34d6f97b4 100644 --- a/src/Module/Settings/TwoFactor/Index.php +++ b/src/Module/Settings/TwoFactor/Index.php @@ -17,7 +17,7 @@ use PragmaRX\Google2FA\Google2FA; class Index extends BaseSettingsModule { - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -73,7 +73,7 @@ class Index extends BaseSettingsModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { return Login::form('settings/2fa'); diff --git a/src/Module/Settings/TwoFactor/Recovery.php b/src/Module/Settings/TwoFactor/Recovery.php index b3155f6e9..0d7de7d90 100644 --- a/src/Module/Settings/TwoFactor/Recovery.php +++ b/src/Module/Settings/TwoFactor/Recovery.php @@ -18,7 +18,7 @@ use Friendica\Module\Login; */ class Recovery extends BaseSettingsModule { - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { return; @@ -36,7 +36,7 @@ class Recovery extends BaseSettingsModule } } - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -53,7 +53,7 @@ class Recovery extends BaseSettingsModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { return Login::form('settings/2fa/recovery'); diff --git a/src/Module/Settings/TwoFactor/Verify.php b/src/Module/Settings/TwoFactor/Verify.php index 3957a5350..63c186e3a 100644 --- a/src/Module/Settings/TwoFactor/Verify.php +++ b/src/Module/Settings/TwoFactor/Verify.php @@ -24,7 +24,7 @@ use PragmaRX\Google2FA\Google2FA; */ class Verify extends BaseSettingsModule { - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { return; @@ -43,7 +43,7 @@ class Verify extends BaseSettingsModule } } - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -69,7 +69,7 @@ class Verify extends BaseSettingsModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { return Login::form('settings/2fa/verify'); diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index c571be250..19722a18e 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -32,7 +32,7 @@ class UserExport extends BaseSettingsModule * If there is an action required through the URL / path, react * accordingly and export the requested data. **/ - public static function content($parameters) + public static function content(array $parameters = []) { parent::content($parameters); @@ -59,7 +59,7 @@ class UserExport extends BaseSettingsModule * to the browser which then offers a save / open dialog * to the user. **/ - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $args = self::getClass(Arguments::class); if ($args->getArgc() == 3) { diff --git a/src/Module/Smilies.php b/src/Module/Smilies.php index a2b91f54d..a808ce820 100644 --- a/src/Module/Smilies.php +++ b/src/Module/Smilies.php @@ -12,7 +12,7 @@ use Friendica\Core\System; */ class Smilies extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); @@ -26,7 +26,7 @@ class Smilies extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { $smilies = Content\Smilies::getList(); $count = count($smilies['texts'] ?? []); diff --git a/src/Module/Starred.php b/src/Module/Starred.php index 1aab10307..dbda9f107 100644 --- a/src/Module/Starred.php +++ b/src/Module/Starred.php @@ -10,7 +10,7 @@ use Friendica\Model\Item; */ class Starred extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { if (!local_user()) { exit(); diff --git a/src/Module/Statistics.php b/src/Module/Statistics.php index 53f9acf95..6e599ac9b 100644 --- a/src/Module/Statistics.php +++ b/src/Module/Statistics.php @@ -8,7 +8,7 @@ use Friendica\Core\System; class Statistics extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { $config = self::getApp()->getConfig(); @@ -17,7 +17,7 @@ class Statistics extends BaseModule } } - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $config = self::getApp()->getConfig(); $logger = self::getApp()->getLogger(); diff --git a/src/Module/Theme.php b/src/Module/Theme.php index 762e39855..e9ce8d396 100644 --- a/src/Module/Theme.php +++ b/src/Module/Theme.php @@ -10,7 +10,7 @@ use Friendica\Util\Strings; */ class Theme extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { header("Content-Type: text/css"); diff --git a/src/Module/ThemeDetails.php b/src/Module/ThemeDetails.php index 611134d63..40bfb7a87 100644 --- a/src/Module/ThemeDetails.php +++ b/src/Module/ThemeDetails.php @@ -10,7 +10,7 @@ use Friendica\Core\Theme; */ class ThemeDetails extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { if (!empty($_REQUEST['theme'])) { $theme = $_REQUEST['theme']; diff --git a/src/Module/ToggleMobile.php b/src/Module/ToggleMobile.php index 07e6fd87d..0efc2e54b 100644 --- a/src/Module/ToggleMobile.php +++ b/src/Module/ToggleMobile.php @@ -9,7 +9,7 @@ use Friendica\BaseModule; */ class ToggleMobile extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $a = self::getApp(); diff --git a/src/Module/Tos.php b/src/Module/Tos.php index c69557d5d..ea29a5e07 100644 --- a/src/Module/Tos.php +++ b/src/Module/Tos.php @@ -47,7 +47,7 @@ class Tos extends BaseModule * dealings with their own node so a TOS is not necessary. * **/ - public static function init($parameters) + public static function init(array $parameters = []) { if (strlen(Config::get('system','singleuser'))) { self::getApp()->internalRedirect('profile/' . Config::get('system','singleuser')); @@ -66,7 +66,7 @@ class Tos extends BaseModule * @return string * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function content($parameters) { + public static function content(array $parameters = []) { $tpl = Renderer::getMarkupTemplate('tos.tpl'); if (Config::get('system', 'tosdisplay')) { return Renderer::replaceMacros($tpl, [ diff --git a/src/Module/TwoFactor/Recovery.php b/src/Module/TwoFactor/Recovery.php index 82cfc80ea..bd8783646 100644 --- a/src/Module/TwoFactor/Recovery.php +++ b/src/Module/TwoFactor/Recovery.php @@ -15,14 +15,14 @@ use Friendica\Model\TwoFactor\RecoveryCode; */ class Recovery extends BaseModule { - public static function init($parameters) + public static function init(array $parameters = []) { if (!local_user()) { return; } } - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -48,7 +48,7 @@ class Recovery extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { self::getApp()->internalRedirect(); diff --git a/src/Module/TwoFactor/Verify.php b/src/Module/TwoFactor/Verify.php index daef9f60a..f6f040f5a 100644 --- a/src/Module/TwoFactor/Verify.php +++ b/src/Module/TwoFactor/Verify.php @@ -18,7 +18,7 @@ class Verify extends BaseModule { private static $errors = []; - public static function post($parameters) + public static function post(array $parameters = []) { if (!local_user()) { return; @@ -45,7 +45,7 @@ class Verify extends BaseModule } } - public static function content($parameters) + public static function content(array $parameters = []) { if (!local_user()) { self::getApp()->internalRedirect(); diff --git a/src/Module/Welcome.php b/src/Module/Welcome.php index d92f4109c..f69991e49 100644 --- a/src/Module/Welcome.php +++ b/src/Module/Welcome.php @@ -11,7 +11,7 @@ use Friendica\Core\Renderer; */ class Welcome extends BaseModule { - public static function content($parameters) + public static function content(array $parameters = []) { $config = self::getApp()->getConfig(); diff --git a/src/Module/WellKnown/HostMeta.php b/src/Module/WellKnown/HostMeta.php index acf2cca86..cb344b695 100644 --- a/src/Module/WellKnown/HostMeta.php +++ b/src/Module/WellKnown/HostMeta.php @@ -13,7 +13,7 @@ use Friendica\Util\Crypto; */ class HostMeta extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/WellKnown/XSocialRelay.php b/src/Module/WellKnown/XSocialRelay.php index bbd51069d..5d8f4e817 100644 --- a/src/Module/WellKnown/XSocialRelay.php +++ b/src/Module/WellKnown/XSocialRelay.php @@ -11,7 +11,7 @@ use Friendica\Model\Search; */ class XSocialRelay extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); $config = $app->getConfig(); diff --git a/src/Module/Xrd.php b/src/Module/Xrd.php index 4bad558a4..79e0883a8 100644 --- a/src/Module/Xrd.php +++ b/src/Module/Xrd.php @@ -17,7 +17,7 @@ use Friendica\Util\Strings; */ class Xrd extends BaseModule { - public static function rawContent($parameters) + public static function rawContent(array $parameters = []) { $app = self::getApp(); diff --git a/static/dbstructure.config.php.sic b/static/dbstructure.config.php.sic new file mode 100755 index 000000000..65e0b26a6 --- /dev/null +++ b/static/dbstructure.config.php.sic @@ -0,0 +1,1439 @@ +" => [ + * "comment" => "Description of the table", + * "fields" => [ + * "" => [ + * "type" => "{()} ", + * "not null" => 0|1, + * {"extra" => "auto_increment",} + * {"default" => "",} + * {"default" => NULL_DATE,} (for datetime fields) + * {"primary" => "1",} + * {"relation" => ["" => ""],} + * "comment" => "Description of the fields" + * ], + * ... + * ], + * "indexes" => [ + * "PRIMARY" => ["", ...], + * "" => [{"UNIQUE",} "{()}", ...] + * ... + * ], + * ], + * + * If you need to make any change, make sure to increment the DB_UPDATE_VERSION constant value below. + * + */ + +use Friendica\Database\DBA; + +if (!defined('DB_UPDATE_VERSION')) { + define('DB_UPDATE_VERSION', 1324); +} + +return [ + "2fa_app_specific_password" => [ + "comment" => "Two-factor app-specific _password", + "fields" => [ + "id" => ["type" => "mediumint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Password ID for revocation"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "relation" => ["user" => "uid"], "comment" => "User ID"], + "description" => ["type" => "varchar(255)", "comment" => "Description of the usage of the password"], + "hashed_password" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Hashed password"], + "generated" => ["type" => "datetime", "not null" => "1", "comment" => "Datetime the password was generated"], + "last_used" => ["type" => "datetime", "comment" => "Datetime the password was last used"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_description" => ["uid", "description(190)"], + ] + ], + "2fa_recovery_codes" => [ + "comment" => "Two-factor authentication recovery codes", + "fields" => [ + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User ID"], + "code" => ["type" => "varchar(50)", "not null" => "1", "primary" => "1", "comment" => "Recovery code string"], + "generated" => ["type" => "datetime", "not null" => "1", "comment" => "Datetime the code was generated"], + "used" => ["type" => "datetime", "comment" => "Datetime the code was used"], + ], + "indexes" => [ + "PRIMARY" => ["uid", "code"] + ] + ], + "addon" => [ + "comment" => "registered addons", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], + "name" => ["type" => "varchar(50)", "not null" => "1", "default" => "", "comment" => "addon base (file)name"], + "version" => ["type" => "varchar(50)", "not null" => "1", "default" => "", "comment" => "currently unused"], + "installed" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "currently always 1"], + "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "currently unused"], + "timestamp" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "file timestamp to check for reloads"], + "plugin_admin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = has admin config, 0 = has no admin config"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "name" => ["UNIQUE", "name"], + ] + ], + "apcontact" => [ + "comment" => "ActivityPub compatible contacts - used in the ActivityPub implementation", + "fields" => [ + "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "URL of the contact"], + "uuid" => ["type" => "varchar(255)", "comment" => ""], + "type" => ["type" => "varchar(20)", "not null" => "1", "comment" => ""], + "following" => ["type" => "varchar(255)", "comment" => ""], + "followers" => ["type" => "varchar(255)", "comment" => ""], + "inbox" => ["type" => "varchar(255)", "not null" => "1", "comment" => ""], + "outbox" => ["type" => "varchar(255)", "comment" => ""], + "sharedinbox" => ["type" => "varchar(255)", "comment" => ""], + "manually-approve" => ["type" => "boolean", "comment" => ""], + "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "name" => ["type" => "varchar(255)", "comment" => ""], + "about" => ["type" => "text", "comment" => ""], + "photo" => ["type" => "varchar(255)", "comment" => ""], + "addr" => ["type" => "varchar(255)", "comment" => ""], + "alias" => ["type" => "varchar(255)", "comment" => ""], + "pubkey" => ["type" => "text", "comment" => ""], + "baseurl" => ["type" => "varchar(255)", "comment" => "baseurl of the ap contact"], + "generator" => ["type" => "varchar(255)", "comment" => "Name of the contact's system"], + "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""] + ], + "indexes" => [ + "PRIMARY" => ["url"], + "addr" => ["addr(32)"], + "alias" => ["alias(190)"], + "url" => ["followers(190)"] + ] + ], + "attach" => [ + "comment" => "file attachments", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "generated index"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => "hash"], + "filename" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "filename of original"], + "filetype" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => "mimetype"], + "filesize" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "size in bytes"], + "data" => ["type" => "longblob", "not null" => "1", "comment" => "file data"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time"], + "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edit time"], + "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>"], + "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], + "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], + "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], + "backend-class" => ["type" => "tinytext", "comment" => "Storage backend class"], + "backend-ref" => ["type" => "text", "comment" => "Storage backend data reference"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "auth_codes" => [ + "comment" => "OAuth usage", + "fields" => [ + "id" => ["type" => "varchar(40)", "not null" => "1", "primary" => "1", "comment" => ""], + "client_id" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "relation" => ["clients" => "client_id"], + "comment" => ""], + "redirect_uri" => ["type" => "varchar(200)", "not null" => "1", "default" => "", "comment" => ""], + "expires" => ["type" => "int", "not null" => "1", "default" => "0", "comment" => ""], + "scope" => ["type" => "varchar(250)", "not null" => "1", "default" => "", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "cache" => [ + "comment" => "Stores temporary data", + "fields" => [ + "k" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "cache key"], + "v" => ["type" => "mediumtext", "comment" => "cached serialized value"], + "expires" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of cache expiration"], + "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of cache insertion"], + ], + "indexes" => [ + "PRIMARY" => ["k"], + "k_expires" => ["k", "expires"], + ] + ], + "challenge" => [ + "comment" => "", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "challenge" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "dfrn-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "type" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "last_update" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "clients" => [ + "comment" => "OAuth usage", + "fields" => [ + "client_id" => ["type" => "varchar(20)", "not null" => "1", "primary" => "1", "comment" => ""], + "pw" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "comment" => ""], + "redirect_uri" => ["type" => "varchar(200)", "not null" => "1", "default" => "", "comment" => ""], + "name" => ["type" => "text", "comment" => ""], + "icon" => ["type" => "text", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + ], + "indexes" => [ + "PRIMARY" => ["client_id"], + ] + ], + "config" => [ + "comment" => "main configuration storage", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], + "cat" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""], + "k" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""], + "v" => ["type" => "mediumtext", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "cat_k" => ["UNIQUE", "cat", "k"], + ] + ], + "contact" => [ + "comment" => "contact table", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "updated" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => "Date of last contact update"], + "self" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 if the contact is the user him/her self"], + "remote_self" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "rel" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "The kind of the relation between the user and the contact"], + "duplex" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "Network of the contact"], + "protocol" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "Protocol of the contact"], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name that this contact is known by"], + "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Nick- and user name of the contact"], + "location" => ["type" => "varchar(255)", "default" => "", "comment" => ""], + "about" => ["type" => "text", "comment" => ""], + "keywords" => ["type" => "text", "comment" => "public keywords (interests) of the contact"], + "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], + "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "attag" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "avatar" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "photo" => ["type" => "varchar(255)", "default" => "", "comment" => "Link to the profile photo of the contact"], + "thumb" => ["type" => "varchar(255)", "default" => "", "comment" => "Link to the profile photo (thumb size)"], + "micro" => ["type" => "varchar(255)", "default" => "", "comment" => "Link to the profile photo (micro size)"], + "site-pubkey" => ["type" => "text", "comment" => ""], + "issued-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "dfrn-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "nurl" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "pubkey" => ["type" => "text", "comment" => "RSA public key 4096 bit"], + "prvkey" => ["type" => "text", "comment" => "RSA private key 4096 bit"], + "batch" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "request" => ["type" => "varchar(255)", "comment" => ""], + "notify" => ["type" => "varchar(255)", "comment" => ""], + "poll" => ["type" => "varchar(255)", "comment" => ""], + "confirm" => ["type" => "varchar(255)", "comment" => ""], + "poco" => ["type" => "varchar(255)", "comment" => ""], + "aes_allow" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "ret-aes" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "usehub" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "subhub" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "hub-verify" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "last-update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last try to update the contact info"], + "success_update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last successful contact update"], + "failure_update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last failed update"], + "name-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "uri-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "avatar-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "term-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "last-item" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "date of the last post"], + "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "blocked" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "Node-wide block status"], + "block_reason" => ["type" => "text", "comment" => "Node-wide block reason"], + "readonly" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "posts of the contact are readonly"], + "writable" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "forum" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a forum"], + "prv" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a private group"], + "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""], + "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "archive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "pending" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""], + "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact has been deleted"], + "rating" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""], + "unsearchable" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact prefers to not be searchable"], + "sensitive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact posts sensitive content"], + "baseurl" => ["type" => "varchar(255)", "default" => "", "comment" => "baseurl of the contact"], + "reason" => ["type" => "text", "comment" => ""], + "closeness" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "99", "comment" => ""], + "info" => ["type" => "mediumtext", "comment" => ""], + "profile-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "bdyear" => ["type" => "varchar(4)", "not null" => "1", "default" => "", "comment" => ""], + "bd" => ["type" => "date", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""], + "notify_new_posts" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "fetch_further_information" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "ffi_keyword_blacklist" => ["type" => "text", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_name" => ["uid", "name(190)"], + "self_uid" => ["self", "uid"], + "alias_uid" => ["alias(32)", "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)"], + "addr_uid" => ["addr(32)", "uid"], + "nurl_uid" => ["nurl(32)", "uid"], + "nick_uid" => ["nick(32)", "uid"], + "dfrn-id" => ["dfrn-id(64)"], + "issued-id" => ["issued-id(64)"], + ] + ], + "conv" => [ + "comment" => "private messages", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this conversation"], + "recips" => ["type" => "text", "comment" => "sender_handle;recipient_handle"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "creator" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "handle of creator"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation timestamp"], + "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "edited timestamp"], + "subject" => ["type" => "text", "comment" => "subject of initial message"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid" => ["uid"], + ] + ], + "conversation" => [ + "comment" => "Raw data and structure information for messages", + "fields" => [ + "item-uri" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "Original URI of the item - unrelated to the table with the same name"], + "reply-to-uri" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "URI to which this item is a reply"], + "conversation-uri" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "GNU Social conversation URI"], + "conversation-href" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "GNU Social conversation link"], + "protocol" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "255", "comment" => "The protocol of the item"], + "source" => ["type" => "mediumtext", "comment" => "Original source"], + "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Receiving date"], + ], + "indexes" => [ + "PRIMARY" => ["item-uri"], + "conversation-uri" => ["conversation-uri"], + "received" => ["received"], + ] + ], + "diaspora-interaction" => [ + "comment" => "Signed Diaspora Interaction", + "fields" => [ + "uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], + "interaction" => ["type" => "mediumtext", "comment" => "The Diaspora interaction"] + ], + "indexes" => [ + "PRIMARY" => ["uri-id"] + ] + ], + "event" => [ + "comment" => "Events", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact_id (ID of the contact in contact table)"], + "uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time"], + "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edit time"], + "start" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "event start time"], + "finish" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "event end time"], + "summary" => ["type" => "text", "comment" => "short description or title of the event"], + "desc" => ["type" => "text", "comment" => "event description"], + "location" => ["type" => "text", "comment" => "event location"], + "type" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "comment" => "event or birthday"], + "nofinish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if event does have no end this is 1"], + "adjust" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "adjust to timezone of the recipient (0 or 1)"], + "ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "0 or 1"], + "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"], + "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], + "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], + "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_start" => ["uid", "start"], + ] + ], + "fcontact" => [ + "comment" => "Diaspora compatible contacts - used in the Diaspora implementation", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "unique id"], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "request" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "batch" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "notify" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "poll" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "confirm" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""], + "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "pubkey" => ["type" => "text", "comment" => ""], + "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "addr" => ["addr(32)"], + "url" => ["UNIQUE", "url(190)"], + ] + ], + "fsuggest" => [ + "comment" => "friend suggestion stuff", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "request" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "note" => ["type" => "text", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "gcign" => [ + "comment" => "contacts ignored by friend suggestions", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Local User id"], + "gcid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gcontact" => "id"], "comment" => "gcontact.id of ignored contact"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid" => ["uid"], + "gcid" => ["gcid"], + ] + ], + "gcontact" => [ + "comment" => "global contacts", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name that this contact is known by"], + "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Nick- and user name of the contact"], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Link to the contacts profile page"], + "nurl" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Link to the profile photo"], + "connect" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "updated" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + "last_contact" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + "last_failure" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + "archive_date" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + "archived" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "about" => ["type" => "text", "comment" => ""], + "keywords" => ["type" => "text", "comment" => "puplic keywords (interests)"], + "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], + "birthday" => ["type" => "varchar(32)", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""], + "community" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 if contact is forum account"], + "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "-1", "comment" => ""], + "hide" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = should be hidden from search"], + "nsfw" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = contact posts nsfw content"], + "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "social network protocol"], + "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "notify" => ["type" => "varchar(255)", "comment" => ""], + "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "generation" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "server_url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "baseurl of the contacts server"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "nurl" => ["UNIQUE", "nurl(190)"], + "name" => ["name(64)"], + "nick" => ["nick(32)"], + "addr" => ["addr(64)"], + "hide_network_updated" => ["hide", "network", "updated"], + "updated" => ["updated"], + ] + ], + "glink" => [ + "comment" => "'friends of friends' linkages derived from poco", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "gcid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gcontact" => "id"], "comment" => ""], + "zcid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gcontact" => "id"], "comment" => ""], + "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "cid_uid_gcid_zcid" => ["UNIQUE", "cid", "uid", "gcid", "zcid"], + "gcid" => ["gcid"], + ] + ], + "group" => [ + "comment" => "privacy groups, group info", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the member list is not private"], + "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the group has been deleted"], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "human readable name of group"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid" => ["uid"], + ] + ], + "group_member" => [ + "comment" => "privacy groups, member info", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "gid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["group" => "id"], "comment" => "groups.id of the associated group"], + "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id of the member assigned to the associated group"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "contactid" => ["contact-id"], + "gid_contactid" => ["UNIQUE", "gid", "contact-id"], + ] + ], + "gserver" => [ + "comment" => "Global servers", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "nurl" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "version" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "site_name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "info" => ["type" => "text", "comment" => ""], + "register_policy" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""], + "registered-users" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Number of registered users"], + "poco" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "noscrape" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""], + "platform" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "relay-subscribe" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Has the server subscribed to the relay system"], + "relay-scope" => ["type" => "varchar(10)", "not null" => "1", "default" => "", "comment" => "The scope of messages that the server wants to get"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "last_poco_query" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + "last_contact" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + "last_failure" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "nurl" => ["UNIQUE", "nurl(190)"], + ] + ], + "gserver-tag" => [ + "comment" => "Tags that the server has subscribed", + "fields" => [ + "gserver-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gserver" => "id"], "primary" => "1", + "comment" => "The id of the gserver"], + "tag" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "primary" => "1", "comment" => "Tag that the server has subscribed"], + ], + "indexes" => [ + "PRIMARY" => ["gserver-id", "tag"], + "tag" => ["tag"], + ] + ], + "hook" => [ + "comment" => "addon hook registry", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "hook" => ["type" => "varbinary(100)", "not null" => "1", "default" => "", "comment" => "name of hook"], + "file" => ["type" => "varbinary(200)", "not null" => "1", "default" => "", "comment" => "relative filename of hook handler"], + "function" => ["type" => "varbinary(200)", "not null" => "1", "default" => "", "comment" => "function name of hook handler"], + "priority" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => "not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "hook_file_function" => ["UNIQUE", "hook", "file", "function"], + ] + ], + "inbox-status" => [ + "comment" => "Status of ActivityPub inboxes", + "fields" => [ + "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "URL of the inbox"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date of this entry"], + "success" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last successful delivery"], + "failure" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last failed delivery"], + "previous" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Previous delivery date"], + "archive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is the inbox archived?"], + "shared" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is it a shared inbox?"] + ], + "indexes" => [ + "PRIMARY" => ["url"] + ] + ], + "intro" => [ + "comment" => "", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "fid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["fcontact" => "id"], "comment" => ""], + "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], + "knowyou" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "duplex" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "note" => ["type" => "text", "comment" => ""], + "hash" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "datetime" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "blocked" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""], + "ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "item" => [ + "comment" => "Structure for all posts", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "relation" => ["thread" => "iid"]], + "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this item"], + "uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], + "uri-hash" => ["type" => "varchar(80)", "not null" => "1", "default" => "", "comment" => "RIPEMD-128 hash from uri"], + "parent" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "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"], + "parent-uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "uri of the parent to this item"], + "parent-uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table that contains the parent uri"], + "thr-parent" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "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"], + "thr-parent-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table that contains the thread parent uri"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation timestamp."], + "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last edit (default is created)"], + "commented" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last comment/reply to this item"], + "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime"], + "changed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date that something in the conversation changed, indicating clients should fetch the conversation again"], + "gravity" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "Network from where the item comes from"], + "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Link to the contact table with uid=0 of the owner of this item"], + "author-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Link to the contact table with uid=0 of the author of this item"], + "icid" => ["type" => "int unsigned", "relation" => ["item-content" => "id"], "comment" => "Id of the item-content table entry that contains the whole item content"], + "iaid" => ["type" => "int unsigned", "relation" => ["item-activity" => "id"], "comment" => "Id of the item-activity table entry that contains the activity data"], + "extid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "post-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Post type (personal note, bookmark, ...)"], + "global" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "private" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "distribution is restricted"], + "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "moderated" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item has been deleted"], + // User specific fields. Eventually they will move to user-item + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner id which owns this copy of the item"], + "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id"], + "wall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "This item was posted to the wall of uid"], + "origin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item originated at this site"], + "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "starred" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item has been favourited"], + "unseen" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "item has not been seen"], + "mention" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "The owner of this item was mentioned in it"], + "forum_mode" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "psid" => ["type" => "int unsigned", "relation" => ["permissionset" => "id"], "comment" => "ID of the permission set of this post"], + // It has to be decided whether these fields belong to the user or the structure + "resource-id" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type"], + "event-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["event" => "id"], "comment" => "Used to link to the event.id"], + // Could possibly be replaced by the "attach" table? + "attach" => ["type" => "mediumtext", "comment" => "JSON structure representing attachments to this item"], + // Deprecated fields. Will be removed in upcoming versions + "allow_cid" => ["type" => "mediumtext", "comment" => "Deprecated"], + "allow_gid" => ["type" => "mediumtext", "comment" => "Deprecated"], + "deny_cid" => ["type" => "mediumtext", "comment" => "Deprecated"], + "deny_gid" => ["type" => "mediumtext", "comment" => "Deprecated"], + "postopts" => ["type" => "text", "comment" => "Deprecated"], + "inform" => ["type" => "mediumtext", "comment" => "Deprecated"], + "type" => ["type" => "varchar(20)", "comment" => "Deprecated"], + "bookmark" => ["type" => "boolean", "comment" => "Deprecated"], + "file" => ["type" => "mediumtext", "comment" => "Deprecated"], + "location" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "coord" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "tag" => ["type" => "mediumtext", "comment" => "Deprecated"], + "plink" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "title" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "content-warning" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "body" => ["type" => "mediumtext", "comment" => "Deprecated"], + "app" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "verb" => ["type" => "varchar(100)", "comment" => "Deprecated"], + "object-type" => ["type" => "varchar(100)", "comment" => "Deprecated"], + "object" => ["type" => "text", "comment" => "Deprecated"], + "target-type" => ["type" => "varchar(100)", "comment" => "Deprecated"], + "target" => ["type" => "text", "comment" => "Deprecated"], + "author-name" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "author-link" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "author-avatar" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "owner-name" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "owner-link" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "owner-avatar" => ["type" => "varchar(255)", "comment" => "Deprecated"], + "rendered-hash" => ["type" => "varchar(32)", "comment" => "Deprecated"], + "rendered-html" => ["type" => "mediumtext", "comment" => "Deprecated"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "guid" => ["guid(191)"], + "uri" => ["uri(191)"], + "parent" => ["parent"], + "parent-uri" => ["parent-uri(191)"], + "extid" => ["extid(191)"], + "uid_id" => ["uid", "id"], + "uid_contactid_id" => ["uid", "contact-id", "id"], + "uid_received" => ["uid", "received"], + "uid_commented" => ["uid", "commented"], + "uid_unseen_contactid" => ["uid", "unseen", "contact-id"], + "uid_network_received" => ["uid", "network", "received"], + "uid_network_commented" => ["uid", "network", "commented"], + "uid_thrparent" => ["uid", "thr-parent(190)"], + "uid_parenturi" => ["uid", "parent-uri(190)"], + "uid_contactid_received" => ["uid", "contact-id", "received"], + "authorid_received" => ["author-id", "received"], + "ownerid" => ["owner-id"], + "contact-id" => ["contact-id"], + "uid_uri" => ["uid", "uri(190)"], + "resource-id" => ["resource-id"], + "deleted_changed" => ["deleted", "changed"], + "uid_wall_changed" => ["uid", "wall", "changed"], + "uid_eventid" => ["uid", "event-id"], + "icid" => ["icid"], + "iaid" => ["iaid"], + "psid_wall" => ["psid", "wall"], + ] + ], + "item-activity" => [ + "comment" => "Activities for items", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "relation" => ["thread" => "iid"]], + "uri" => ["type" => "varchar(255)", "comment" => ""], + "uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], + "uri-hash" => ["type" => "varchar(80)", "not null" => "1", "default" => "", "comment" => "RIPEMD-128 hash from uri"], + "activity" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""] + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uri-hash" => ["UNIQUE", "uri-hash"], + "uri" => ["uri(191)"], + "uri-id" => ["uri-id"] + ] + ], + "item-content" => [ + "comment" => "Content for all posts", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "relation" => ["thread" => "iid"]], + "uri" => ["type" => "varchar(255)", "comment" => ""], + "uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], + "uri-plink-hash" => ["type" => "varchar(80)", "not null" => "1", "default" => "", "comment" => "RIPEMD-128 hash from uri"], + "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "item title"], + "content-warning" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "body" => ["type" => "mediumtext", "comment" => "item body content"], + "location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "text location where this item originated"], + "coord" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "longitude/latitude pair representing location where this item originated"], + "language" => ["type" => "text", "comment" => "Language information about this post"], + "app" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "application which generated this item"], + "rendered-hash" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], + "rendered-html" => ["type" => "mediumtext", "comment" => "item.body converted to html"], + "object-type" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams object type"], + "object" => ["type" => "text", "comment" => "JSON encoded object structure unless it is an implied object (normal post)"], + "target-type" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams target type if applicable (URI)"], + "target" => ["type" => "text", "comment" => "JSON encoded target structure if used"], + "plink" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "permalink or URL to a displayable copy of the message at its source"], + "verb" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams verb"] + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uri-plink-hash" => ["UNIQUE", "uri-plink-hash"], + "uri" => ["uri(191)"], + "plink" => ["plink(191)"], + "uri-id" => ["uri-id"] + ] + ], + "item-delivery-data" => [ + "comment" => "Delivery data for items", + "fields" => [ + "iid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], + "postopts" => ["type" => "text", "comment" => "External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery"], + "inform" => ["type" => "mediumtext", "comment" => "Additional receivers of the linked item"], + "queue_count" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Initial number of delivery recipients, used as item.delivery_queue_count"], + "queue_done" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries, used as item.delivery_queue_done"], + "queue_failed" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of unsuccessful deliveries, used as item.delivery_queue_failed"], + "activitypub" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via ActivityPub"], + "dfrn" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via DFRN"], + "legacy_dfrn" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via legacy DFRN"], + "diaspora" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via Diaspora"], + "ostatus" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via OStatus"], + ], + "indexes" => [ + "PRIMARY" => ["iid"], + ] + ], + "item-uri" => [ + "comment" => "URI and GUID for items", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"], + "uri" => ["type" => "varbinary(255)", "not null" => "1", "comment" => "URI of an item"], + "guid" => ["type" => "varbinary(255)", "comment" => "A unique identifier for an item"] + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uri" => ["UNIQUE", "uri"], + "guid" => ["guid"] + ] + ], + "locks" => [ + "comment" => "", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "name" => ["type" => "varchar(128)", "not null" => "1", "default" => "", "comment" => ""], + "locked" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "pid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Process ID"], + "expires" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of cache expiration"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "name_expires" => ["name", "expires"] + ] + ], + "mail" => [ + "comment" => "private messages", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this private message"], + "from-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "name of the sender"], + "from-photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "contact photo link of the sender"], + "from-url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "profile linke of the sender"], + "contact-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "relation" => ["contact" => "id"], "comment" => "contact.id"], + "convid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["conv" => "id"], "comment" => "conv.id"], + "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "body" => ["type" => "mediumtext", "comment" => ""], + "seen" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if message visited it is 1"], + "reply" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "replied" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "unknown" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if sender not in the contact table this is 1"], + "uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "parent-uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time of the private message"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_seen" => ["uid", "seen"], + "convid" => ["convid"], + "uri" => ["uri(64)"], + "parent-uri" => ["parent-uri(64)"], + "contactid" => ["contact-id(32)"], + ] + ], + "mailacct" => [ + "comment" => "Mail account data for fetching mails", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "server" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "port" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "ssltype" => ["type" => "varchar(16)", "not null" => "1", "default" => "", "comment" => ""], + "mailbox" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "user" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "pass" => ["type" => "text", "comment" => ""], + "reply_to" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "action" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "movetofolder" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "last_check" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "manage" => [ + "comment" => "table of accounts that can manage each other", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "mid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_mid" => ["UNIQUE", "uid", "mid"], + ] + ], + "notify" => [ + "comment" => "notifications", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => ""], + "type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "msg" => ["type" => "mediumtext", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "link" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "item.id"], + "parent" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => ""], + "seen" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "verb" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => ""], + "otype" => ["type" => "varchar(10)", "not null" => "1", "default" => "", "comment" => ""], + "name_cache" => ["type" => "tinytext", "comment" => "Cached bbcode parsing of name"], + "msg_cache" => ["type" => "mediumtext", "comment" => "Cached bbcode parsing of msg"] + ], + "indexes" => [ + "PRIMARY" => ["id"], + "hash_uid" => ["hash", "uid"], + "seen_uid_date" => ["seen", "uid", "date"], + "uid_date" => ["uid", "date"], + "uid_type_link" => ["uid", "type", "link(190)"], + ] + ], + "notify-threads" => [ + "comment" => "", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "notify-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["notify" => "id"], "comment" => ""], + "master-parent-item" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], + "comment" => ""], + "parent-item" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "receiver-uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], + "comment" => "User id"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "oembed" => [ + "comment" => "cache for OEmbed queries", + "fields" => [ + "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "page url"], + "maxwidth" => ["type" => "mediumint unsigned", "not null" => "1", "primary" => "1", "comment" => "Maximum width passed to Oembed"], + "content" => ["type" => "mediumtext", "comment" => "OEmbed data of the page"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of creation"], + ], + "indexes" => [ + "PRIMARY" => ["url", "maxwidth"], + "created" => ["created"], + ] + ], + "openwebauth-token" => [ + "comment" => "Store OpenWebAuth token to verify contacts", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "type" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Verify type"], + "token" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A generated token"], + "meta" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of creation"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "parsed_url" => [ + "comment" => "cache for 'parse_url' queries", + "fields" => [ + "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "page url"], + "guessing" => ["type" => "boolean", "not null" => "1", "default" => "0", "primary" => "1", "comment" => "is the 'guessing' mode active?"], + "oembed" => ["type" => "boolean", "not null" => "1", "default" => "0", "primary" => "1", "comment" => "is the data the result of oembed?"], + "content" => ["type" => "mediumtext", "comment" => "page data"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of creation"], + ], + "indexes" => [ + "PRIMARY" => ["url", "guessing", "oembed"], + "created" => ["created"], + ] + ], + "participation" => [ + "comment" => "Storage for participation messages from Diaspora", + "fields" => [ + "iid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "relation" => ["item" => "id"], "comment" => ""], + "server" => ["type" => "varchar(60)", "not null" => "1", "primary" => "1", "comment" => ""], + "cid" => ["type" => "int unsigned", "not null" => "1", "relation" => ["contact" => "id"], "comment" => ""], + "fid" => ["type" => "int unsigned", "not null" => "1", "relation" => ["fcontact" => "id"], "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["iid", "server"], + "cid" => ["cid"], + "fid" => ["fid"] + ] + ], + "pconfig" => [ + "comment" => "personal (per user) configuration storage", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "cat" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""], + "k" => ["type" => "varbinary(100)", "not null" => "1", "default" => "", "comment" => ""], + "v" => ["type" => "mediumtext", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_cat_k" => ["UNIQUE", "uid", "cat", "k"], + ] + ], + "permissionset" => [ + "comment" => "", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner id of this permission set"], + "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"], + "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], + "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], + "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_allow_cid_allow_gid_deny_cid_deny_gid" => ["allow_cid(50)", "allow_gid(30)", "deny_cid(50)", "deny_gid(30)"], + ] + ], + "photo" => [ + "comment" => "photo storage", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id"], + "guid" => ["type" => "char(16)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this photo"], + "resource-id" => ["type" => "char(32)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation date"], + "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edited date"], + "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "desc" => ["type" => "text", "comment" => ""], + "album" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "The name of the album to which the photo belongs"], + "filename" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "type" => ["type" => "varchar(30)", "not null" => "1", "default" => "image/jpeg"], + "height" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "width" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "datasize" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "data" => ["type" => "mediumblob", "not null" => "1", "comment" => ""], + "scale" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "profile" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"], + "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], + "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], + "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], + "backend-class" => ["type" => "tinytext", "comment" => "Storage backend class"], + "backend-ref" => ["type" => "text", "comment" => "Storage backend data reference"], + "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""] + ], + "indexes" => [ + "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"], + ] + ], + "poll" => [ + "comment" => "Currently unused table for storing poll results", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "q0" => ["type" => "text", "comment" => ""], + "q1" => ["type" => "text", "comment" => ""], + "q2" => ["type" => "text", "comment" => ""], + "q3" => ["type" => "text", "comment" => ""], + "q4" => ["type" => "text", "comment" => ""], + "q5" => ["type" => "text", "comment" => ""], + "q6" => ["type" => "text", "comment" => ""], + "q7" => ["type" => "text", "comment" => ""], + "q8" => ["type" => "text", "comment" => ""], + "q9" => ["type" => "text", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid" => ["uid"], + ] + ], + "poll_result" => [ + "comment" => "data for polls - currently unused", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "poll_id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["poll" => "id"]], + "choice" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "poll_id" => ["poll_id"], + ] + ], + "process" => [ + "comment" => "Currently running system processes", + "fields" => [ + "pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => ""], + "command" => ["type" => "varbinary(32)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["pid"], + "command" => ["command"], + ] + ], + "profile" => [ + "comment" => "user profiles data", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], + "profile-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name of the profile"], + "is-default" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Mark this profile as default profile"], + "hide-friends" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide friend list from viewers of this profile"], + "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "pdesc" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Title or description"], + "dob" => ["type" => "varchar(32)", "not null" => "1", "default" => "0000-00-00", "comment" => "Day of birth"], + "address" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "locality" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "region" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "postal-code" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], + "country-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "hometown" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], + "marital" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "with" => ["type" => "text", "comment" => ""], + "howlong" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "sexual" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "politic" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "religion" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "pub_keywords" => ["type" => "text", "comment" => ""], + "prv_keywords" => ["type" => "text", "comment" => ""], + "likes" => ["type" => "text", "comment" => ""], + "dislikes" => ["type" => "text", "comment" => ""], + "about" => ["type" => "text", "comment" => ""], + "summary" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "music" => ["type" => "text", "comment" => ""], + "book" => ["type" => "text", "comment" => ""], + "tv" => ["type" => "text", "comment" => ""], + "film" => ["type" => "text", "comment" => ""], + "interest" => ["type" => "text", "comment" => ""], + "romance" => ["type" => "text", "comment" => ""], + "work" => ["type" => "text", "comment" => ""], + "education" => ["type" => "text", "comment" => ""], + "contact" => ["type" => "text", "comment" => ""], + "homepage" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "thumb" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "publish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "publish default profile in local directory"], + "net-publish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "publish profile in global directory"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid_is-default" => ["uid", "is-default"], + "pub_keywords" => ["FULLTEXT", "pub_keywords"], + ] + ], + "profile_check" => [ + "comment" => "DFRN remote auth use", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id"], + "dfrn_id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "sec" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "push_subscriber" => [ + "comment" => "Used for OStatus: Contains feed subscribers", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "callback_url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "topic" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "nickname" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "push" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Retrial counter"], + "last_update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last successful trial"], + "next_try" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Next retrial date"], + "renewed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last subscription renewal"], + "secret" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "next_try" => ["next_try"], + ] + ], + "register" => [ + "comment" => "registrations requiring admin approval", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "hash" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "password" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "language" => ["type" => "varchar(16)", "not null" => "1", "default" => "", "comment" => ""], + "note" => ["type" => "text", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "search" => [ + "comment" => "", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "term" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "uid" => ["uid"], + ] + ], + "session" => [ + "comment" => "web session storage", + "fields" => [ + "id" => ["type" => "bigint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "sid" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => ""], + "data" => ["type" => "text", "comment" => ""], + "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "sid" => ["sid(64)"], + "expire" => ["expire"], + ] + ], + "sign" => [ + "comment" => "Diaspora signatures", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "item.id"], + "signed_text" => ["type" => "mediumtext", "comment" => ""], + "signature" => ["type" => "text", "comment" => ""], + "signer" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "iid" => ["UNIQUE", "iid"], + ] + ], + "term" => [ + "comment" => "item taxonomy (categories, tags, etc.) table", + "fields" => [ + "tid" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], + "oid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => ""], + "otype" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "term" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "global" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + ], + "indexes" => [ + "PRIMARY" => ["tid"], + "term_type" => ["term(64)", "type"], + "oid_otype_type_term" => ["oid", "otype", "type", "term(32)"], + "uid_otype_type_term_global_created" => ["uid", "otype", "type", "term(32)", "global", "created"], + "uid_otype_type_url" => ["uid", "otype", "type", "url(64)"], + "guid" => ["guid(64)"], + ] + ], + "thread" => [ + "comment" => "Thread related data", + "fields" => [ + "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], + "comment" => "sequential ID"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], + "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Item owner"], + "author-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Item author"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "commented" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "changed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], + "wall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "private" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "moderated" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "starred" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "ignored" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "post-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Post type (personal note, bookmark, ...)"], + "unseen" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""], + "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "origin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "forum_mode" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "mention" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""], + "bookmark" => ["type" => "boolean", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["iid"], + "uid_network_commented" => ["uid", "network", "commented"], + "uid_network_received" => ["uid", "network", "received"], + "uid_contactid_commented" => ["uid", "contact-id", "commented"], + "uid_contactid_received" => ["uid", "contact-id", "received"], + "contactid" => ["contact-id"], + "ownerid" => ["owner-id"], + "authorid" => ["author-id"], + "uid_received" => ["uid", "received"], + "uid_commented" => ["uid", "commented"], + "uid_wall_received" => ["uid", "wall", "received"], + "private_wall_origin_commented" => ["private", "wall", "origin", "commented"], + ] + ], + "tokens" => [ + "comment" => "OAuth usage", + "fields" => [ + "id" => ["type" => "varchar(40)", "not null" => "1", "primary" => "1", "comment" => ""], + "secret" => ["type" => "text", "comment" => ""], + "client_id" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "relation" => ["clients" => "client_id"]], + "expires" => ["type" => "int", "not null" => "1", "default" => "0", "comment" => ""], + "scope" => ["type" => "varchar(200)", "not null" => "1", "default" => "", "comment" => ""], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + ] + ], + "user" => [ + "comment" => "The local users", + "fields" => [ + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "parent-uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], + "comment" => "The parent user that has full control about this user"], + "guid" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this user"], + "username" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name that this user is known by"], + "password" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "encrypted password"], + "legacy_password" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is the password hash double-hashed?"], + "nickname" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "nick- and user name"], + "email" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "the users email address"], + "openid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], + "timezone" => ["type" => "varchar(128)", "not null" => "1", "default" => "", "comment" => "PHP-legal timezone"], + "language" => ["type" => "varchar(32)", "not null" => "1", "default" => "en", "comment" => "default language"], + "register_date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of registration"], + "login_date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of last login"], + "default-location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Default for item.location"], + "allow_location" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 allows to display the location"], + "theme" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "user theme preference"], + "pubkey" => ["type" => "text", "comment" => "RSA public key 4096 bit"], + "prvkey" => ["type" => "text", "comment" => "RSA private key 4096 bit"], + "spubkey" => ["type" => "text", "comment" => ""], + "sprvkey" => ["type" => "text", "comment" => ""], + "verified" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "user is verified through email"], + "blocked" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 for user is blocked"], + "blockwall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Prohibit contacts to post to the profile page of the user"], + "hidewall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide profile details from unkown viewers"], + "blocktags" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Prohibit contacts to tag the post of this user"], + "unkmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Permit unknown people to send private mails to this user"], + "cntunkmail" => ["type" => "int unsigned", "not null" => "1", "default" => "10", "comment" => ""], + "notify-flags" => ["type" => "smallint unsigned", "not null" => "1", "default" => "65535", "comment" => "email notification options"], + "page-flags" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "page/profile type"], + "account-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "prvnets" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "pwdreset" => ["type" => "varchar(255)", "comment" => "Password reset request token"], + "pwdreset_time" => ["type" => "datetime", "comment" => "Timestamp of the last password reset request"], + "maxreq" => ["type" => "int unsigned", "not null" => "1", "default" => "10", "comment" => ""], + "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "account_removed" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if 1 the account is removed"], + "account_expired" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], + "account_expires_on" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp when account expires and will be deleted"], + "expire_notification_sent" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of last warning of account expiration"], + "def_gid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], + "allow_cid" => ["type" => "mediumtext", "comment" => "default permission for this user"], + "allow_gid" => ["type" => "mediumtext", "comment" => "default permission for this user"], + "deny_cid" => ["type" => "mediumtext", "comment" => "default permission for this user"], + "deny_gid" => ["type" => "mediumtext", "comment" => "default permission for this user"], + "openidserver" => ["type" => "text", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["uid"], + "nickname" => ["nickname(32)"], + ] + ], + "userd" => [ + "comment" => "Deleted usernames", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], + "username" => ["type" => "varchar(255)", "not null" => "1", "comment" => ""], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "username" => ["username(32)"], + ] + ], + "user-contact" => [ + "comment" => "User specific public contact data", + "fields" => [ + "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["contact" => "id"], "comment" => "Contact id of the linked public contact"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], + "blocked" => ["type" => "boolean", "comment" => "Contact is completely blocked for this user"], + "ignored" => ["type" => "boolean", "comment" => "Posts from this contact are ignored"], + "collapsed" => ["type" => "boolean", "comment" => "Posts from this contact are collapsed"] + ], + "indexes" => [ + "PRIMARY" => ["uid", "cid"] + ] + ], + "user-item" => [ + "comment" => "User specific item data", + "fields" => [ + "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], + "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], + "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"], + "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"], + "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"] + ], + "indexes" => [ + "PRIMARY" => ["uid", "iid"] + ] + ], + "worker-ipc" => [ + "comment" => "Inter process communication between the frontend and the worker", + "fields" => [ + "key" => ["type" => "int", "not null" => "1", "primary" => "1", "comment" => ""], + "jobs" => ["type" => "boolean", "comment" => "Flag for outstanding jobs"], + ], + "indexes" => [ + "PRIMARY" => ["key"], + ], + "engine" => "MEMORY", + ], + "workerqueue" => [ + "comment" => "Background tasks queue entries", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented worker task id"], + "parameter" => ["type" => "mediumtext", "comment" => "Task command"], + "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Task priority"], + "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"], + "pid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Process id of the worker"], + "executed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Execution date"], + "next_try" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Next retrial date"], + "retrial" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Retrial counter"], + "done" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marked 1 when the task was done - will be deleted later"], + ], + "indexes" => [ + "PRIMARY" => ["id"], + "done_parameter" => ["done", "parameter(64)"], + "done_executed" => ["done", "executed"], + "done_priority_created" => ["done", "priority", "created"], + "done_priority_next_try" => ["done", "priority", "next_try"], + "done_pid_next_try" => ["done", "pid", "next_try"], + "done_pid_priority_created" => ["done", "pid", "priority", "created"] + ] + ], + "storage" => [ + "comment" => "Data stored by Database storage backend", + "fields" => [ + "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented image data id"], + "data" => ["type" => "longblob", "not null" => "1", "comment" => "file data"] + ], + "indexes" => [ + "PRIMARY" => ["id"] + ] + ] +]; + diff --git a/static/routes.config.php.sic b/static/routes.config.php.sic new file mode 100644 index 000000000..339860afe --- /dev/null +++ b/static/routes.config.php.sic @@ -0,0 +1,236 @@ + [ Module::class , [ HTTPMethod(s) ] ] +* - 'group' => [ 'route' => [ Module::class, [ HTTPMethod(s) ] ] +* +* It's possible to create recursive groups +*/ +return [ + '/' => [Module\Home::class, [R::GET]], + + '/.well-known' => [ + '/host-meta' => [Module\WellKnown\HostMeta::class, [R::GET]], + '/nodeinfo[/1.0]' => [Module\NodeInfo::class, [R::GET]], + '/webfinger' => [Module\Xrd::class, [R::GET]], + '/x-social-relay' => [Module\WellKnown\XSocialRelay::class, [R::GET]], + ], + + '/2fa' => [ + '[/]' => [Module\TwoFactor\Verify::class, [R::GET, R::POST]], + '/recovery' => [Module\TwoFactor\Recovery::class, [R::GET, R::POST]], + ], + + '/admin' => [ + '[/]' => [Module\Admin\Summary::class, [R::GET]], + + '/addons' => [Module\Admin\Addons\Index::class, [R::GET, R::POST]], + '/addons/{addon}' => [Module\Admin\Addons\Details::class, [R::GET, R::POST]], + + + '/blocklist/contact' => [Module\Admin\Blocklist\Contact::class, [R::GET, R::POST]], + '/blocklist/server' => [Module\Admin\Blocklist\Server::class, [R::GET, R::POST]], + + '/dbsync[/check]' => [Module\Admin\DBSync::class, [R::GET]], + '/dbsync/{update:\d+}' => [Module\Admin\DBSync::class, [R::GET]], + '/dbsync/mark/{update:\d+}' => [Module\Admin\DBSync::class, [R::GET]], + + '/features' => [Module\Admin\Features::class, [R::GET, R::POST]], + '/federation' => [Module\Admin\Federation::class, [R::GET]], + + '/item/delete' => [Module\Admin\Item\Delete::class, [R::GET, R::POST]], + '/item/source[/{guid}]' => [Module\Admin\Item\Source::class, [R::GET, R::POST]], + + '/logs/view' => [Module\Admin\Logs\View::class, [R::GET]], + '/logs' => [Module\Admin\Logs\Settings::class, [R::GET, R::POST]], + + '/phpinfo' => [Module\Admin\PhpInfo::class, [R::GET]], + + '/queue[/deferred]' => [Module\Admin\Queue::class, [R::GET]], + + '/site' => [Module\Admin\Site::class, [R::GET, R::POST]], + + '/themes' => [Module\Admin\Themes\Index::class, [R::GET, R::POST]], + '/themes/{theme}' => [Module\Admin\Themes\Details::class, [R::GET, R::POST]], + '/themes/{theme}/embed' => [Module\Admin\Themes\Embed::class, [R::GET, R::POST]], + + '/tos' => [Module\Admin\Tos::class, [R::GET, R::POST]], + + '/users[/{action}/{uid}]' => [Module\Admin\Users::class, [R::GET, R::POST]], + ], + '/amcd' => [Module\AccountManagementControlDocument::class, [R::GET]], + '/acctlink' => [Module\Acctlink::class, [R::GET]], + '/allfriends/{id:\d+}' => [Module\AllFriends::class, [R::GET]], + '/apps' => [Module\Apps::class, [R::GET]], + '/attach/{item:\d+}' => [Module\Attach::class, [R::GET]], + '/babel' => [Module\Debug\Babel::class, [R::GET, R::POST]], + '/bookmarklet' => [Module\Bookmarklet::class, [R::GET]], + '/compose[/{type}]' => [Module\Item\Compose::class, [R::GET, R::POST]], + + '/contact' => [ + '[/]' => [Module\Contact::class, [R::GET]], + '/{id:\d+}[/]' => [Module\Contact::class, [R::GET, R::POST]], + '/{id:\d+}/archive' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/block' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/conversations' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/drop' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/ignore' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/posts' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/update' => [Module\Contact::class, [R::GET]], + '/{id:\d+}/updateprofile' => [Module\Contact::class, [R::GET]], + '/archived' => [Module\Contact::class, [R::GET]], + '/batch' => [Module\Contact::class, [R::GET, R::POST]], + '/pending' => [Module\Contact::class, [R::GET]], + '/blocked' => [Module\Contact::class, [R::GET]], + '/hidden' => [Module\Contact::class, [R::GET]], + '/ignored' => [Module\Contact::class, [R::GET]], + '/hovercard' => [Module\Contact\Hovercard::class, [R::GET]], + ], + + '/credits' => [Module\Credits::class, [R::GET]], + '/delegation'=> [Module\Delegation::class, [R::GET, R::POST]], + '/dirfind' => [Module\Search\Directory::class, [R::GET]], + '/directory' => [Module\Directory::class, [R::GET]], + + '/feed' => [ + '/{nickname}' => [Module\Feed::class, [R::GET]], + '/{nickname}/posts' => [Module\Feed::class, [R::GET]], + '/{nickname}/comments' => [Module\Feed::class, [R::GET]], + '/{nickname}/replies' => [Module\Feed::class, [R::GET]], + '/{nickname}/activity' => [Module\Feed::class, [R::GET]], + ], + '/feedtest' => [Module\Debug\Feed::class, [R::GET]], + + '/fetch' => [ + '/post/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]], + '/status_message/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]], + '/reshare/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]], + ], + '/filer[/{id:\d+}]' => [Module\Filer\SaveTag::class, [R::GET]], + '/filerm/{id:\d+}' => [Module\Filer\RemoveTag::class, [R::GET]], + '/follow_confirm' => [Module\FollowConfirm::class, [R::GET, R::POST]], + '/followers/{owner}' => [Module\Followers::class, [R::GET]], + '/following/{owner}' => [Module\Following::class, [R::GET]], + '/friendica[/json]' => [Module\Friendica::class, [R::GET]], + + '/group' => [ + '[/]' => [Module\Group::class, [R::GET, R::POST]], + '/{group:\d+}' => [Module\Group::class, [R::GET, R::POST]], + '/none' => [Module\Group::class, [R::GET, R::POST]], + '/new' => [Module\Group::class, [R::GET, R::POST]], + '/drop/{group:\d+}' => [Module\Group::class, [R::GET, R::POST]], + '/{group:\d+}/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]], + + '/{group:\d+}/add/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]], + '/{group:\d+}/remove/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]], + ], + '/hashtag' => [Module\Hashtag::class, [R::GET]], + '/home' => [Module\Home::class, [R::GET]], + '/help[/{doc:.+}]' => [Module\Help::class, [R::GET]], + '/inbox[/{nickname}]' => [Module\Inbox::class, [R::GET, R::POST]], + '/invite' => [Module\Invite::class, [R::GET, R::POST]], + + '/install' => [ + '[/]' => [Module\Install::class, [R::GET, R::POST]], + '/testrewrite' => [Module\Install::class, [R::GET]], + ], + + '/item' => [ + '/ignore/{id}' => [Module\Item\Ignore::class, [R::GET]], + ], + + '/like/{item:\d+}' => [Module\Like::class, [R::GET]], + '/localtime' => [Module\Debug\Localtime::class, [R::GET, R::POST]], + '/login' => [Module\Login::class, [R::GET, R::POST]], + '/logout' => [Module\Logout::class, [R::GET, R::POST]], + '/magic' => [Module\Magic::class, [R::GET]], + '/maintenance' => [Module\Maintenance::class, [R::GET]], + '/manifest' => [Module\Manifest::class, [R::GET]], + '/modexp/{nick}' => [Module\PublicRSAKey::class, [R::GET]], + '/newmember' => [Module\Welcome::class, [R::GET]], + '/nodeinfo/1.0' => [Module\NodeInfo::class, [R::GET]], + '/nogroup' => [Module\Group::class, [R::GET]], + + '/notify' => [ + '[/]' => [Module\Notifications\Notify::class, [R::GET]], + '/view/{id:\d+}' => [Module\Notifications\Notify::class, [R::GET]], + '/mark/all' => [Module\Notifications\Notify::class, [R::GET]], + ], + '/objects/{guid}' => [Module\Objects::class, [R::GET]], + + '/oembed' => [ + '/b2h' => [Module\Oembed::class, [R::GET]], + '/h2b' => [Module\Oembed::class, [R::GET]], + '/{hash}' => [Module\Oembed::class, [R::GET]], + ], + '/outbox/{owner}' => [Module\Outbox::class, [R::GET]], + '/owa' => [Module\Owa::class, [R::GET]], + '/opensearch' => [Module\OpenSearch::class, [R::GET]], + + '/photo' => [ + '/{name}' => [Module\Photo::class, [R::GET]], + '/{type}/{name}' => [Module\Photo::class, [R::GET]], + '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]], + ], + + '/pinned/{item:\d+}' => [Module\Pinned::class, [R::GET]], + '/pretheme' => [Module\ThemeDetails::class, [R::GET]], + '/probe' => [Module\Debug\Probe::class, [R::GET]], + + '/profile' => [ + '/{nickname}' => [Module\Profile::class, [R::GET]], + '/{nickname}/{to:\d{4}-\d{2}-\d{2}}/{from:\d{4}-\d{2}-\d{2}}' => [Module\Profile::class, [R::GET]], + '/{nickname}/contacts[/{type}]' => [Module\Profile\Contacts::class, [R::GET]], + '/{profile:\d+}/view' => [Module\Profile::class, [R::GET]], + ], + + '/proxy' => [ + '[/]' => [Module\Proxy::class, [R::GET]], + '/{url}' => [Module\Proxy::class, [R::GET]], + '/{sub1}/{url}' => [Module\Proxy::class, [R::GET]], + '/{sub1}/{sub2}/{url}' => [Module\Proxy::class, [R::GET]], + ], + + '/search' => [ + '[/]' => [Module\Search\Index::class, [R::GET]], + '/acl' => [Module\Search\Acl::class, [R::GET, R::POST]], + '/saved/add' => [Module\Search\Saved::class, [R::GET]], + '/saved/remove' => [Module\Search\Saved::class, [R::GET]], + ], + + '/receive' => [ + '/public' => [Module\Diaspora\Receive::class, [R::POST]], + '/users/{guid}' => [Module\Diaspora\Receive::class, [R::POST]], + ], + + '/settings' => [ + '/2fa' => [ + '[/]' => [Module\Settings\TwoFactor\Index::class, [R::GET, R::POST]], + '/recovery' => [Module\Settings\TwoFactor\Recovery::class, [R::GET, R::POST]], + '/app_specific' => [Module\Settings\TwoFactor\AppSpecific::class, [R::GET, R::POST]], + '/verify' => [Module\Settings\TwoFactor\Verify::class, [R::GET, R::POST]], + ], + '/delegation[/{action}/{user_id}]' => [Module\Settings\Delegation::class, [R::GET, R::POST]], + '/userexport[/{action}]' => [Module\Settings\UserExport::class, [R::GET, R::POST]], + ], + + '/randprof' => [Module\RandomProfile::class, [R::GET]], + '/register' => [Module\Register::class, [R::GET, R::POST]], + '/robots.txt' => [Module\RobotsTxt::class, [R::GET]], + '/rsd.xml' => [Module\ReallySimpleDiscovery::class, [R::GET]], + '/smilies[/json]' => [Module\Smilies::class, [R::GET]], + '/statistics.json' => [Module\Statistics::class, [R::GET]], + '/starred/{item:\d+}' => [Module\Starred::class, [R::GET]], + '/toggle_mobile' => [Module\ToggleMobile::class, [R::GET]], + '/tos' => [Module\Tos::class, [R::GET]], + '/view/theme/{theme}/style.pcss' => [Module\Theme::class, [R::GET]], + '/viewsrc/{item:\d+}' => [Module\Debug\ItemBody::class, [R::GET]], + '/webfinger' => [Module\Debug\WebFinger::class, [R::GET]], + '/xrd' => [Module\Xrd::class, [R::GET]], +]; From 3a9bbd6be7f956b7acf45053cdc8fefb5e5c704b Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 21:51:47 +0000 Subject: [PATCH 15/41] Remove falsely added files --- static/dbstructure.config.php.sic | 1439 ----------------------------- static/routes.config.php.sic | 236 ----- 2 files changed, 1675 deletions(-) delete mode 100755 static/dbstructure.config.php.sic delete mode 100644 static/routes.config.php.sic diff --git a/static/dbstructure.config.php.sic b/static/dbstructure.config.php.sic deleted file mode 100755 index 65e0b26a6..000000000 --- a/static/dbstructure.config.php.sic +++ /dev/null @@ -1,1439 +0,0 @@ -" => [ - * "comment" => "Description of the table", - * "fields" => [ - * "" => [ - * "type" => "{()} ", - * "not null" => 0|1, - * {"extra" => "auto_increment",} - * {"default" => "",} - * {"default" => NULL_DATE,} (for datetime fields) - * {"primary" => "1",} - * {"relation" => ["" => ""],} - * "comment" => "Description of the fields" - * ], - * ... - * ], - * "indexes" => [ - * "PRIMARY" => ["", ...], - * "" => [{"UNIQUE",} "{()}", ...] - * ... - * ], - * ], - * - * If you need to make any change, make sure to increment the DB_UPDATE_VERSION constant value below. - * - */ - -use Friendica\Database\DBA; - -if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1324); -} - -return [ - "2fa_app_specific_password" => [ - "comment" => "Two-factor app-specific _password", - "fields" => [ - "id" => ["type" => "mediumint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Password ID for revocation"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "relation" => ["user" => "uid"], "comment" => "User ID"], - "description" => ["type" => "varchar(255)", "comment" => "Description of the usage of the password"], - "hashed_password" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Hashed password"], - "generated" => ["type" => "datetime", "not null" => "1", "comment" => "Datetime the password was generated"], - "last_used" => ["type" => "datetime", "comment" => "Datetime the password was last used"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_description" => ["uid", "description(190)"], - ] - ], - "2fa_recovery_codes" => [ - "comment" => "Two-factor authentication recovery codes", - "fields" => [ - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User ID"], - "code" => ["type" => "varchar(50)", "not null" => "1", "primary" => "1", "comment" => "Recovery code string"], - "generated" => ["type" => "datetime", "not null" => "1", "comment" => "Datetime the code was generated"], - "used" => ["type" => "datetime", "comment" => "Datetime the code was used"], - ], - "indexes" => [ - "PRIMARY" => ["uid", "code"] - ] - ], - "addon" => [ - "comment" => "registered addons", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], - "name" => ["type" => "varchar(50)", "not null" => "1", "default" => "", "comment" => "addon base (file)name"], - "version" => ["type" => "varchar(50)", "not null" => "1", "default" => "", "comment" => "currently unused"], - "installed" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "currently always 1"], - "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "currently unused"], - "timestamp" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "file timestamp to check for reloads"], - "plugin_admin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = has admin config, 0 = has no admin config"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "name" => ["UNIQUE", "name"], - ] - ], - "apcontact" => [ - "comment" => "ActivityPub compatible contacts - used in the ActivityPub implementation", - "fields" => [ - "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "URL of the contact"], - "uuid" => ["type" => "varchar(255)", "comment" => ""], - "type" => ["type" => "varchar(20)", "not null" => "1", "comment" => ""], - "following" => ["type" => "varchar(255)", "comment" => ""], - "followers" => ["type" => "varchar(255)", "comment" => ""], - "inbox" => ["type" => "varchar(255)", "not null" => "1", "comment" => ""], - "outbox" => ["type" => "varchar(255)", "comment" => ""], - "sharedinbox" => ["type" => "varchar(255)", "comment" => ""], - "manually-approve" => ["type" => "boolean", "comment" => ""], - "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "name" => ["type" => "varchar(255)", "comment" => ""], - "about" => ["type" => "text", "comment" => ""], - "photo" => ["type" => "varchar(255)", "comment" => ""], - "addr" => ["type" => "varchar(255)", "comment" => ""], - "alias" => ["type" => "varchar(255)", "comment" => ""], - "pubkey" => ["type" => "text", "comment" => ""], - "baseurl" => ["type" => "varchar(255)", "comment" => "baseurl of the ap contact"], - "generator" => ["type" => "varchar(255)", "comment" => "Name of the contact's system"], - "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""] - ], - "indexes" => [ - "PRIMARY" => ["url"], - "addr" => ["addr(32)"], - "alias" => ["alias(190)"], - "url" => ["followers(190)"] - ] - ], - "attach" => [ - "comment" => "file attachments", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "generated index"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => "hash"], - "filename" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "filename of original"], - "filetype" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => "mimetype"], - "filesize" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "size in bytes"], - "data" => ["type" => "longblob", "not null" => "1", "comment" => "file data"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time"], - "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edit time"], - "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>"], - "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], - "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], - "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], - "backend-class" => ["type" => "tinytext", "comment" => "Storage backend class"], - "backend-ref" => ["type" => "text", "comment" => "Storage backend data reference"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "auth_codes" => [ - "comment" => "OAuth usage", - "fields" => [ - "id" => ["type" => "varchar(40)", "not null" => "1", "primary" => "1", "comment" => ""], - "client_id" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "relation" => ["clients" => "client_id"], - "comment" => ""], - "redirect_uri" => ["type" => "varchar(200)", "not null" => "1", "default" => "", "comment" => ""], - "expires" => ["type" => "int", "not null" => "1", "default" => "0", "comment" => ""], - "scope" => ["type" => "varchar(250)", "not null" => "1", "default" => "", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "cache" => [ - "comment" => "Stores temporary data", - "fields" => [ - "k" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "cache key"], - "v" => ["type" => "mediumtext", "comment" => "cached serialized value"], - "expires" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of cache expiration"], - "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of cache insertion"], - ], - "indexes" => [ - "PRIMARY" => ["k"], - "k_expires" => ["k", "expires"], - ] - ], - "challenge" => [ - "comment" => "", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "challenge" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "dfrn-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "type" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "last_update" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "clients" => [ - "comment" => "OAuth usage", - "fields" => [ - "client_id" => ["type" => "varchar(20)", "not null" => "1", "primary" => "1", "comment" => ""], - "pw" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "comment" => ""], - "redirect_uri" => ["type" => "varchar(200)", "not null" => "1", "default" => "", "comment" => ""], - "name" => ["type" => "text", "comment" => ""], - "icon" => ["type" => "text", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - ], - "indexes" => [ - "PRIMARY" => ["client_id"], - ] - ], - "config" => [ - "comment" => "main configuration storage", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], - "cat" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""], - "k" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""], - "v" => ["type" => "mediumtext", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "cat_k" => ["UNIQUE", "cat", "k"], - ] - ], - "contact" => [ - "comment" => "contact table", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "updated" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => "Date of last contact update"], - "self" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 if the contact is the user him/her self"], - "remote_self" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "rel" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "The kind of the relation between the user and the contact"], - "duplex" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "Network of the contact"], - "protocol" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "Protocol of the contact"], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name that this contact is known by"], - "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Nick- and user name of the contact"], - "location" => ["type" => "varchar(255)", "default" => "", "comment" => ""], - "about" => ["type" => "text", "comment" => ""], - "keywords" => ["type" => "text", "comment" => "public keywords (interests) of the contact"], - "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], - "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "attag" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "avatar" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "photo" => ["type" => "varchar(255)", "default" => "", "comment" => "Link to the profile photo of the contact"], - "thumb" => ["type" => "varchar(255)", "default" => "", "comment" => "Link to the profile photo (thumb size)"], - "micro" => ["type" => "varchar(255)", "default" => "", "comment" => "Link to the profile photo (micro size)"], - "site-pubkey" => ["type" => "text", "comment" => ""], - "issued-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "dfrn-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "nurl" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "pubkey" => ["type" => "text", "comment" => "RSA public key 4096 bit"], - "prvkey" => ["type" => "text", "comment" => "RSA private key 4096 bit"], - "batch" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "request" => ["type" => "varchar(255)", "comment" => ""], - "notify" => ["type" => "varchar(255)", "comment" => ""], - "poll" => ["type" => "varchar(255)", "comment" => ""], - "confirm" => ["type" => "varchar(255)", "comment" => ""], - "poco" => ["type" => "varchar(255)", "comment" => ""], - "aes_allow" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "ret-aes" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "usehub" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "subhub" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "hub-verify" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "last-update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last try to update the contact info"], - "success_update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last successful contact update"], - "failure_update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last failed update"], - "name-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "uri-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "avatar-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "term-date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "last-item" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "date of the last post"], - "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "blocked" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "Node-wide block status"], - "block_reason" => ["type" => "text", "comment" => "Node-wide block reason"], - "readonly" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "posts of the contact are readonly"], - "writable" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "forum" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a forum"], - "prv" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "contact is a private group"], - "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""], - "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "archive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "pending" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""], - "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact has been deleted"], - "rating" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""], - "unsearchable" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact prefers to not be searchable"], - "sensitive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Contact posts sensitive content"], - "baseurl" => ["type" => "varchar(255)", "default" => "", "comment" => "baseurl of the contact"], - "reason" => ["type" => "text", "comment" => ""], - "closeness" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "99", "comment" => ""], - "info" => ["type" => "mediumtext", "comment" => ""], - "profile-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "bdyear" => ["type" => "varchar(4)", "not null" => "1", "default" => "", "comment" => ""], - "bd" => ["type" => "date", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""], - "notify_new_posts" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "fetch_further_information" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "ffi_keyword_blacklist" => ["type" => "text", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_name" => ["uid", "name(190)"], - "self_uid" => ["self", "uid"], - "alias_uid" => ["alias(32)", "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)"], - "addr_uid" => ["addr(32)", "uid"], - "nurl_uid" => ["nurl(32)", "uid"], - "nick_uid" => ["nick(32)", "uid"], - "dfrn-id" => ["dfrn-id(64)"], - "issued-id" => ["issued-id(64)"], - ] - ], - "conv" => [ - "comment" => "private messages", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this conversation"], - "recips" => ["type" => "text", "comment" => "sender_handle;recipient_handle"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "creator" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "handle of creator"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation timestamp"], - "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "edited timestamp"], - "subject" => ["type" => "text", "comment" => "subject of initial message"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid" => ["uid"], - ] - ], - "conversation" => [ - "comment" => "Raw data and structure information for messages", - "fields" => [ - "item-uri" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "Original URI of the item - unrelated to the table with the same name"], - "reply-to-uri" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "URI to which this item is a reply"], - "conversation-uri" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "GNU Social conversation URI"], - "conversation-href" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => "GNU Social conversation link"], - "protocol" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "255", "comment" => "The protocol of the item"], - "source" => ["type" => "mediumtext", "comment" => "Original source"], - "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Receiving date"], - ], - "indexes" => [ - "PRIMARY" => ["item-uri"], - "conversation-uri" => ["conversation-uri"], - "received" => ["received"], - ] - ], - "diaspora-interaction" => [ - "comment" => "Signed Diaspora Interaction", - "fields" => [ - "uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], - "interaction" => ["type" => "mediumtext", "comment" => "The Diaspora interaction"] - ], - "indexes" => [ - "PRIMARY" => ["uri-id"] - ] - ], - "event" => [ - "comment" => "Events", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact_id (ID of the contact in contact table)"], - "uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time"], - "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edit time"], - "start" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "event start time"], - "finish" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "event end time"], - "summary" => ["type" => "text", "comment" => "short description or title of the event"], - "desc" => ["type" => "text", "comment" => "event description"], - "location" => ["type" => "text", "comment" => "event location"], - "type" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "comment" => "event or birthday"], - "nofinish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if event does have no end this is 1"], - "adjust" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "adjust to timezone of the recipient (0 or 1)"], - "ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "0 or 1"], - "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"], - "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], - "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], - "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_start" => ["uid", "start"], - ] - ], - "fcontact" => [ - "comment" => "Diaspora compatible contacts - used in the Diaspora implementation", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "unique id"], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "request" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "batch" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "notify" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "poll" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "confirm" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""], - "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "pubkey" => ["type" => "text", "comment" => ""], - "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "addr" => ["addr(32)"], - "url" => ["UNIQUE", "url(190)"], - ] - ], - "fsuggest" => [ - "comment" => "friend suggestion stuff", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "request" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "note" => ["type" => "text", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "gcign" => [ - "comment" => "contacts ignored by friend suggestions", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Local User id"], - "gcid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gcontact" => "id"], "comment" => "gcontact.id of ignored contact"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid" => ["uid"], - "gcid" => ["gcid"], - ] - ], - "gcontact" => [ - "comment" => "global contacts", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name that this contact is known by"], - "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Nick- and user name of the contact"], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Link to the contacts profile page"], - "nurl" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Link to the profile photo"], - "connect" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "updated" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - "last_contact" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - "last_failure" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - "archive_date" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - "archived" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "about" => ["type" => "text", "comment" => ""], - "keywords" => ["type" => "text", "comment" => "puplic keywords (interests)"], - "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], - "birthday" => ["type" => "varchar(32)", "not null" => "1", "default" => DBA::NULL_DATE, "comment" => ""], - "community" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 if contact is forum account"], - "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "-1", "comment" => ""], - "hide" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = should be hidden from search"], - "nsfw" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 = contact posts nsfw content"], - "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "social network protocol"], - "addr" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "notify" => ["type" => "varchar(255)", "comment" => ""], - "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "generation" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "server_url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "baseurl of the contacts server"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "nurl" => ["UNIQUE", "nurl(190)"], - "name" => ["name(64)"], - "nick" => ["nick(32)"], - "addr" => ["addr(64)"], - "hide_network_updated" => ["hide", "network", "updated"], - "updated" => ["updated"], - ] - ], - "glink" => [ - "comment" => "'friends of friends' linkages derived from poco", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "gcid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gcontact" => "id"], "comment" => ""], - "zcid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gcontact" => "id"], "comment" => ""], - "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "cid_uid_gcid_zcid" => ["UNIQUE", "cid", "uid", "gcid", "zcid"], - "gcid" => ["gcid"], - ] - ], - "group" => [ - "comment" => "privacy groups, group info", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the member list is not private"], - "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the group has been deleted"], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "human readable name of group"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid" => ["uid"], - ] - ], - "group_member" => [ - "comment" => "privacy groups, member info", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "gid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["group" => "id"], "comment" => "groups.id of the associated group"], - "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id of the member assigned to the associated group"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "contactid" => ["contact-id"], - "gid_contactid" => ["UNIQUE", "gid", "contact-id"], - ] - ], - "gserver" => [ - "comment" => "Global servers", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "nurl" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "version" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "site_name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "info" => ["type" => "text", "comment" => ""], - "register_policy" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""], - "registered-users" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Number of registered users"], - "poco" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "noscrape" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""], - "platform" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "relay-subscribe" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Has the server subscribed to the relay system"], - "relay-scope" => ["type" => "varchar(10)", "not null" => "1", "default" => "", "comment" => "The scope of messages that the server wants to get"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "last_poco_query" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - "last_contact" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - "last_failure" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "nurl" => ["UNIQUE", "nurl(190)"], - ] - ], - "gserver-tag" => [ - "comment" => "Tags that the server has subscribed", - "fields" => [ - "gserver-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["gserver" => "id"], "primary" => "1", - "comment" => "The id of the gserver"], - "tag" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "primary" => "1", "comment" => "Tag that the server has subscribed"], - ], - "indexes" => [ - "PRIMARY" => ["gserver-id", "tag"], - "tag" => ["tag"], - ] - ], - "hook" => [ - "comment" => "addon hook registry", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "hook" => ["type" => "varbinary(100)", "not null" => "1", "default" => "", "comment" => "name of hook"], - "file" => ["type" => "varbinary(200)", "not null" => "1", "default" => "", "comment" => "relative filename of hook handler"], - "function" => ["type" => "varbinary(200)", "not null" => "1", "default" => "", "comment" => "function name of hook handler"], - "priority" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => "not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "hook_file_function" => ["UNIQUE", "hook", "file", "function"], - ] - ], - "inbox-status" => [ - "comment" => "Status of ActivityPub inboxes", - "fields" => [ - "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "URL of the inbox"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date of this entry"], - "success" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last successful delivery"], - "failure" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last failed delivery"], - "previous" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Previous delivery date"], - "archive" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is the inbox archived?"], - "shared" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is it a shared inbox?"] - ], - "indexes" => [ - "PRIMARY" => ["url"] - ] - ], - "intro" => [ - "comment" => "", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "fid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["fcontact" => "id"], "comment" => ""], - "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], - "knowyou" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "duplex" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "note" => ["type" => "text", "comment" => ""], - "hash" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "datetime" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "blocked" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""], - "ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "item" => [ - "comment" => "Structure for all posts", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "relation" => ["thread" => "iid"]], - "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this item"], - "uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], - "uri-hash" => ["type" => "varchar(80)", "not null" => "1", "default" => "", "comment" => "RIPEMD-128 hash from uri"], - "parent" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "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"], - "parent-uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "uri of the parent to this item"], - "parent-uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table that contains the parent uri"], - "thr-parent" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "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"], - "thr-parent-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table that contains the thread parent uri"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation timestamp."], - "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last edit (default is created)"], - "commented" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last comment/reply to this item"], - "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime"], - "changed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date that something in the conversation changed, indicating clients should fetch the conversation again"], - "gravity" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => "Network from where the item comes from"], - "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Link to the contact table with uid=0 of the owner of this item"], - "author-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Link to the contact table with uid=0 of the author of this item"], - "icid" => ["type" => "int unsigned", "relation" => ["item-content" => "id"], "comment" => "Id of the item-content table entry that contains the whole item content"], - "iaid" => ["type" => "int unsigned", "relation" => ["item-activity" => "id"], "comment" => "Id of the item-activity table entry that contains the activity data"], - "extid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "post-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Post type (personal note, bookmark, ...)"], - "global" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "private" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "distribution is restricted"], - "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "moderated" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item has been deleted"], - // User specific fields. Eventually they will move to user-item - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner id which owns this copy of the item"], - "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id"], - "wall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "This item was posted to the wall of uid"], - "origin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item originated at this site"], - "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "starred" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "item has been favourited"], - "unseen" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "item has not been seen"], - "mention" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "The owner of this item was mentioned in it"], - "forum_mode" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "psid" => ["type" => "int unsigned", "relation" => ["permissionset" => "id"], "comment" => "ID of the permission set of this post"], - // It has to be decided whether these fields belong to the user or the structure - "resource-id" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type"], - "event-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["event" => "id"], "comment" => "Used to link to the event.id"], - // Could possibly be replaced by the "attach" table? - "attach" => ["type" => "mediumtext", "comment" => "JSON structure representing attachments to this item"], - // Deprecated fields. Will be removed in upcoming versions - "allow_cid" => ["type" => "mediumtext", "comment" => "Deprecated"], - "allow_gid" => ["type" => "mediumtext", "comment" => "Deprecated"], - "deny_cid" => ["type" => "mediumtext", "comment" => "Deprecated"], - "deny_gid" => ["type" => "mediumtext", "comment" => "Deprecated"], - "postopts" => ["type" => "text", "comment" => "Deprecated"], - "inform" => ["type" => "mediumtext", "comment" => "Deprecated"], - "type" => ["type" => "varchar(20)", "comment" => "Deprecated"], - "bookmark" => ["type" => "boolean", "comment" => "Deprecated"], - "file" => ["type" => "mediumtext", "comment" => "Deprecated"], - "location" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "coord" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "tag" => ["type" => "mediumtext", "comment" => "Deprecated"], - "plink" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "title" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "content-warning" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "body" => ["type" => "mediumtext", "comment" => "Deprecated"], - "app" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "verb" => ["type" => "varchar(100)", "comment" => "Deprecated"], - "object-type" => ["type" => "varchar(100)", "comment" => "Deprecated"], - "object" => ["type" => "text", "comment" => "Deprecated"], - "target-type" => ["type" => "varchar(100)", "comment" => "Deprecated"], - "target" => ["type" => "text", "comment" => "Deprecated"], - "author-name" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "author-link" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "author-avatar" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "owner-name" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "owner-link" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "owner-avatar" => ["type" => "varchar(255)", "comment" => "Deprecated"], - "rendered-hash" => ["type" => "varchar(32)", "comment" => "Deprecated"], - "rendered-html" => ["type" => "mediumtext", "comment" => "Deprecated"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "guid" => ["guid(191)"], - "uri" => ["uri(191)"], - "parent" => ["parent"], - "parent-uri" => ["parent-uri(191)"], - "extid" => ["extid(191)"], - "uid_id" => ["uid", "id"], - "uid_contactid_id" => ["uid", "contact-id", "id"], - "uid_received" => ["uid", "received"], - "uid_commented" => ["uid", "commented"], - "uid_unseen_contactid" => ["uid", "unseen", "contact-id"], - "uid_network_received" => ["uid", "network", "received"], - "uid_network_commented" => ["uid", "network", "commented"], - "uid_thrparent" => ["uid", "thr-parent(190)"], - "uid_parenturi" => ["uid", "parent-uri(190)"], - "uid_contactid_received" => ["uid", "contact-id", "received"], - "authorid_received" => ["author-id", "received"], - "ownerid" => ["owner-id"], - "contact-id" => ["contact-id"], - "uid_uri" => ["uid", "uri(190)"], - "resource-id" => ["resource-id"], - "deleted_changed" => ["deleted", "changed"], - "uid_wall_changed" => ["uid", "wall", "changed"], - "uid_eventid" => ["uid", "event-id"], - "icid" => ["icid"], - "iaid" => ["iaid"], - "psid_wall" => ["psid", "wall"], - ] - ], - "item-activity" => [ - "comment" => "Activities for items", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "relation" => ["thread" => "iid"]], - "uri" => ["type" => "varchar(255)", "comment" => ""], - "uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], - "uri-hash" => ["type" => "varchar(80)", "not null" => "1", "default" => "", "comment" => "RIPEMD-128 hash from uri"], - "activity" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""] - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uri-hash" => ["UNIQUE", "uri-hash"], - "uri" => ["uri(191)"], - "uri-id" => ["uri-id"] - ] - ], - "item-content" => [ - "comment" => "Content for all posts", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "relation" => ["thread" => "iid"]], - "uri" => ["type" => "varchar(255)", "comment" => ""], - "uri-id" => ["type" => "int unsigned", "relation" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"], - "uri-plink-hash" => ["type" => "varchar(80)", "not null" => "1", "default" => "", "comment" => "RIPEMD-128 hash from uri"], - "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "item title"], - "content-warning" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "body" => ["type" => "mediumtext", "comment" => "item body content"], - "location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "text location where this item originated"], - "coord" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "longitude/latitude pair representing location where this item originated"], - "language" => ["type" => "text", "comment" => "Language information about this post"], - "app" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "application which generated this item"], - "rendered-hash" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], - "rendered-html" => ["type" => "mediumtext", "comment" => "item.body converted to html"], - "object-type" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams object type"], - "object" => ["type" => "text", "comment" => "JSON encoded object structure unless it is an implied object (normal post)"], - "target-type" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams target type if applicable (URI)"], - "target" => ["type" => "text", "comment" => "JSON encoded target structure if used"], - "plink" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "permalink or URL to a displayable copy of the message at its source"], - "verb" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams verb"] - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uri-plink-hash" => ["UNIQUE", "uri-plink-hash"], - "uri" => ["uri(191)"], - "plink" => ["plink(191)"], - "uri-id" => ["uri-id"] - ] - ], - "item-delivery-data" => [ - "comment" => "Delivery data for items", - "fields" => [ - "iid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], - "postopts" => ["type" => "text", "comment" => "External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery"], - "inform" => ["type" => "mediumtext", "comment" => "Additional receivers of the linked item"], - "queue_count" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Initial number of delivery recipients, used as item.delivery_queue_count"], - "queue_done" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries, used as item.delivery_queue_done"], - "queue_failed" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of unsuccessful deliveries, used as item.delivery_queue_failed"], - "activitypub" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via ActivityPub"], - "dfrn" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via DFRN"], - "legacy_dfrn" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via legacy DFRN"], - "diaspora" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via Diaspora"], - "ostatus" => ["type" => "mediumint", "not null" => "1", "default" => "0", "comment" => "Number of successful deliveries via OStatus"], - ], - "indexes" => [ - "PRIMARY" => ["iid"], - ] - ], - "item-uri" => [ - "comment" => "URI and GUID for items", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"], - "uri" => ["type" => "varbinary(255)", "not null" => "1", "comment" => "URI of an item"], - "guid" => ["type" => "varbinary(255)", "comment" => "A unique identifier for an item"] - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uri" => ["UNIQUE", "uri"], - "guid" => ["guid"] - ] - ], - "locks" => [ - "comment" => "", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "name" => ["type" => "varchar(128)", "not null" => "1", "default" => "", "comment" => ""], - "locked" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "pid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Process ID"], - "expires" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of cache expiration"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "name_expires" => ["name", "expires"] - ] - ], - "mail" => [ - "comment" => "private messages", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this private message"], - "from-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "name of the sender"], - "from-photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "contact photo link of the sender"], - "from-url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "profile linke of the sender"], - "contact-id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "relation" => ["contact" => "id"], "comment" => "contact.id"], - "convid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["conv" => "id"], "comment" => "conv.id"], - "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "body" => ["type" => "mediumtext", "comment" => ""], - "seen" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if message visited it is 1"], - "reply" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "replied" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "unknown" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if sender not in the contact table this is 1"], - "uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "parent-uri" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation time of the private message"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_seen" => ["uid", "seen"], - "convid" => ["convid"], - "uri" => ["uri(64)"], - "parent-uri" => ["parent-uri(64)"], - "contactid" => ["contact-id(32)"], - ] - ], - "mailacct" => [ - "comment" => "Mail account data for fetching mails", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "server" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "port" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "ssltype" => ["type" => "varchar(16)", "not null" => "1", "default" => "", "comment" => ""], - "mailbox" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "user" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "pass" => ["type" => "text", "comment" => ""], - "reply_to" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "action" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "movetofolder" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "last_check" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "manage" => [ - "comment" => "table of accounts that can manage each other", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "mid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_mid" => ["UNIQUE", "uid", "mid"], - ] - ], - "notify" => [ - "comment" => "notifications", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => ""], - "type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "msg" => ["type" => "mediumtext", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "link" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "item.id"], - "parent" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => ""], - "seen" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "verb" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => ""], - "otype" => ["type" => "varchar(10)", "not null" => "1", "default" => "", "comment" => ""], - "name_cache" => ["type" => "tinytext", "comment" => "Cached bbcode parsing of name"], - "msg_cache" => ["type" => "mediumtext", "comment" => "Cached bbcode parsing of msg"] - ], - "indexes" => [ - "PRIMARY" => ["id"], - "hash_uid" => ["hash", "uid"], - "seen_uid_date" => ["seen", "uid", "date"], - "uid_date" => ["uid", "date"], - "uid_type_link" => ["uid", "type", "link(190)"], - ] - ], - "notify-threads" => [ - "comment" => "", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "notify-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["notify" => "id"], "comment" => ""], - "master-parent-item" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], - "comment" => ""], - "parent-item" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "receiver-uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], - "comment" => "User id"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "oembed" => [ - "comment" => "cache for OEmbed queries", - "fields" => [ - "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "page url"], - "maxwidth" => ["type" => "mediumint unsigned", "not null" => "1", "primary" => "1", "comment" => "Maximum width passed to Oembed"], - "content" => ["type" => "mediumtext", "comment" => "OEmbed data of the page"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of creation"], - ], - "indexes" => [ - "PRIMARY" => ["url", "maxwidth"], - "created" => ["created"], - ] - ], - "openwebauth-token" => [ - "comment" => "Store OpenWebAuth token to verify contacts", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "type" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Verify type"], - "token" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "A generated token"], - "meta" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of creation"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "parsed_url" => [ - "comment" => "cache for 'parse_url' queries", - "fields" => [ - "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "page url"], - "guessing" => ["type" => "boolean", "not null" => "1", "default" => "0", "primary" => "1", "comment" => "is the 'guessing' mode active?"], - "oembed" => ["type" => "boolean", "not null" => "1", "default" => "0", "primary" => "1", "comment" => "is the data the result of oembed?"], - "content" => ["type" => "mediumtext", "comment" => "page data"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "datetime of creation"], - ], - "indexes" => [ - "PRIMARY" => ["url", "guessing", "oembed"], - "created" => ["created"], - ] - ], - "participation" => [ - "comment" => "Storage for participation messages from Diaspora", - "fields" => [ - "iid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "relation" => ["item" => "id"], "comment" => ""], - "server" => ["type" => "varchar(60)", "not null" => "1", "primary" => "1", "comment" => ""], - "cid" => ["type" => "int unsigned", "not null" => "1", "relation" => ["contact" => "id"], "comment" => ""], - "fid" => ["type" => "int unsigned", "not null" => "1", "relation" => ["fcontact" => "id"], "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["iid", "server"], - "cid" => ["cid"], - "fid" => ["fid"] - ] - ], - "pconfig" => [ - "comment" => "personal (per user) configuration storage", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "cat" => ["type" => "varbinary(50)", "not null" => "1", "default" => "", "comment" => ""], - "k" => ["type" => "varbinary(100)", "not null" => "1", "default" => "", "comment" => ""], - "v" => ["type" => "mediumtext", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_cat_k" => ["UNIQUE", "uid", "cat", "k"], - ] - ], - "permissionset" => [ - "comment" => "", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner id of this permission set"], - "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"], - "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], - "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], - "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_allow_cid_allow_gid_deny_cid_deny_gid" => ["allow_cid(50)", "allow_gid(30)", "deny_cid(50)", "deny_gid(30)"], - ] - ], - "photo" => [ - "comment" => "photo storage", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id"], - "guid" => ["type" => "char(16)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this photo"], - "resource-id" => ["type" => "char(32)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "creation date"], - "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "last edited date"], - "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "desc" => ["type" => "text", "comment" => ""], - "album" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "The name of the album to which the photo belongs"], - "filename" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "type" => ["type" => "varchar(30)", "not null" => "1", "default" => "image/jpeg"], - "height" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "width" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "datasize" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "data" => ["type" => "mediumblob", "not null" => "1", "comment" => ""], - "scale" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "profile" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"], - "allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"], - "deny_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied contact.id"], - "deny_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of denied groups"], - "backend-class" => ["type" => "tinytext", "comment" => "Storage backend class"], - "backend-ref" => ["type" => "text", "comment" => "Storage backend data reference"], - "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""] - ], - "indexes" => [ - "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"], - ] - ], - "poll" => [ - "comment" => "Currently unused table for storing poll results", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "q0" => ["type" => "text", "comment" => ""], - "q1" => ["type" => "text", "comment" => ""], - "q2" => ["type" => "text", "comment" => ""], - "q3" => ["type" => "text", "comment" => ""], - "q4" => ["type" => "text", "comment" => ""], - "q5" => ["type" => "text", "comment" => ""], - "q6" => ["type" => "text", "comment" => ""], - "q7" => ["type" => "text", "comment" => ""], - "q8" => ["type" => "text", "comment" => ""], - "q9" => ["type" => "text", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid" => ["uid"], - ] - ], - "poll_result" => [ - "comment" => "data for polls - currently unused", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "poll_id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["poll" => "id"]], - "choice" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "poll_id" => ["poll_id"], - ] - ], - "process" => [ - "comment" => "Currently running system processes", - "fields" => [ - "pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => ""], - "command" => ["type" => "varbinary(32)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["pid"], - "command" => ["command"], - ] - ], - "profile" => [ - "comment" => "user profiles data", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "Owner User id"], - "profile-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name of the profile"], - "is-default" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Mark this profile as default profile"], - "hide-friends" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide friend list from viewers of this profile"], - "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "pdesc" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Title or description"], - "dob" => ["type" => "varchar(32)", "not null" => "1", "default" => "0000-00-00", "comment" => "Day of birth"], - "address" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "locality" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "region" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "postal-code" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], - "country-name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "hometown" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""], - "marital" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "with" => ["type" => "text", "comment" => ""], - "howlong" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "sexual" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "politic" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "religion" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "pub_keywords" => ["type" => "text", "comment" => ""], - "prv_keywords" => ["type" => "text", "comment" => ""], - "likes" => ["type" => "text", "comment" => ""], - "dislikes" => ["type" => "text", "comment" => ""], - "about" => ["type" => "text", "comment" => ""], - "summary" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "music" => ["type" => "text", "comment" => ""], - "book" => ["type" => "text", "comment" => ""], - "tv" => ["type" => "text", "comment" => ""], - "film" => ["type" => "text", "comment" => ""], - "interest" => ["type" => "text", "comment" => ""], - "romance" => ["type" => "text", "comment" => ""], - "work" => ["type" => "text", "comment" => ""], - "education" => ["type" => "text", "comment" => ""], - "contact" => ["type" => "text", "comment" => ""], - "homepage" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "photo" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "thumb" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "publish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "publish default profile in local directory"], - "net-publish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "publish profile in global directory"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_is-default" => ["uid", "is-default"], - "pub_keywords" => ["FULLTEXT", "pub_keywords"], - ] - ], - "profile_check" => [ - "comment" => "DFRN remote auth use", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact.id"], - "dfrn_id" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "sec" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "push_subscriber" => [ - "comment" => "Used for OStatus: Contains feed subscribers", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "callback_url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "topic" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "nickname" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "push" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Retrial counter"], - "last_update" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last successful trial"], - "next_try" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Next retrial date"], - "renewed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of last subscription renewal"], - "secret" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "next_try" => ["next_try"], - ] - ], - "register" => [ - "comment" => "registrations requiring admin approval", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "hash" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "password" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "language" => ["type" => "varchar(16)", "not null" => "1", "default" => "", "comment" => ""], - "note" => ["type" => "text", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "search" => [ - "comment" => "", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "term" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid" => ["uid"], - ] - ], - "session" => [ - "comment" => "web session storage", - "fields" => [ - "id" => ["type" => "bigint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "sid" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => ""], - "data" => ["type" => "text", "comment" => ""], - "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "sid" => ["sid(64)"], - "expire" => ["expire"], - ] - ], - "sign" => [ - "comment" => "Diaspora signatures", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => "item.id"], - "signed_text" => ["type" => "mediumtext", "comment" => ""], - "signature" => ["type" => "text", "comment" => ""], - "signer" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "iid" => ["UNIQUE", "iid"], - ] - ], - "term" => [ - "comment" => "item taxonomy (categories, tags, etc.) table", - "fields" => [ - "tid" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""], - "oid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["item" => "id"], "comment" => ""], - "otype" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "term" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "guid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "global" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - ], - "indexes" => [ - "PRIMARY" => ["tid"], - "term_type" => ["term(64)", "type"], - "oid_otype_type_term" => ["oid", "otype", "type", "term(32)"], - "uid_otype_type_term_global_created" => ["uid", "otype", "type", "term(32)", "global", "created"], - "uid_otype_type_url" => ["uid", "otype", "type", "url(64)"], - "guid" => ["guid(64)"], - ] - ], - "thread" => [ - "comment" => "Thread related data", - "fields" => [ - "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], - "comment" => "sequential ID"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => ""], - "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Item owner"], - "author-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "Item author"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "commented" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "received" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "changed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""], - "wall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "private" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "moderated" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "starred" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "ignored" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "post-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Post type (personal note, bookmark, ...)"], - "unseen" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""], - "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "origin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "forum_mode" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "mention" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "network" => ["type" => "char(4)", "not null" => "1", "default" => "", "comment" => ""], - "bookmark" => ["type" => "boolean", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["iid"], - "uid_network_commented" => ["uid", "network", "commented"], - "uid_network_received" => ["uid", "network", "received"], - "uid_contactid_commented" => ["uid", "contact-id", "commented"], - "uid_contactid_received" => ["uid", "contact-id", "received"], - "contactid" => ["contact-id"], - "ownerid" => ["owner-id"], - "authorid" => ["author-id"], - "uid_received" => ["uid", "received"], - "uid_commented" => ["uid", "commented"], - "uid_wall_received" => ["uid", "wall", "received"], - "private_wall_origin_commented" => ["private", "wall", "origin", "commented"], - ] - ], - "tokens" => [ - "comment" => "OAuth usage", - "fields" => [ - "id" => ["type" => "varchar(40)", "not null" => "1", "primary" => "1", "comment" => ""], - "secret" => ["type" => "text", "comment" => ""], - "client_id" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "relation" => ["clients" => "client_id"]], - "expires" => ["type" => "int", "not null" => "1", "default" => "0", "comment" => ""], - "scope" => ["type" => "varchar(200)", "not null" => "1", "default" => "", "comment" => ""], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], "comment" => "User id"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - ] - ], - "user" => [ - "comment" => "The local users", - "fields" => [ - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "parent-uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "relation" => ["user" => "uid"], - "comment" => "The parent user that has full control about this user"], - "guid" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => "A unique identifier for this user"], - "username" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Name that this user is known by"], - "password" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "encrypted password"], - "legacy_password" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is the password hash double-hashed?"], - "nickname" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "nick- and user name"], - "email" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "the users email address"], - "openid" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], - "timezone" => ["type" => "varchar(128)", "not null" => "1", "default" => "", "comment" => "PHP-legal timezone"], - "language" => ["type" => "varchar(32)", "not null" => "1", "default" => "en", "comment" => "default language"], - "register_date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of registration"], - "login_date" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of last login"], - "default-location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Default for item.location"], - "allow_location" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 allows to display the location"], - "theme" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "user theme preference"], - "pubkey" => ["type" => "text", "comment" => "RSA public key 4096 bit"], - "prvkey" => ["type" => "text", "comment" => "RSA private key 4096 bit"], - "spubkey" => ["type" => "text", "comment" => ""], - "sprvkey" => ["type" => "text", "comment" => ""], - "verified" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "user is verified through email"], - "blocked" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 for user is blocked"], - "blockwall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Prohibit contacts to post to the profile page of the user"], - "hidewall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Hide profile details from unkown viewers"], - "blocktags" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Prohibit contacts to tag the post of this user"], - "unkmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Permit unknown people to send private mails to this user"], - "cntunkmail" => ["type" => "int unsigned", "not null" => "1", "default" => "10", "comment" => ""], - "notify-flags" => ["type" => "smallint unsigned", "not null" => "1", "default" => "65535", "comment" => "email notification options"], - "page-flags" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "page/profile type"], - "account-type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "prvnets" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "pwdreset" => ["type" => "varchar(255)", "comment" => "Password reset request token"], - "pwdreset_time" => ["type" => "datetime", "comment" => "Timestamp of the last password reset request"], - "maxreq" => ["type" => "int unsigned", "not null" => "1", "default" => "10", "comment" => ""], - "expire" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "account_removed" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if 1 the account is removed"], - "account_expired" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""], - "account_expires_on" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp when account expires and will be deleted"], - "expire_notification_sent" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "timestamp of last warning of account expiration"], - "def_gid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => ""], - "allow_cid" => ["type" => "mediumtext", "comment" => "default permission for this user"], - "allow_gid" => ["type" => "mediumtext", "comment" => "default permission for this user"], - "deny_cid" => ["type" => "mediumtext", "comment" => "default permission for this user"], - "deny_gid" => ["type" => "mediumtext", "comment" => "default permission for this user"], - "openidserver" => ["type" => "text", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["uid"], - "nickname" => ["nickname(32)"], - ] - ], - "userd" => [ - "comment" => "Deleted usernames", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "username" => ["type" => "varchar(255)", "not null" => "1", "comment" => ""], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "username" => ["username(32)"], - ] - ], - "user-contact" => [ - "comment" => "User specific public contact data", - "fields" => [ - "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["contact" => "id"], "comment" => "Contact id of the linked public contact"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], - "blocked" => ["type" => "boolean", "comment" => "Contact is completely blocked for this user"], - "ignored" => ["type" => "boolean", "comment" => "Posts from this contact are ignored"], - "collapsed" => ["type" => "boolean", "comment" => "Posts from this contact are collapsed"] - ], - "indexes" => [ - "PRIMARY" => ["uid", "cid"] - ] - ], - "user-item" => [ - "comment" => "User specific item data", - "fields" => [ - "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], - "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], - "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"], - "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"], - "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"] - ], - "indexes" => [ - "PRIMARY" => ["uid", "iid"] - ] - ], - "worker-ipc" => [ - "comment" => "Inter process communication between the frontend and the worker", - "fields" => [ - "key" => ["type" => "int", "not null" => "1", "primary" => "1", "comment" => ""], - "jobs" => ["type" => "boolean", "comment" => "Flag for outstanding jobs"], - ], - "indexes" => [ - "PRIMARY" => ["key"], - ], - "engine" => "MEMORY", - ], - "workerqueue" => [ - "comment" => "Background tasks queue entries", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented worker task id"], - "parameter" => ["type" => "mediumtext", "comment" => "Task command"], - "priority" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Task priority"], - "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"], - "pid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Process id of the worker"], - "executed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Execution date"], - "next_try" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Next retrial date"], - "retrial" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Retrial counter"], - "done" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marked 1 when the task was done - will be deleted later"], - ], - "indexes" => [ - "PRIMARY" => ["id"], - "done_parameter" => ["done", "parameter(64)"], - "done_executed" => ["done", "executed"], - "done_priority_created" => ["done", "priority", "created"], - "done_priority_next_try" => ["done", "priority", "next_try"], - "done_pid_next_try" => ["done", "pid", "next_try"], - "done_pid_priority_created" => ["done", "pid", "priority", "created"] - ] - ], - "storage" => [ - "comment" => "Data stored by Database storage backend", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented image data id"], - "data" => ["type" => "longblob", "not null" => "1", "comment" => "file data"] - ], - "indexes" => [ - "PRIMARY" => ["id"] - ] - ] -]; - diff --git a/static/routes.config.php.sic b/static/routes.config.php.sic deleted file mode 100644 index 339860afe..000000000 --- a/static/routes.config.php.sic +++ /dev/null @@ -1,236 +0,0 @@ - [ Module::class , [ HTTPMethod(s) ] ] -* - 'group' => [ 'route' => [ Module::class, [ HTTPMethod(s) ] ] -* -* It's possible to create recursive groups -*/ -return [ - '/' => [Module\Home::class, [R::GET]], - - '/.well-known' => [ - '/host-meta' => [Module\WellKnown\HostMeta::class, [R::GET]], - '/nodeinfo[/1.0]' => [Module\NodeInfo::class, [R::GET]], - '/webfinger' => [Module\Xrd::class, [R::GET]], - '/x-social-relay' => [Module\WellKnown\XSocialRelay::class, [R::GET]], - ], - - '/2fa' => [ - '[/]' => [Module\TwoFactor\Verify::class, [R::GET, R::POST]], - '/recovery' => [Module\TwoFactor\Recovery::class, [R::GET, R::POST]], - ], - - '/admin' => [ - '[/]' => [Module\Admin\Summary::class, [R::GET]], - - '/addons' => [Module\Admin\Addons\Index::class, [R::GET, R::POST]], - '/addons/{addon}' => [Module\Admin\Addons\Details::class, [R::GET, R::POST]], - - - '/blocklist/contact' => [Module\Admin\Blocklist\Contact::class, [R::GET, R::POST]], - '/blocklist/server' => [Module\Admin\Blocklist\Server::class, [R::GET, R::POST]], - - '/dbsync[/check]' => [Module\Admin\DBSync::class, [R::GET]], - '/dbsync/{update:\d+}' => [Module\Admin\DBSync::class, [R::GET]], - '/dbsync/mark/{update:\d+}' => [Module\Admin\DBSync::class, [R::GET]], - - '/features' => [Module\Admin\Features::class, [R::GET, R::POST]], - '/federation' => [Module\Admin\Federation::class, [R::GET]], - - '/item/delete' => [Module\Admin\Item\Delete::class, [R::GET, R::POST]], - '/item/source[/{guid}]' => [Module\Admin\Item\Source::class, [R::GET, R::POST]], - - '/logs/view' => [Module\Admin\Logs\View::class, [R::GET]], - '/logs' => [Module\Admin\Logs\Settings::class, [R::GET, R::POST]], - - '/phpinfo' => [Module\Admin\PhpInfo::class, [R::GET]], - - '/queue[/deferred]' => [Module\Admin\Queue::class, [R::GET]], - - '/site' => [Module\Admin\Site::class, [R::GET, R::POST]], - - '/themes' => [Module\Admin\Themes\Index::class, [R::GET, R::POST]], - '/themes/{theme}' => [Module\Admin\Themes\Details::class, [R::GET, R::POST]], - '/themes/{theme}/embed' => [Module\Admin\Themes\Embed::class, [R::GET, R::POST]], - - '/tos' => [Module\Admin\Tos::class, [R::GET, R::POST]], - - '/users[/{action}/{uid}]' => [Module\Admin\Users::class, [R::GET, R::POST]], - ], - '/amcd' => [Module\AccountManagementControlDocument::class, [R::GET]], - '/acctlink' => [Module\Acctlink::class, [R::GET]], - '/allfriends/{id:\d+}' => [Module\AllFriends::class, [R::GET]], - '/apps' => [Module\Apps::class, [R::GET]], - '/attach/{item:\d+}' => [Module\Attach::class, [R::GET]], - '/babel' => [Module\Debug\Babel::class, [R::GET, R::POST]], - '/bookmarklet' => [Module\Bookmarklet::class, [R::GET]], - '/compose[/{type}]' => [Module\Item\Compose::class, [R::GET, R::POST]], - - '/contact' => [ - '[/]' => [Module\Contact::class, [R::GET]], - '/{id:\d+}[/]' => [Module\Contact::class, [R::GET, R::POST]], - '/{id:\d+}/archive' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/block' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/conversations' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/drop' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/ignore' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/posts' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/update' => [Module\Contact::class, [R::GET]], - '/{id:\d+}/updateprofile' => [Module\Contact::class, [R::GET]], - '/archived' => [Module\Contact::class, [R::GET]], - '/batch' => [Module\Contact::class, [R::GET, R::POST]], - '/pending' => [Module\Contact::class, [R::GET]], - '/blocked' => [Module\Contact::class, [R::GET]], - '/hidden' => [Module\Contact::class, [R::GET]], - '/ignored' => [Module\Contact::class, [R::GET]], - '/hovercard' => [Module\Contact\Hovercard::class, [R::GET]], - ], - - '/credits' => [Module\Credits::class, [R::GET]], - '/delegation'=> [Module\Delegation::class, [R::GET, R::POST]], - '/dirfind' => [Module\Search\Directory::class, [R::GET]], - '/directory' => [Module\Directory::class, [R::GET]], - - '/feed' => [ - '/{nickname}' => [Module\Feed::class, [R::GET]], - '/{nickname}/posts' => [Module\Feed::class, [R::GET]], - '/{nickname}/comments' => [Module\Feed::class, [R::GET]], - '/{nickname}/replies' => [Module\Feed::class, [R::GET]], - '/{nickname}/activity' => [Module\Feed::class, [R::GET]], - ], - '/feedtest' => [Module\Debug\Feed::class, [R::GET]], - - '/fetch' => [ - '/post/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]], - '/status_message/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]], - '/reshare/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]], - ], - '/filer[/{id:\d+}]' => [Module\Filer\SaveTag::class, [R::GET]], - '/filerm/{id:\d+}' => [Module\Filer\RemoveTag::class, [R::GET]], - '/follow_confirm' => [Module\FollowConfirm::class, [R::GET, R::POST]], - '/followers/{owner}' => [Module\Followers::class, [R::GET]], - '/following/{owner}' => [Module\Following::class, [R::GET]], - '/friendica[/json]' => [Module\Friendica::class, [R::GET]], - - '/group' => [ - '[/]' => [Module\Group::class, [R::GET, R::POST]], - '/{group:\d+}' => [Module\Group::class, [R::GET, R::POST]], - '/none' => [Module\Group::class, [R::GET, R::POST]], - '/new' => [Module\Group::class, [R::GET, R::POST]], - '/drop/{group:\d+}' => [Module\Group::class, [R::GET, R::POST]], - '/{group:\d+}/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]], - - '/{group:\d+}/add/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]], - '/{group:\d+}/remove/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]], - ], - '/hashtag' => [Module\Hashtag::class, [R::GET]], - '/home' => [Module\Home::class, [R::GET]], - '/help[/{doc:.+}]' => [Module\Help::class, [R::GET]], - '/inbox[/{nickname}]' => [Module\Inbox::class, [R::GET, R::POST]], - '/invite' => [Module\Invite::class, [R::GET, R::POST]], - - '/install' => [ - '[/]' => [Module\Install::class, [R::GET, R::POST]], - '/testrewrite' => [Module\Install::class, [R::GET]], - ], - - '/item' => [ - '/ignore/{id}' => [Module\Item\Ignore::class, [R::GET]], - ], - - '/like/{item:\d+}' => [Module\Like::class, [R::GET]], - '/localtime' => [Module\Debug\Localtime::class, [R::GET, R::POST]], - '/login' => [Module\Login::class, [R::GET, R::POST]], - '/logout' => [Module\Logout::class, [R::GET, R::POST]], - '/magic' => [Module\Magic::class, [R::GET]], - '/maintenance' => [Module\Maintenance::class, [R::GET]], - '/manifest' => [Module\Manifest::class, [R::GET]], - '/modexp/{nick}' => [Module\PublicRSAKey::class, [R::GET]], - '/newmember' => [Module\Welcome::class, [R::GET]], - '/nodeinfo/1.0' => [Module\NodeInfo::class, [R::GET]], - '/nogroup' => [Module\Group::class, [R::GET]], - - '/notify' => [ - '[/]' => [Module\Notifications\Notify::class, [R::GET]], - '/view/{id:\d+}' => [Module\Notifications\Notify::class, [R::GET]], - '/mark/all' => [Module\Notifications\Notify::class, [R::GET]], - ], - '/objects/{guid}' => [Module\Objects::class, [R::GET]], - - '/oembed' => [ - '/b2h' => [Module\Oembed::class, [R::GET]], - '/h2b' => [Module\Oembed::class, [R::GET]], - '/{hash}' => [Module\Oembed::class, [R::GET]], - ], - '/outbox/{owner}' => [Module\Outbox::class, [R::GET]], - '/owa' => [Module\Owa::class, [R::GET]], - '/opensearch' => [Module\OpenSearch::class, [R::GET]], - - '/photo' => [ - '/{name}' => [Module\Photo::class, [R::GET]], - '/{type}/{name}' => [Module\Photo::class, [R::GET]], - '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]], - ], - - '/pinned/{item:\d+}' => [Module\Pinned::class, [R::GET]], - '/pretheme' => [Module\ThemeDetails::class, [R::GET]], - '/probe' => [Module\Debug\Probe::class, [R::GET]], - - '/profile' => [ - '/{nickname}' => [Module\Profile::class, [R::GET]], - '/{nickname}/{to:\d{4}-\d{2}-\d{2}}/{from:\d{4}-\d{2}-\d{2}}' => [Module\Profile::class, [R::GET]], - '/{nickname}/contacts[/{type}]' => [Module\Profile\Contacts::class, [R::GET]], - '/{profile:\d+}/view' => [Module\Profile::class, [R::GET]], - ], - - '/proxy' => [ - '[/]' => [Module\Proxy::class, [R::GET]], - '/{url}' => [Module\Proxy::class, [R::GET]], - '/{sub1}/{url}' => [Module\Proxy::class, [R::GET]], - '/{sub1}/{sub2}/{url}' => [Module\Proxy::class, [R::GET]], - ], - - '/search' => [ - '[/]' => [Module\Search\Index::class, [R::GET]], - '/acl' => [Module\Search\Acl::class, [R::GET, R::POST]], - '/saved/add' => [Module\Search\Saved::class, [R::GET]], - '/saved/remove' => [Module\Search\Saved::class, [R::GET]], - ], - - '/receive' => [ - '/public' => [Module\Diaspora\Receive::class, [R::POST]], - '/users/{guid}' => [Module\Diaspora\Receive::class, [R::POST]], - ], - - '/settings' => [ - '/2fa' => [ - '[/]' => [Module\Settings\TwoFactor\Index::class, [R::GET, R::POST]], - '/recovery' => [Module\Settings\TwoFactor\Recovery::class, [R::GET, R::POST]], - '/app_specific' => [Module\Settings\TwoFactor\AppSpecific::class, [R::GET, R::POST]], - '/verify' => [Module\Settings\TwoFactor\Verify::class, [R::GET, R::POST]], - ], - '/delegation[/{action}/{user_id}]' => [Module\Settings\Delegation::class, [R::GET, R::POST]], - '/userexport[/{action}]' => [Module\Settings\UserExport::class, [R::GET, R::POST]], - ], - - '/randprof' => [Module\RandomProfile::class, [R::GET]], - '/register' => [Module\Register::class, [R::GET, R::POST]], - '/robots.txt' => [Module\RobotsTxt::class, [R::GET]], - '/rsd.xml' => [Module\ReallySimpleDiscovery::class, [R::GET]], - '/smilies[/json]' => [Module\Smilies::class, [R::GET]], - '/statistics.json' => [Module\Statistics::class, [R::GET]], - '/starred/{item:\d+}' => [Module\Starred::class, [R::GET]], - '/toggle_mobile' => [Module\ToggleMobile::class, [R::GET]], - '/tos' => [Module\Tos::class, [R::GET]], - '/view/theme/{theme}/style.pcss' => [Module\Theme::class, [R::GET]], - '/viewsrc/{item:\d+}' => [Module\Debug\ItemBody::class, [R::GET]], - '/webfinger' => [Module\Debug\WebFinger::class, [R::GET]], - '/xrd' => [Module\Xrd::class, [R::GET]], -]; From aecac2cb5463cad58f582f96655ed53a330bb278 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 22:01:45 +0000 Subject: [PATCH 16/41] Readded removed comments --- src/BaseModule.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/BaseModule.php b/src/BaseModule.php index 2b9ebdb14..503a22de3 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -34,6 +34,8 @@ abstract class BaseModule extends BaseObject */ public static function rawContent(array $parameters = []) { + // echo ''; + // exit; } /** @@ -60,6 +62,8 @@ abstract class BaseModule extends BaseObject */ public static function post(array $parameters = []) { + // $a = self::getApp(); + // $a->internalRedirect('module'); } /** From a5b5f0e4551b081c875dad683c48dd0cd0a9bd86 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 22:03:02 +0000 Subject: [PATCH 17/41] removed space --- src/BaseModule.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BaseModule.php b/src/BaseModule.php index 503a22de3..be53289e5 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -63,7 +63,7 @@ abstract class BaseModule extends BaseObject public static function post(array $parameters = []) { // $a = self::getApp(); - // $a->internalRedirect('module'); + // $a->internalRedirect('module'); } /** From 7adc3460b367d3f8c0299416d4f91873bb9e449a Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 22:13:33 +0000 Subject: [PATCH 18/41] Exceptions --- src/Module/Starred.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Module/Starred.php b/src/Module/Starred.php index dbda9f107..74b75a42b 100644 --- a/src/Module/Starred.php +++ b/src/Module/Starred.php @@ -13,18 +13,18 @@ class Starred extends BaseModule public static function rawContent(array $parameters = []) { if (!local_user()) { - exit(); + throw new \Friendica\Network\HTTPException\NotFoundException(); } if (empty($parameters['item'])) { - exit; - } else { - $itemId = intval($parameters['item']); + throw new \Friendica\Network\HTTPException\NotFoundException(); } + $itemId = intval($parameters['item']); + $item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $itemId]); if (empty($item)) { - exit(); + throw new \Friendica\Network\HTTPException\NotFoundException(); } $starred = !(bool)$item['starred']; From 02c43f283ea6998935ec93e35e4d2593e884593a Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 5 Nov 2019 22:28:12 +0000 Subject: [PATCH 19/41] Changed exceptions --- src/Module/Starred.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Module/Starred.php b/src/Module/Starred.php index 74b75a42b..c1fa4c3b8 100644 --- a/src/Module/Starred.php +++ b/src/Module/Starred.php @@ -13,11 +13,11 @@ class Starred extends BaseModule public static function rawContent(array $parameters = []) { if (!local_user()) { - throw new \Friendica\Network\HTTPException\NotFoundException(); + throw new \Friendica\Network\HTTPException\ForbiddenException(); } if (empty($parameters['item'])) { - throw new \Friendica\Network\HTTPException\NotFoundException(); + throw new \Friendica\Network\HTTPException\BadRequestException(); } $itemId = intval($parameters['item']); From 48ab31f451d6fe2afab63fe6760525b9e799d98a Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 6 Nov 2019 19:17:40 +0000 Subject: [PATCH 20/41] Fix a notice --- src/Protocol/Diaspora.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index 74f1e8be3..e8c576a94 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -2476,7 +2476,7 @@ class Diaspora return false; } - $cid = Contact::getIdForURL($ret['url'], $uid); + $cid = Contact::getIdForURL($ret['url'], $importer['uid']); if (!empty($cid)) { $contact = DBA::selectFirst('contact', [], ['id' => $cid, 'network' => Protocol::NATIVE_SUPPORT]); } else { From 134d6d18f95cb4f68983f9090876b46d3ab98326 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 6 Nov 2019 22:34:38 -0500 Subject: [PATCH 21/41] Pass Router parameter to module content method --- src/App/Module.php | 8 ++++++++ src/App/Page.php | 2 +- src/App/Router.php | 27 ++++++++++++--------------- static/dependencies.config.php | 2 +- tests/src/App/ModuleTest.php | 2 +- tests/src/App/RouterTest.php | 4 ++-- 6 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/App/Module.php b/src/App/Module.php index eb5552285..868520c02 100644 --- a/src/App/Module.php +++ b/src/App/Module.php @@ -94,6 +94,14 @@ class Module return $this->module_class; } + /** + * @return array The module parameters extracted from the route + */ + public function getParameters() + { + return $this->module_parameters; + } + /** * @return bool True, if the current module is a backend module * @see Module::BACKEND_MODULES for a list diff --git a/src/App/Page.php b/src/App/Page.php index de75db32f..7af0bc899 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -308,7 +308,7 @@ class Page implements ArrayAccess $arr = ['content' => $content]; Hook::callAll($moduleClass . '_mod_content', $arr); $content = $arr['content']; - $arr = ['content' => call_user_func([$moduleClass, 'content'], [])]; + $arr = ['content' => call_user_func([$moduleClass, 'content'], $module->getParameters())]; Hook::callAll($moduleClass . '_mod_aftercontent', $arr); $content .= $arr['content']; } catch (HTTPException $e) { diff --git a/src/App/Router.php b/src/App/Router.php index a4a4a852a..c9ba21bb3 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -65,12 +65,21 @@ class Router * * @throws HTTPException\InternalServerErrorException In case of invalid configs */ - public function addRoutes(array $routes) + public function loadRoutes(array $routes) { $routeCollector = (isset($this->routeCollector) ? $this->routeCollector : new RouteCollector(new Std(), new GroupCountBased())); + $this->addRoutes($routeCollector, $routes); + + $this->routeCollector = $routeCollector; + + return $this; + } + + private function addRoutes(RouteCollector $routeCollector, array $routes) + { foreach ($routes as $route => $config) { if ($this->isGroup($config)) { $this->addGroup($route, $config, $routeCollector); @@ -80,10 +89,6 @@ class Router throw new HTTPException\InternalServerErrorException("Wrong route config for route '" . print_r($route, true) . "'"); } } - - $this->routeCollector = $routeCollector; - - return $this; } /** @@ -96,15 +101,7 @@ class Router private function addGroup(string $groupRoute, array $routes, RouteCollector $routeCollector) { $routeCollector->addGroup($groupRoute, function (RouteCollector $routeCollector) use ($routes) { - foreach ($routes as $route => $config) { - if ($this->isGroup($config)) { - $this->addGroup($route, $config, $routeCollector); - } elseif ($this->isRoute($config)) { - $routeCollector->addRoute($config[1], $route, $config[0]); - }else { - throw new HTTPException\InternalServerErrorException("Wrong route config for route '" . print_r($route, true) . "'"); - } - } + $this->addRoutes($routeCollector, $routes); }); } @@ -174,7 +171,7 @@ class Router $cmd = '/' . ltrim($cmd, '/'); - $dispatcher = new \FastRoute\Dispatcher\GroupCountBased($this->routeCollector->getData()); + $dispatcher = new Dispatcher\GroupCountBased($this->routeCollector->getData()); $moduleClass = null; $this->parameters = []; diff --git a/static/dependencies.config.php b/static/dependencies.config.php index 938b13495..fbc085f4b 100644 --- a/static/dependencies.config.php +++ b/static/dependencies.config.php @@ -171,7 +171,7 @@ return [ $_SERVER, null ], 'call' => [ - ['addRoutes', [include __DIR__ . '/routes.config.php'], Dice::CHAIN_CALL], + ['loadRoutes', [include __DIR__ . '/routes.config.php'], Dice::CHAIN_CALL], ], ], L10n::class => [ diff --git a/tests/src/App/ModuleTest.php b/tests/src/App/ModuleTest.php index 8327bc706..ce2a40b80 100644 --- a/tests/src/App/ModuleTest.php +++ b/tests/src/App/ModuleTest.php @@ -152,7 +152,7 @@ class ModuleTest extends DatabaseTest $config = \Mockery::mock(Configuration::class); $config->shouldReceive('get')->with('config', 'private_addons', false)->andReturn($privAdd)->atMost()->once(); - $router = (new App\Router([]))->addRoutes(include __DIR__ . '/../../../static/routes.config.php'); + $router = (new App\Router([]))->loadRoutes(include __DIR__ . '/../../../static/routes.config.php'); $module = (new App\Module($name))->determineClass(new App\Arguments('', $command), $router, $config); diff --git a/tests/src/App/RouterTest.php b/tests/src/App/RouterTest.php index b2dbaed20..102808f6a 100644 --- a/tests/src/App/RouterTest.php +++ b/tests/src/App/RouterTest.php @@ -159,7 +159,7 @@ class RouterTest extends TestCase { $router = (new Router([ 'REQUEST_METHOD' => Router::GET - ]))->addRoutes($routes); + ]))->loadRoutes($routes); $this->assertEquals(Module\Home::class, $router->getModuleClass('/')); $this->assertEquals(Module\Friendica::class, $router->getModuleClass('/group/route')); @@ -174,7 +174,7 @@ class RouterTest extends TestCase { $router = (new Router([ 'REQUEST_METHOD' => Router::POST - ]))->addRoutes($routes); + ]))->loadRoutes($routes); // Don't find GET $this->assertEquals(Module\NodeInfo::class, $router->getModuleClass('/post/it')); From cf56992444474a360686de03931df836be3069d5 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 7 Nov 2019 05:39:15 +0000 Subject: [PATCH 22/41] We can now pin our own posts --- database.sql | 5 +-- src/Model/Item.php | 33 +++++++++++++++++-- src/Object/Post.php | 17 ++++++++++ static/dbstructure.config.php | 5 +-- static/routes.config.php | 5 +-- view/js/main.js | 19 +++++++++++ view/templates/wall_thread.tpl | 3 ++ view/theme/frio/templates/wall_thread.tpl | 7 ++++ view/theme/quattro/templates/wall_thread.tpl | 4 +++ view/theme/smoothly/templates/wall_thread.tpl | 3 ++ view/theme/vier/templates/wall_thread.tpl | 4 +++ 11 files changed, 97 insertions(+), 8 deletions(-) diff --git a/database.sql b/database.sql index d42f61f90..e80c5cda2 100644 --- a/database.sql +++ b/database.sql @@ -1,6 +1,6 @@ -- ------------------------------------------ --- Friendica 2019.09-rc (Dalmatian Bellflower) --- DB_UPDATE_VERSION 1322 +-- Friendica 2019.12-dev (Dalmatian Bellflower) +-- DB_UPDATE_VERSION 1324 -- ------------------------------------------ @@ -1281,6 +1281,7 @@ CREATE TABLE IF NOT EXISTS `user-item` ( `uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id', `hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide an item from the user', `ignored` boolean COMMENT 'Ignore this thread if set', + `pinned` boolean COMMENT 'The item is pinned on the profile page', PRIMARY KEY(`uid`,`iid`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User specific item data'; diff --git a/src/Model/Item.php b/src/Model/Item.php index 9501c8e5d..882aa6444 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -58,7 +58,7 @@ class Item extends BaseObject 'author-id', 'author-link', 'author-name', 'author-avatar', 'author-network', 'owner-id', 'owner-link', 'owner-name', 'owner-avatar', 'owner-network', 'contact-id', 'contact-uid', 'contact-link', 'contact-name', 'contact-avatar', - 'writable', 'self', 'cid', 'alias', + 'writable', 'self', 'cid', 'alias', 'pinned', 'event-id', 'event-created', 'event-edited', 'event-start', 'event-finish', 'event-summary', 'event-desc', 'event-location', 'event-type', 'event-nofinish', 'event-adjust', 'event-ignore', 'event-id', @@ -114,6 +114,35 @@ class Item extends BaseObject return self::$legacy_mode; } + /** + * Set the pinned state of an item + * + * @param integer $iid Item ID + * @param integer $uid User ID + * @param boolean $pinned Pinned state + */ + public static function setPinned(int $iid, int $uid, bool $pinned) + { + DBA::update('user-item', ['pinned' => $pinned], ['iid' => $iid, 'uid' => $uid], true); + } + + /** + * Get the pinned state + * + * @param integer $iid Item ID + * @param integer $uid User ID + * + * @return boolean pinned state + */ + public static function getPinned(int $iid, int $uid) + { + $useritem = DBA::selectFirst('user-item', ['pinned'], ['iid' => $iid, 'uid' => $uid]); + if (!DBA::isResult($useritem)) { + return false; + } + return (bool)$useritem['pinned']; + } + /** * @brief returns an activity index from an activity string * @@ -585,7 +614,7 @@ class Item extends BaseObject 'iaid' => 'internal-iaid']; if ($usermode) { - $fields['user-item'] = ['ignored' => 'internal-user-ignored']; + $fields['user-item'] = ['pinned', 'ignored' => 'internal-user-ignored']; } $fields['item-activity'] = ['activity', 'activity' => 'internal-activity']; diff --git a/src/Object/Post.php b/src/Object/Post.php index babf24e0d..f3c607ee6 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -140,8 +140,10 @@ class Post extends BaseObject $sparkle = ''; $buttons = ''; $dropping = false; + $pin = false; $star = false; $ignore = false; + $ispinned = "unpinned"; $isstarred = "unstarred"; $indent = ''; $shiny = ''; @@ -284,6 +286,19 @@ class Post extends BaseObject } if ($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) { + if ($origin) { + $ispinned = ($item['pinned'] ? 'pinned' : 'unpinned'); + + $pin = [ + 'do' => L10n::t('pin'), + 'undo' => L10n::t('unpin'), + 'toggle' => L10n::t('toggle pin status'), + 'classdo' => $item['pinned'] ? 'hidden' : '', + 'classundo' => $item['pinned'] ? '' : 'hidden', + 'pinned' => L10n::t('pinned'), + ]; + } + $isstarred = (($item['starred']) ? "starred" : "unstarred"); $star = [ @@ -407,6 +422,8 @@ class Post extends BaseObject 'owner_name' => $owner_name_e, 'plink' => Item::getPlink($item), 'edpost' => $edpost, + 'ispinned' => $ispinned, + 'pin' => $pin, 'isstarred' => $isstarred, 'star' => $star, 'ignore' => $ignore, diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 53f8a8ed4..65e0b26a6 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -34,7 +34,7 @@ use Friendica\Database\DBA; if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1323); + define('DB_UPDATE_VERSION', 1324); } return [ @@ -1384,7 +1384,8 @@ return [ "iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"], "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"], "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"], - "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"] + "ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"], + "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"] ], "indexes" => [ "PRIMARY" => ["uid", "iid"] diff --git a/static/routes.config.php b/static/routes.config.php index 1f2fe0ad1..339860afe 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -179,8 +179,9 @@ return [ '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]], ], - '/pretheme' => [Module\ThemeDetails::class, [R::GET]], - '/probe' => [Module\Debug\Probe::class, [R::GET]], + '/pinned/{item:\d+}' => [Module\Pinned::class, [R::GET]], + '/pretheme' => [Module\ThemeDetails::class, [R::GET]], + '/probe' => [Module\Debug\Probe::class, [R::GET]], '/profile' => [ '/{nickname}' => [Module\Profile::class, [R::GET]], diff --git a/view/js/main.js b/view/js/main.js index 40db7c2a1..94644c5df 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -626,6 +626,25 @@ function dostar(ident) { }); } +function dopin(ident) { + ident = ident.toString(); + $('#like-rotator-' + ident).show(); + $.get('pinned/' + ident, function(data) { + if (data.match(/1/)) { + $('#pinned-' + ident).addClass('pinned'); + $('#pinned-' + ident).removeClass('unpinned'); + $('#pin-' + ident).addClass('hidden'); + $('#unpin-' + ident).removeClass('hidden'); + } else { + $('#pinned-' + ident).addClass('unpinned'); + $('#pinned-' + ident).removeClass('pinned'); + $('#pin-' + ident).removeClass('hidden'); + $('#unpin-' + ident).addClass('hidden'); + } + $('#like-rotator-' + ident).hide(); + }); +} + function doignore(ident) { ident = ident.toString(); $('#like-rotator-' + ident).show(); diff --git a/view/templates/wall_thread.tpl b/view/templates/wall_thread.tpl index a4834062c..001bdaebb 100644 --- a/view/templates/wall_thread.tpl +++ b/view/templates/wall_thread.tpl @@ -90,6 +90,9 @@ {{/if}} + {{if $item.pin}} + + {{/if}} {{if $item.star}} {{/if}} diff --git a/view/theme/frio/templates/wall_thread.tpl b/view/theme/frio/templates/wall_thread.tpl index 9d8d47355..cffe1087b 100644 --- a/view/theme/frio/templates/wall_thread.tpl +++ b/view/theme/frio/templates/wall_thread.tpl @@ -118,6 +118,13 @@ as the value of $top_child_total (this is done at the end of this file) {{/if}} + {{if $item.pin}} +
  • + + +
  • + {{/if}} + {{if $item.star}}
  • diff --git a/view/theme/quattro/templates/wall_thread.tpl b/view/theme/quattro/templates/wall_thread.tpl index bfb903c7b..c3d650002 100644 --- a/view/theme/quattro/templates/wall_thread.tpl +++ b/view/theme/quattro/templates/wall_thread.tpl @@ -93,6 +93,10 @@
    + {{if $item.pin}} + {{$item.pin.do}} + {{$item.pin.undo}} + {{/if}} {{if $item.star}} {{$item.star.do}} {{$item.star.undo}} diff --git a/view/theme/smoothly/templates/wall_thread.tpl b/view/theme/smoothly/templates/wall_thread.tpl index a4616d9c4..7b56c9130 100644 --- a/view/theme/smoothly/templates/wall_thread.tpl +++ b/view/theme/smoothly/templates/wall_thread.tpl @@ -107,6 +107,9 @@
    {{/if}} + {{if $item.pin}} + + {{/if}} {{if $item.star}} {{/if}} diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index eb9c2fe57..1d432ea45 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -122,6 +122,10 @@ {{/if}} {{/if}} + {{if $item.pin}} + {{$item.pin.do}} + {{$item.pin.undo}} + {{/if}} {{if $item.star}} {{$item.star.do}} {{$item.star.undo}} From ed58af25a56fdf35f964e0f45ec1c82102c55e83 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 7 Nov 2019 06:53:18 +0000 Subject: [PATCH 23/41] show pinned items --- database.sql | 3 ++- src/Model/Item.php | 22 ++++++++++++++++--- src/Module/Profile.php | 8 ++++++- src/Object/Post.php | 6 +++++ static/dbstructure.config.php | 3 ++- view/templates/wall_thread.tpl | 2 +- view/theme/frio/templates/wall_thread.tpl | 1 + view/theme/quattro/templates/wall_thread.tpl | 1 + view/theme/smoothly/templates/wall_thread.tpl | 2 +- view/theme/vier/templates/wall_thread.tpl | 1 + 10 files changed, 41 insertions(+), 8 deletions(-) diff --git a/database.sql b/database.sql index e80c5cda2..86207a122 100644 --- a/database.sql +++ b/database.sql @@ -1282,7 +1282,8 @@ CREATE TABLE IF NOT EXISTS `user-item` ( `hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide an item from the user', `ignored` boolean COMMENT 'Ignore this thread if set', `pinned` boolean COMMENT 'The item is pinned on the profile page', - PRIMARY KEY(`uid`,`iid`) + PRIMARY KEY(`uid`,`iid`), + INDEX `uid_pinned` (`uid`,`pinned`) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User specific item data'; -- diff --git a/src/Model/Item.php b/src/Model/Item.php index 882aa6444..98b058215 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -116,7 +116,7 @@ class Item extends BaseObject /** * Set the pinned state of an item - * + * * @param integer $iid Item ID * @param integer $uid User ID * @param boolean $pinned Pinned state @@ -128,10 +128,10 @@ class Item extends BaseObject /** * Get the pinned state - * + * * @param integer $iid Item ID * @param integer $uid User ID - * + * * @return boolean pinned state */ public static function getPinned(int $iid, int $uid) @@ -143,6 +143,22 @@ class Item extends BaseObject return (bool)$useritem['pinned']; } + public static function selectPinned(int $uid, array $selected = []) + { + $useritems = DBA::select('user-item', ['iid'], ['uid' => $uid, 'pinned' => true]); + if (!DBA::isResult($useritems)) { + return $useritems; + } + + $pinned = []; + while ($useritem = self::fetch($useritems)) { + $pinned[] = $useritem['iid']; + } + DBA::close($useritems); + + return self::selectThreadForUser($uid, $selected, ['iid' => $pinned]); + } + /** * @brief returns an activity index from an activity string * diff --git a/src/Module/Profile.php b/src/Module/Profile.php index 69db45acf..ac345fad2 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -177,7 +177,7 @@ class Profile extends BaseModule } if (!$update) { - $tab = Strings::escapeTags(trim($_GET['tab'] ?? '')); + $tab = Strings::escapeTags(trim($_GET['tab'] ?? '')); $o .= ProfileModel::getTabs($a, $tab, $is_owner, $a->profile['nickname']); @@ -349,6 +349,12 @@ class Profile extends BaseModule $items = DBA::toArray($items_stmt); + if ($pager->getStart() == 0) { + $pinned_items = Item::selectPinned($a->profile['profile_uid'], ['uri']); + $pinned = Item::inArray($pinned_items); + $items = array_merge($items, $pinned); + } + $o .= conversation($a, $items, $pager, 'profile', $update, false, 'received', $a->profile['profile_uid']); if (!$update) { diff --git a/src/Object/Post.php b/src/Object/Post.php index f3c607ee6..f9119ee03 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -140,6 +140,7 @@ class Post extends BaseObject $sparkle = ''; $buttons = ''; $dropping = false; + $pinned = ''; $pin = false; $star = false; $ignore = false; @@ -287,6 +288,10 @@ class Post extends BaseObject if ($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) { if ($origin) { + if ($item['pinned']) { + $pinned = L10n::t('pinned item'); + } + $ispinned = ($item['pinned'] ? 'pinned' : 'unpinned'); $pin = [ @@ -424,6 +429,7 @@ class Post extends BaseObject 'edpost' => $edpost, 'ispinned' => $ispinned, 'pin' => $pin, + 'pinned' => $pinned, 'isstarred' => $isstarred, 'star' => $star, 'ignore' => $ignore, diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 65e0b26a6..7f4cd7128 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -1388,7 +1388,8 @@ return [ "pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"] ], "indexes" => [ - "PRIMARY" => ["uid", "iid"] + "PRIMARY" => ["uid", "iid"], + "uid_pinned" => ["uid", "pinned"] ] ], "worker-ipc" => [ diff --git a/view/templates/wall_thread.tpl b/view/templates/wall_thread.tpl index 001bdaebb..0816400d5 100644 --- a/view/templates/wall_thread.tpl +++ b/view/templates/wall_thread.tpl @@ -50,7 +50,7 @@
    {{$item.name}}{{if $item.owner_url}} {{$item.to}} {{$item.owner_name}} {{$item.vwall}}{{/if}}
    -
    +
    {{$item.pinned}}
    {{$item.title}}
    diff --git a/view/theme/frio/templates/wall_thread.tpl b/view/theme/frio/templates/wall_thread.tpl index cffe1087b..31f13ea37 100644 --- a/view/theme/frio/templates/wall_thread.tpl +++ b/view/theme/frio/templates/wall_thread.tpl @@ -236,6 +236,7 @@ as the value of $top_child_total (this is done at the end of this file) {{if $item.owner_self}} {{include file="sub/delivery_count.tpl" delivery=$item.delivery}} {{/if}} + {{$item.pinned}}
    diff --git a/view/theme/quattro/templates/wall_thread.tpl b/view/theme/quattro/templates/wall_thread.tpl index c3d650002..77d63f6e5 100644 --- a/view/theme/quattro/templates/wall_thread.tpl +++ b/view/theme/quattro/templates/wall_thread.tpl @@ -88,6 +88,7 @@ class="wall-item-name-link">{{$item.name}} + {{$item.pinned}} {{if $item.owner_url}}
    {{$item.to}} {{$item.owner_name}} {{$item.vwall}} {{/if}} diff --git a/view/theme/smoothly/templates/wall_thread.tpl b/view/theme/smoothly/templates/wall_thread.tpl index 7b56c9130..b372fbefb 100644 --- a/view/theme/smoothly/templates/wall_thread.tpl +++ b/view/theme/smoothly/templates/wall_thread.tpl @@ -54,7 +54,7 @@ {{$item.name}}
    -
    +
    {{$item.pinned}}
    diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index 1d432ea45..c27ec33cd 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -60,6 +60,7 @@ {{if $item.owner_self}} {{include file="sub/delivery_count.tpl" delivery=$item.delivery}} {{/if}} + {{$item.pinned}} {{if $item.lock}}{{$item.lock}}{{/if}} From 463c9131b69537df86d41f1240046e0c552d0ccf Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 7 Nov 2019 07:09:46 +0000 Subject: [PATCH 24/41] Pinned items are always at the top --- include/conversation.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/conversation.php b/include/conversation.php index 84e47d34e..54008fb5d 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1497,6 +1497,12 @@ function conv_sort(array $item_list, $order) */ function sort_thr_received(array $a, array $b) { + if ($b['pinned'] && !$a['pinned']) { + return 1; + } elseif (!$b['pinned'] && $a['pinned']) { + return -1; + } + return strcmp($b['received'], $a['received']); } @@ -1509,6 +1515,12 @@ function sort_thr_received(array $a, array $b) */ function sort_thr_received_rev(array $a, array $b) { + if ($b['pinned'] && !$a['pinned']) { + return -1; + } elseif (!$b['pinned'] && $a['pinned']) { + return 1; + } + return strcmp($a['received'], $b['received']); } @@ -1521,6 +1533,12 @@ function sort_thr_received_rev(array $a, array $b) */ function sort_thr_commented(array $a, array $b) { + if ($b['pinned'] && !$a['pinned']) { + return 1; + } elseif (!$b['pinned'] && $a['pinned']) { + return -1; + } + return strcmp($b['commented'], $a['commented']); } From 91ad7936f3a4e0b241d9c193436507d2d74d8b1b Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 7 Nov 2019 07:39:50 +0000 Subject: [PATCH 25/41] Only sort the profile after pinned --- include/conversation.php | 34 +++++++++++++++++++++------------- src/Module/Profile.php | 2 +- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index 54008fb5d..f6da5d858 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1451,7 +1451,9 @@ function conv_sort(array $item_list, $order) } } - if (stristr($order, 'received')) { + if (stristr($order, 'pinned_received')) { + usort($parents, 'sort_thr_pinned_received'); + } elseif (stristr($order, 'received')) { usort($parents, 'sort_thr_received'); } elseif (stristr($order, 'commented')) { usort($parents, 'sort_thr_commented'); @@ -1488,6 +1490,24 @@ function conv_sort(array $item_list, $order) return $parents; } +/** + * @brief usort() callback to sort item arrays by pinned and the received key + * + * @param array $a + * @param array $b + * @return int + */ +function sort_thr_pinned_received(array $a, array $b) +{ + if ($b['pinned'] && !$a['pinned']) { + return 1; + } elseif (!$b['pinned'] && $a['pinned']) { + return -1; + } + + return strcmp($b['received'], $a['received']); +} + /** * @brief usort() callback to sort item arrays by the received key * @@ -1497,12 +1517,6 @@ function conv_sort(array $item_list, $order) */ function sort_thr_received(array $a, array $b) { - if ($b['pinned'] && !$a['pinned']) { - return 1; - } elseif (!$b['pinned'] && $a['pinned']) { - return -1; - } - return strcmp($b['received'], $a['received']); } @@ -1515,12 +1529,6 @@ function sort_thr_received(array $a, array $b) */ function sort_thr_received_rev(array $a, array $b) { - if ($b['pinned'] && !$a['pinned']) { - return -1; - } elseif (!$b['pinned'] && $a['pinned']) { - return 1; - } - return strcmp($a['received'], $b['received']); } diff --git a/src/Module/Profile.php b/src/Module/Profile.php index ac345fad2..cd0ee66bb 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -355,7 +355,7 @@ class Profile extends BaseModule $items = array_merge($items, $pinned); } - $o .= conversation($a, $items, $pager, 'profile', $update, false, 'received', $a->profile['profile_uid']); + $o .= conversation($a, $items, $pager, 'profile', $update, false, 'pinned_received', $a->profile['profile_uid']); if (!$update) { $o .= $pager->renderMinimal(count($items)); From 806e6a230e9667f19cdbed254adde97399a871aa Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 7 Nov 2019 07:41:54 +0000 Subject: [PATCH 26/41] Added description, removed sorting --- include/conversation.php | 6 ------ src/Model/Item.php | 9 +++++++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index f6da5d858..724d18dfe 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1541,12 +1541,6 @@ function sort_thr_received_rev(array $a, array $b) */ function sort_thr_commented(array $a, array $b) { - if ($b['pinned'] && !$a['pinned']) { - return 1; - } elseif (!$b['pinned'] && $a['pinned']) { - return -1; - } - return strcmp($b['commented'], $a['commented']); } diff --git a/src/Model/Item.php b/src/Model/Item.php index 98b058215..dde33437a 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -143,6 +143,15 @@ class Item extends BaseObject return (bool)$useritem['pinned']; } + /** + * @brief Select pinned rows from the item table for a given user + * + * @param integer $uid User ID + * @param array $selected Array of selected fields, empty for all + * + * @return boolean|object + * @throws \Exception + */ public static function selectPinned(int $uid, array $selected = []) { $useritems = DBA::select('user-item', ['iid'], ['uid' => $uid, 'pinned' => true]); From 2200996d4484d8c4685c32d7b7d012c7cf3e2185 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 7 Nov 2019 15:51:05 -0500 Subject: [PATCH 27/41] [hotfix] Prevent fatal error in profile with pinned posts - `$a->profile['profile_uid']` may not be set - Addresses https://github.com/friendica/friendica/issues/7675#issuecomment-551255174 --- src/Module/Profile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Module/Profile.php b/src/Module/Profile.php index cd0ee66bb..60dc6aa1b 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -349,7 +349,7 @@ class Profile extends BaseModule $items = DBA::toArray($items_stmt); - if ($pager->getStart() == 0) { + if ($pager->getStart() == 0 && !empty($a->profile['profile_uid'])) { $pinned_items = Item::selectPinned($a->profile['profile_uid'], ['uri']); $pinned = Item::inArray($pinned_items); $items = array_merge($items, $pinned); From fc94cad5f2855d5785adb5e2b1ebc8ad67736e5c Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 8 Nov 2019 06:52:44 +0000 Subject: [PATCH 28/41] Pinned posts now work for visitors in the intended way --- include/conversation.php | 12 +++++++++--- src/Model/Item.php | 24 ++++++++++++++++++++++-- src/Module/Profile.php | 2 +- src/Object/Post.php | 6 ++---- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index 724d18dfe..b7f8d91fc 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -801,10 +801,12 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ /** * Fetch all comments from a query. Additionally set the newest resharer as thread owner. * - * @param $thread_items Database statement with thread posts + * @param array $thread_items Database statement with thread posts + * @param boolean $pinned Is the item pinned? + * * @return array items with parents and comments */ -function conversation_fetch_comments($thread_items) { +function conversation_fetch_comments($thread_items, $pinned) { $comments = []; $parentlines = []; $lineno = 0; @@ -822,6 +824,10 @@ function conversation_fetch_comments($thread_items) { $parentlines[] = $lineno; } + if ($row['gravity'] == GRAVITY_PARENT) { + $row['pinned'] = $pinned; + } + $comments[] = $row; $lineno++; } @@ -872,7 +878,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid) $thread_items = Item::selectForUser(local_user(), array_merge(Item::DISPLAY_FIELDLIST, ['contact-uid', 'gravity']), $condition, $params); - $comments = conversation_fetch_comments($thread_items); + $comments = conversation_fetch_comments($thread_items, $parent['pinned'] ?? false); if (count($comments) != 0) { $items = array_merge($items, $comments); diff --git a/src/Model/Item.php b/src/Model/Item.php index dde33437a..159fac455 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -148,11 +148,13 @@ class Item extends BaseObject * * @param integer $uid User ID * @param array $selected Array of selected fields, empty for all + * @param array $condition Array of fields for condition + * @param array $params Array of several parameters * * @return boolean|object * @throws \Exception */ - public static function selectPinned(int $uid, array $selected = []) + public static function selectPinned(int $uid, array $selected = [], array $condition = [], $params = []) { $useritems = DBA::select('user-item', ['iid'], ['uid' => $uid, 'pinned' => true]); if (!DBA::isResult($useritems)) { @@ -165,7 +167,25 @@ class Item extends BaseObject } DBA::close($useritems); - return self::selectThreadForUser($uid, $selected, ['iid' => $pinned]); + if (empty($pinned)) { + return []; + } + + if (empty($condition) || !is_array($condition)) { + $condition = ['iid' => $pinned]; + } else { + reset($condition); + $first_key = key($condition); + if (!is_int($first_key)) { + $condition['iid'] = $pinned; + } else { + $values_string = substr(str_repeat("?, ", count($pinned)), 0, -2); + $condition[0] = '(' . $condition[0] . ") AND `iid` IN (" . $values_string . ")"; + $condition = array_merge($condition, $pinned); + } + } + + return self::selectThreadForUser($uid, $selected, $condition, $params); } /** diff --git a/src/Module/Profile.php b/src/Module/Profile.php index 60dc6aa1b..aab591856 100644 --- a/src/Module/Profile.php +++ b/src/Module/Profile.php @@ -350,7 +350,7 @@ class Profile extends BaseModule $items = DBA::toArray($items_stmt); if ($pager->getStart() == 0 && !empty($a->profile['profile_uid'])) { - $pinned_items = Item::selectPinned($a->profile['profile_uid'], ['uri']); + $pinned_items = Item::selectPinned($a->profile['profile_uid'], ['uri', 'pinned'], ['true' . $sql_extra]); $pinned = Item::inArray($pinned_items); $items = array_merge($items, $pinned); } diff --git a/src/Object/Post.php b/src/Object/Post.php index f9119ee03..981bf76c7 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -193,6 +193,8 @@ class Post extends BaseObject if (DBA::isResult($parent)) { $origin = $parent['origin']; } + } elseif ($item['pinned']) { + $pinned = L10n::t('pinned item'); } if ($origin && ($item['id'] != $item['parent']) && ($item['network'] == Protocol::ACTIVITYPUB)) { @@ -288,10 +290,6 @@ class Post extends BaseObject if ($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) { if ($origin) { - if ($item['pinned']) { - $pinned = L10n::t('pinned item'); - } - $ispinned = ($item['pinned'] ? 'pinned' : 'unpinned'); $pin = [ From 06a4461fc4366164174b8d36ae5f0fa9ffdefd5b Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 8 Nov 2019 10:25:50 +0000 Subject: [PATCH 29/41] Improved icons --- view/theme/duepuntozero/style.css | 4 ++++ view/theme/frio/templates/wall_thread.tpl | 4 ++-- view/theme/smoothly/style.css | 1 + view/theme/vier/templates/wall_thread.tpl | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 9bad9d348..3009e36a6 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -1162,6 +1162,10 @@ input#dfrn-url { margin-left: 10px; float: left; } +.pin-item { + margin-left: 10px; + float: left; +} .star-item { margin-left: 10px; float: left; diff --git a/view/theme/frio/templates/wall_thread.tpl b/view/theme/frio/templates/wall_thread.tpl index 31f13ea37..94955581d 100644 --- a/view/theme/frio/templates/wall_thread.tpl +++ b/view/theme/frio/templates/wall_thread.tpl @@ -120,8 +120,8 @@ as the value of $top_child_total (this is done at the end of this file) {{if $item.pin}}
  • - - + +
  • {{/if}} diff --git a/view/theme/smoothly/style.css b/view/theme/smoothly/style.css index edbd70574..aa9a8e543 100644 --- a/view/theme/smoothly/style.css +++ b/view/theme/smoothly/style.css @@ -1615,6 +1615,7 @@ ul .sidebar-group-li .icon { margin-right: 20px; } +.pin-item, .star-item, .tag-item { float: left; diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index c27ec33cd..169d1b214 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -124,8 +124,8 @@ {{/if}} {{if $item.pin}} - {{$item.pin.do}} - {{$item.pin.undo}} + {{$item.pin.do}} + {{$item.pin.undo}} {{/if}} {{if $item.star}} {{$item.star.do}} From 5d1ced796b507c4a323c1a5b9dcbe97a41828795 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 8 Nov 2019 18:07:54 +0000 Subject: [PATCH 30/41] Icons do now appear on smoothly and duepuntezero as well --- view/theme/duepuntozero/style.css | 2 ++ view/theme/smoothly/style.css | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 3009e36a6..bb5a25490 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -3205,6 +3205,8 @@ aside input[type='text'] { .on { background-position: -144px -32px; } .off { background-position: 0px -48px; } +.pinned { background-position: -16px -48px; } +.unpinned { background-position: -32px -48px; } .starred { background-position: -16px -48px; } .unstarred { background-position: -32px -48px; } .tagged { background-position: -48px -48px; } diff --git a/view/theme/smoothly/style.css b/view/theme/smoothly/style.css index aa9a8e543..ea84f0166 100644 --- a/view/theme/smoothly/style.css +++ b/view/theme/smoothly/style.css @@ -3991,6 +3991,15 @@ margin-left: 0px; height: 20px; background-image: url("images/icons.png"); } +.pinned { + background-image: url("images/star.png"); + repeat: no-repeat; +} +.unpinned { + background-image: url("images/premium.png"); + repeat: no-repeat; +} + .starred { background-image: url("images/star.png"); repeat: no-repeat; From bdacda32bad23608de3681d9283990e911f2c193 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 9 Nov 2019 03:17:18 +0000 Subject: [PATCH 31/41] Pinning: Missing file added --- src/Module/Pinned.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/Module/Pinned.php diff --git a/src/Module/Pinned.php b/src/Module/Pinned.php new file mode 100644 index 000000000..e4c0d2b0e --- /dev/null +++ b/src/Module/Pinned.php @@ -0,0 +1,40 @@ +internalRedirect($returnPath . $rand); + } + + // the json doesn't really matter, it will either be 0 or 1 + echo json_encode((int)$pinned); + exit(); + } +} From babcd244125d37a84b786399d58646738c012d70 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 9 Nov 2019 01:09:26 -0500 Subject: [PATCH 32/41] [hotfix] Fix syntax error in Module\Register - Prevents registration - Addresses https://github.com/friendica/friendica/issues/7675#issuecomment-552070076 --- src/Module/Register.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Module/Register.php b/src/Module/Register.php index aaca8c02e..ad49555e6 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -262,7 +262,7 @@ class Register extends BaseModule $a->internalRedirect('register/'); } // Is there text in the tar pit? - if (!empty($_POST('registertarpit'))) { + if (!empty($_POST['registertarpit'])) { \notice(L10n::t('You have entered too much information.')); $a->internalRedirect('register/'); } From 28537dbf63617108d7421d054147e25028167e60 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 9 Nov 2019 09:12:10 -0500 Subject: [PATCH 33/41] Use correct variable to store user.page-flags in mod/settings --- mod/settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/settings.php b/mod/settings.php index 79c007979..b102fd3bd 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -596,7 +596,7 @@ function settings_post(App $a) $fields = ['username' => $username, 'email' => $email, 'timezone' => $timezone, 'allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow, 'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny, - 'notify-flags' => $notify, 'page-flags' => $notify, 'account-type' => $account_type, 'default-location' => $defloc, + 'notify-flags' => $notify, 'page-flags' => $page_flags, 'account-type' => $account_type, 'default-location' => $defloc, 'allow_location' => $allow_location, 'maxreq' => $maxreq, 'expire' => $expire, 'def_gid' => $def_gid, 'blockwall' => $blockwall, 'hidewall' => $hide_wall, 'blocktags' => $blocktags, 'unkmail' => $unkmail, 'cntunkmail' => $cntunkmail, 'language' => $language]; From 31f0fe099246ed76b59c4a49499083b2788c87a5 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 9 Nov 2019 09:12:20 -0500 Subject: [PATCH 34/41] Use correct variable to store user.hidewall in mod/settings --- mod/settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/settings.php b/mod/settings.php index b102fd3bd..5ae4086b6 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -598,7 +598,7 @@ function settings_post(App $a) 'allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow, 'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny, 'notify-flags' => $notify, 'page-flags' => $page_flags, 'account-type' => $account_type, 'default-location' => $defloc, 'allow_location' => $allow_location, 'maxreq' => $maxreq, 'expire' => $expire, 'def_gid' => $def_gid, 'blockwall' => $blockwall, - 'hidewall' => $hide_wall, 'blocktags' => $blocktags, 'unkmail' => $unkmail, 'cntunkmail' => $cntunkmail, 'language' => $language]; + 'hidewall' => $hidewall, 'blocktags' => $blocktags, 'unkmail' => $unkmail, 'cntunkmail' => $cntunkmail, 'language' => $language]; if ($delete_openid) { $fields['openid'] = ''; From f9e3ff4b55e930c020649a578738b0c9c74abe50 Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Sat, 9 Nov 2019 21:46:50 +0100 Subject: [PATCH 35/41] Remove unnecessary hash function. - Was introduced for getting the last inserted ID before "lastInstertID()" was possible - See https://github.com/duthied/Free-Friendika/commit/b821399f001cd4082707ba9fb6df9c419e0b8e5e#diff-a8e86a3c07531e66a3b0b4c8b4b07879R148 --- database.sql | 2 -- include/enotify.php | 10 +--------- static/dbstructure.config.php | 4 +--- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/database.sql b/database.sql index d42f61f90..b09b8290e 100644 --- a/database.sql +++ b/database.sql @@ -793,7 +793,6 @@ CREATE TABLE IF NOT EXISTS `manage` ( -- CREATE TABLE IF NOT EXISTS `notify` ( `id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID', - `hash` varchar(64) NOT NULL DEFAULT '' COMMENT '', `type` smallint unsigned NOT NULL DEFAULT 0 COMMENT '', `name` varchar(255) NOT NULL DEFAULT '' COMMENT '', `url` varchar(255) NOT NULL DEFAULT '' COMMENT '', @@ -810,7 +809,6 @@ CREATE TABLE IF NOT EXISTS `notify` ( `name_cache` tinytext COMMENT 'Cached bbcode parsing of name', `msg_cache` mediumtext COMMENT 'Cached bbcode parsing of msg', PRIMARY KEY(`id`), - INDEX `hash_uid` (`hash`,`uid`), INDEX `seen_uid_date` (`seen`,`uid`,`date`), INDEX `uid_date` (`uid`,`date`), INDEX `uid_type_link` (`uid`,`type`,`link`(190)) diff --git a/include/enotify.php b/include/enotify.php index a8090e35f..2f3b6b49b 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -503,17 +503,9 @@ function notification($params) if ($show_in_notification_page) { Logger::log("adding notification entry", Logger::DEBUG); - do { - $dups = false; - $hash = Strings::getRandomHex(); - if (DBA::exists('notify', ['hash' => $hash])) { - $dups = true; - } - } while ($dups == true); /// @TODO One statement is enough $datarray = []; - $datarray['hash'] = $hash; $datarray['name'] = $params['source_name']; $datarray['name_cache'] = strip_tags(BBCode::convert($params['source_name'])); $datarray['url'] = $params['source_link']; @@ -536,7 +528,7 @@ function notification($params) } // create notification entry in DB - $fields = ['hash' => $datarray['hash'], 'name' => $datarray['name'], 'url' => $datarray['url'], + $fields = ['name' => $datarray['name'], 'url' => $datarray['url'], 'photo' => $datarray['photo'], 'date' => $datarray['date'], 'uid' => $datarray['uid'], 'link' => $datarray['link'], 'iid' => $datarray['iid'], 'parent' => $datarray['parent'], 'type' => $datarray['type'], 'verb' => $datarray['verb'], 'otype' => $datarray['otype'], diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 53f8a8ed4..e87a84ef9 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -34,7 +34,7 @@ use Friendica\Database\DBA; if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1323); + define('DB_UPDATE_VERSION', 1324); } return [ @@ -868,7 +868,6 @@ return [ "comment" => "notifications", "fields" => [ "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"], - "hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => ""], "type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""], "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], "url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""], @@ -887,7 +886,6 @@ return [ ], "indexes" => [ "PRIMARY" => ["id"], - "hash_uid" => ["hash", "uid"], "seen_uid_date" => ["seen", "uid", "date"], "uid_date" => ["uid", "date"], "uid_type_link" => ["uid", "type", "link(190)"], From dbbe3ec0319899ded51578e4a37b7753a66045a3 Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Sat, 9 Nov 2019 22:00:04 +0100 Subject: [PATCH 36/41] Remove deprecated method to find duplicates (issue from 2013) --- include/enotify.php | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/include/enotify.php b/include/enotify.php index 2f3b6b49b..391ba5014 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -537,26 +537,6 @@ function notification($params) $notify_id = DBA::lastInsertId(); - // we seem to have a lot of duplicate comment notifications due to race conditions, mostly from forums - // After we've stored everything, look again to see if there are any duplicates and if so remove them - $p = q("SELECT `id` FROM `notify` WHERE `type` IN (%d, %d) AND `link` = '%s' AND `uid` = %d ORDER BY `id`", - intval(NOTIFY_TAGSELF), - intval(NOTIFY_COMMENT), - DBA::escape($params['link']), - intval($params['uid']) - ); - if ($p && (count($p) > 1)) { - for ($d = 1; $d < count($p); $d ++) { - DBA::delete('notify', ['id' => $p[$d]['id']]); - } - - // only continue on if we stored the first one - if ($notify_id != $p[0]['id']) { - L10n::popLang(); - return false; - } - } - $itemlink = System::baseUrl().'/notify/view/'.$notify_id; $msg = Renderer::replaceMacros($epreamble, ['$itemlink' => $itemlink]); $msg_cache = format_notification_message($datarray['name_cache'], strip_tags(BBCode::convert($msg))); From 1b5fa55bdcc6d0d62bc5ee2a6182027b9d552318 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 11 Nov 2019 22:37:50 +0000 Subject: [PATCH 37/41] Fix image links with descriptions in API and AP transmission --- include/api.php | 1 + src/Model/Photo.php | 21 +++++++++++++++++++++ src/Protocol/ActivityPub/Transmitter.php | 24 ++++++++++++++++++++---- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/include/api.php b/include/api.php index d5eb9c541..8325e39b7 100644 --- a/include/api.php +++ b/include/api.php @@ -2554,6 +2554,7 @@ function api_get_attachments(&$body) { $text = $body; $text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $text); + $text = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/ism", '[img]$1[/img]', $text); $URLSearchString = "^\[\]"; $ret = preg_match_all("/\[img\]([$URLSearchString]*)\[\/img\]/ism", $text, $images); diff --git a/src/Model/Photo.php b/src/Model/Photo.php index 10e80a4fb..bf0acf53e 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -715,4 +715,25 @@ class Photo extends BaseObject return DBA::exists('photo', ['resource-id' => $guid]); } + + /** + * Tests if the link points to a locally stored picture page + * + * @param string $name Page link + * @return boolean + * @throws \Exception + */ + public static function isLocalLink($name) + { + $a = \get_app(); + $base = $a->getBaseURL(); + + $guid = str_replace(Strings::normaliseLink($base), '', Strings::normaliseLink($name)); + $guid = preg_replace("=/photos/.*/image/(.*)=ism", '$1', $guid); + if (empty($guid)) { + return false; + } + + return DBA::exists('photo', ['resource-id' => $guid]); + } } diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index c5f3bae47..3f962b8cf 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -19,6 +19,7 @@ use Friendica\Model\Contact; use Friendica\Model\Conversation; use Friendica\Model\Item; use Friendica\Model\Profile; +use Friendica\Model\Photo; use Friendica\Model\Term; use Friendica\Model\User; use Friendica\Protocol\Activity; @@ -1097,19 +1098,34 @@ class Transmitter } /** - * Remove image elements and replaces them with links to the image + * Remove image elements since they are added as attachment * * @param string $body * - * @return string with replaced elements + * @return string with removed images */ private static function removePictures($body) { // Simplify image codes $body = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $body); + $body = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/ism", '[img]$1[/img]', $body); - $body = preg_replace("/\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]/Usi", '[url]$1[/url]', $body); - $body = preg_replace("/\[img\]([^\[\]]*)\[\/img\]/Usi", '[url]$1[/url]', $body); + // Now remove local links + $body = preg_replace_callback( + '/\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]/Usi', + function ($match) { + // We remove the link when it is a link to a local photo page + if (Photo::isLocalLink($match[1])) { + return ''; + } + // otherwise we just return the link + return '[url]' . $match[1] . '[/url]'; + }, + $body + ); + + // Remove all pictures + $body = preg_replace("/\[img\]([^\[\]]*)\[\/img\]/Usi", '', $body); return $body; } From 8997361609017e1bc73f8241971c118fb71c70f2 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 11 Nov 2019 23:13:36 +0000 Subject: [PATCH 38/41] Better function name --- src/Model/Photo.php | 2 +- src/Protocol/ActivityPub/Transmitter.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Model/Photo.php b/src/Model/Photo.php index bf0acf53e..db3c4d429 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -723,7 +723,7 @@ class Photo extends BaseObject * @return boolean * @throws \Exception */ - public static function isLocalLink($name) + public static function isLocalPage($name) { $a = \get_app(); $base = $a->getBaseURL(); diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 3f962b8cf..a7be1e9c5 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -1115,7 +1115,7 @@ class Transmitter '/\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]/Usi', function ($match) { // We remove the link when it is a link to a local photo page - if (Photo::isLocalLink($match[1])) { + if (Photo::isLocalPage($match[1])) { return ''; } // otherwise we just return the link From 1fb485af1ccacd263466cb9957021727847411c3 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 12 Nov 2019 20:22:35 +0000 Subject: [PATCH 39/41] Use the contentMap to transmit additional content encodings --- src/Protocol/ActivityPub/Transmitter.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index a7be1e9c5..82ee97c9e 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -1270,6 +1270,9 @@ class Transmitter $data['content'] = BBCode::convert($body, false, 9); } + $data['contentMap']['text/html'] = BBCode::convert($item['body'], false); + $data['contentMap']['text/markdown'] = BBCode::toMarkdown($item["body"]); + $data['source'] = ['content' => $item['body'], 'mediaType' => "text/bbcode"]; if (!empty($item['signed_text']) && ($item['uri'] != $item['thr-parent'])) { From 85b3c880ef1ba48091acdfe649c35eef6c1c8f15 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 13 Nov 2019 06:43:36 +0000 Subject: [PATCH 40/41] Fix: Mentions in the HTML part of the "contentMap" now are links --- src/Content/Text/BBCode.php | 2 +- src/Protocol/ActivityPub/Transmitter.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 1dffb0507..167a05397 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -1680,7 +1680,7 @@ class BBCode extends BaseObject $text = str_replace(["\r","\n"], ['
    ', '
    '], $text); // Remove all hashtag addresses - if ((!$try_oembed || $simple_html) && !in_array($simple_html, [3, 7, 9])) { + if ($simple_html && !in_array($simple_html, [3, 7, 9])) { $text = preg_replace("/([#@!])\[url\=(.*?)\](.*?)\[\/url\]/ism", '$1$3', $text); } elseif ($simple_html == 3) { // The ! is converted to @ since Diaspora only understands the @ diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 82ee97c9e..545ac22c6 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -1270,7 +1270,10 @@ class Transmitter $data['content'] = BBCode::convert($body, false, 9); } - $data['contentMap']['text/html'] = BBCode::convert($item['body'], false); + $regexp = "/[@!]\[url\=([^\[\]]*)\].*?\[\/url\]/ism"; + $richbody = preg_replace_callback($regexp, ['self', 'mentionCallback'], $item['body']); + + $data['contentMap']['text/html'] = BBCode::convert($richbody, false); $data['contentMap']['text/markdown'] = BBCode::toMarkdown($item["body"]); $data['source'] = ['content' => $item['body'], 'mediaType' => "text/bbcode"]; From fa57fead2e1c5a5183fc74450c2bec2983b6e836 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 13 Nov 2019 16:22:20 +0000 Subject: [PATCH 41/41] AP: Read different content types for the source and the content --- src/Protocol/ActivityPub/Receiver.php | 51 +++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/src/Protocol/ActivityPub/Receiver.php b/src/Protocol/ActivityPub/Receiver.php index 1bc6f9041..685f3a85e 100644 --- a/src/Protocol/ActivityPub/Receiver.php +++ b/src/Protocol/ActivityPub/Receiver.php @@ -5,6 +5,8 @@ namespace Friendica\Protocol\ActivityPub; use Friendica\Database\DBA; +use Friendica\Content\Text\HTML; +use Friendica\Content\Text\Markdown; use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Model\Contact; @@ -874,6 +876,52 @@ class Receiver return $attachlist; } + /** + * Fetch the original source or content with the "language" Markdown or HTML + * + * @param array $object + * @param array $object_data + * + * @return array + * @throws \Exception + */ + private static function getSource($object, $object_data) + { + $object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/bbcode'); + $object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value'); + if (!empty($object_data['source'])) { + return $object_data; + } + + $object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/markdown'); + $object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value'); + if (!empty($object_data['source'])) { + $object_data['source'] = Markdown::toBBCode($object_data['source']); + return $object_data; + } + + $object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/html'); + $object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value'); + if (!empty($object_data['source'])) { + $object_data['source'] = HTML::toBBCode($object_data['source']); + return $object_data; + } + + $markdown = JsonLD::fetchElement($object, 'as:content', '@value', '@language', 'text/markdown'); + if (!empty($markdown)) { + $object_data['source'] = Markdown::toBBCode($markdown); + return $object_data; + } + + $html = JsonLD::fetchElement($object, 'as:content', '@value', '@language', 'text/html'); + if (!empty($html)) { + $object_data['source'] = HTML::toBBCode($markdown); + return $object_data; + } + + return $object_data; + } + /** * Fetches data from the object part of an activity * @@ -924,8 +972,7 @@ class Receiver $object_data['name'] = JsonLD::fetchElement($object, 'as:name', '@value'); $object_data['summary'] = JsonLD::fetchElement($object, 'as:summary', '@value'); $object_data['content'] = JsonLD::fetchElement($object, 'as:content', '@value'); - $object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/bbcode'); - $object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value'); + $object_data = self::getSource($object, $object_data); $object_data['start-time'] = JsonLD::fetchElement($object, 'as:startTime', '@value'); $object_data['end-time'] = JsonLD::fetchElement($object, 'as:endTime', '@value'); $object_data['location'] = JsonLD::fetchElement($object, 'as:location', 'as:name', '@type', 'as:Place');