]> git.mxchange.org Git - friendica.git/commitdiff
Matrix addresses can be entered in the profile
authorMichael <heluecht@pirati.ca>
Mon, 9 Aug 2021 01:39:09 +0000 (01:39 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 9 Aug 2021 01:39:09 +0000 (01:39 +0000)
28 files changed:
database.sql
doc/database/db_contact.md
doc/database/db_profile.md
src/Content/Widget/VCard.php
src/Model/Contact.php
src/Model/Profile.php
src/Module/Contact.php
src/Module/NoScrape.php
src/Module/Profile/Profile.php
src/Module/Settings/Profile/Index.php
src/Network/Probe.php
static/dbstructure.config.php
static/dbview.config.php
view/lang/C/messages.po
view/templates/contact_edit.tpl
view/templates/profile/profile.tpl
view/templates/profile/vcard.tpl
view/templates/settings/profile/index.tpl
view/templates/widget/vcard.tpl
view/theme/frio/css/style.css
view/theme/frio/templates/contact_edit.tpl
view/theme/frio/templates/profile/vcard.tpl
view/theme/frio/templates/settings/profile/index.tpl
view/theme/frio/templates/widget/vcard.tpl
view/theme/quattro/templates/profile/vcard.tpl
view/theme/vier/templates/contact_edit.tpl
view/theme/vier/templates/profile/vcard.tpl
view/theme/vier/templates/settings/profile/index.tpl

index 1c361b6762b26531f509e1cf8e65aa7fc18898f7..3c2feb59f1c8c5ef25bc414382c38ce312404085 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
 -- Friendica 2021.09-dev (Siberian Iris)
--- DB_UPDATE_VERSION 1431
+-- DB_UPDATE_VERSION 1432
 -- ------------------------------------------
 
 
@@ -126,7 +126,8 @@ CREATE TABLE IF NOT EXISTS `contact` (
        `about` text COMMENT '',
        `keywords` text COMMENT 'public keywords (interests) of the contact',
        `gender` varchar(32) NOT NULL DEFAULT '' COMMENT 'Deprecated',
-       `xmpp` varchar(255) NOT NULL DEFAULT '' COMMENT '',
+       `xmpp` varchar(255) NOT NULL DEFAULT '' COMMENT 'XMPP address',
+       `matrix` varchar(255) NOT NULL DEFAULT '' COMMENT 'Matrix address',
        `attag` varchar(255) NOT NULL DEFAULT '' COMMENT '',
        `avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '',
        `photo` varchar(255) DEFAULT '' COMMENT 'Link to the profile photo of the contact',
@@ -1366,7 +1367,8 @@ CREATE TABLE IF NOT EXISTS `profile` (
        `education` text COMMENT 'Deprecated',
        `contact` text COMMENT 'Deprecated',
        `homepage` varchar(255) NOT NULL DEFAULT '' COMMENT '',
-       `xmpp` varchar(255) NOT NULL DEFAULT '' COMMENT '',
+       `xmpp` varchar(255) NOT NULL DEFAULT '' COMMENT 'XMPP address',
+       `matrix` varchar(255) NOT NULL DEFAULT '' COMMENT 'Matrix address',
        `photo` varchar(255) NOT NULL DEFAULT '' COMMENT '',
        `thumb` varchar(255) NOT NULL DEFAULT '' COMMENT '',
        `publish` boolean NOT NULL DEFAULT '0' COMMENT 'publish default profile in local directory',
@@ -2199,6 +2201,7 @@ CREATE VIEW `owner-view` AS SELECT
        `contact`.`keywords` AS `keywords`,
        `contact`.`gender` AS `gender`,
        `contact`.`xmpp` AS `xmpp`,
+       `contact`.`matrix` AS `matrix`,
        `contact`.`attag` AS `attag`,
        `contact`.`avatar` AS `avatar`,
        `contact`.`photo` AS `photo`,
@@ -2325,6 +2328,7 @@ CREATE VIEW `account-view` AS SELECT
        `contact`.`about` AS `about`,
        `contact`.`keywords` AS `keywords`,
        `contact`.`xmpp` AS `xmpp`,
+       `contact`.`matrix` AS `matrix`,
        `contact`.`avatar` AS `avatar`,
        `contact`.`photo` AS `photo`,
        `contact`.`thumb` AS `thumb`,
@@ -2408,6 +2412,7 @@ CREATE VIEW `account-user-view` AS SELECT
        `contact`.`about` AS `about`,
        `contact`.`keywords` AS `keywords`,
        `contact`.`xmpp` AS `xmpp`,
+       `contact`.`matrix` AS `matrix`,
        `contact`.`avatar` AS `avatar`,
        `contact`.`photo` AS `photo`,
        `contact`.`thumb` AS `thumb`,
index 2d8d292ac4cb3eb5dbf92aefb714f3a0ef37bb23..8eeac17ea701baeccccfec2b8ebb2407bac8d05e 100644 (file)
@@ -24,7 +24,8 @@ Fields
 | about                     |                                                              | text               | YES  |     | NULL                |                |
 | keywords                  | public keywords (interests) of the contact                   | text               | YES  |     | NULL                |                |
 | gender                    | Deprecated                                                   | varchar(32)        | NO   |     |                     |                |
-| xmpp                      |                                                              | varchar(255)       | NO   |     |                     |                |
+| xmpp                      | XMPP address                                                 | varchar(255)       | NO   |     |                     |                |
+| matrix                    | Matrix address                                               | varchar(255)       | NO   |     |                     |                |
 | attag                     |                                                              | varchar(255)       | NO   |     |                     |                |
 | avatar                    |                                                              | varchar(255)       | NO   |     |                     |                |
 | photo                     | Link to the profile photo of the contact                     | varchar(255)       | YES  |     |                     |                |
index 4ea3b56003793e1529594b8645fc5dc5e8825dd0..a8c7f2a210906fa96eddcdc3498d257bc8e01308 100644 (file)
@@ -45,7 +45,8 @@ Fields
 | education    | Deprecated                                    | text               | YES  |     | NULL       |                |
 | contact      | Deprecated                                    | text               | YES  |     | NULL       |                |
 | homepage     |                                               | varchar(255)       | NO   |     |            |                |
-| xmpp         |                                               | varchar(255)       | NO   |     |            |                |
+| xmpp         | XMPP address                                  | varchar(255)       | NO   |     |            |                |
+| matrix       | Matrix address                                | varchar(255)       | NO   |     |            |                |
 | photo        |                                               | varchar(255)       | NO   |     |            |                |
 | thumb        |                                               | varchar(255)       | NO   |     |            |                |
 | publish      | publish default profile in local directory    | boolean            | NO   |     | 0          |                |
index ffe4759f5ca36e15d1cb2ec32c13e6f6677918c7..a44f8f0b4a7ece6400864b04f25135620ebe76da 100644 (file)
@@ -94,6 +94,7 @@ class VCard
                        '$url'              => Contact::magicLinkByContact($contact, $contact['url']),
                        '$about'            => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['about'] ?? ''),
                        '$xmpp'             => DI::l10n()->t('XMPP:'),
+                       '$matrix'           => DI::l10n()->t('Matrix:'),
                        '$location'         => DI::l10n()->t('Location:'),
                        '$network_link'     => $network_link,
                        '$network_avatar'   => $network_avatar,
index 45a3d424ea43c963b1d4c3842d71c6d3f77c6765..609a70718ed2fccd3b6b5737190379d31ba68bce 100644 (file)
@@ -676,7 +676,7 @@ class Contact
        public static function updateSelfFromUserID($uid, $update_avatar = false)
        {
                $fields = ['id', 'name', 'nick', 'location', 'about', 'keywords', 'avatar', 'prvkey', 'pubkey',
-                       'xmpp', 'contact-type', 'forum', 'prv', 'avatar-date', 'url', 'nurl', 'unsearchable',
+                       'xmpp', 'matrix', 'contact-type', 'forum', 'prv', 'avatar-date', 'url', 'nurl', 'unsearchable',
                        'photo', 'thumb', 'micro', 'addr', 'request', 'notify', 'poll', 'confirm', 'poco', 'network'];
                $self = DBA::selectFirst('contact', $fields, ['uid' => $uid, 'self' => true]);
                if (!DBA::isResult($self)) {
@@ -690,7 +690,7 @@ class Contact
                }
 
                $fields = ['name', 'photo', 'thumb', 'about', 'address', 'locality', 'region',
-                       'country-name', 'pub_keywords', 'xmpp', 'net-publish'];
+                       'country-name', 'pub_keywords', 'xmpp', 'matrix', 'net-publish'];
                $profile = DBA::selectFirst('profile', $fields, ['uid' => $uid]);
                if (!DBA::isResult($profile)) {
                        return false;
@@ -702,7 +702,7 @@ class Contact
                        'avatar-date' => $self['avatar-date'], 'location' => Profile::formatLocation($profile),
                        'about' => $profile['about'], 'keywords' => $profile['pub_keywords'],
                        'contact-type' => $user['account-type'], 'prvkey' => $user['prvkey'],
-                       'pubkey' => $user['pubkey'], 'xmpp' => $profile['xmpp'], 'network' => Protocol::DFRN];
+                       'pubkey' => $user['pubkey'], 'xmpp' => $profile['xmpp'], 'matrix' => $profile['matrix'], 'network' => Protocol::DFRN];
 
                // it seems as if ported accounts can have wrong values, so we make sure that now everything is fine.
                $fields['url'] = DI::baseUrl() . '/profile/' . $user['nickname'];
@@ -2064,11 +2064,11 @@ class Contact
                 */
 
                // These fields aren't updated by this routine:
-               // 'xmpp', 'sensitive'
+               // 'sensitive'
 
                $fields = ['uid', 'uri-id', 'avatar', 'header', 'name', 'nick', 'location', 'keywords', 'about', 'subscribe',
                        'manually-approve', 'unsearchable', 'url', 'addr', 'batch', 'notify', 'poll', 'request', 'confirm', 'poco',
-                       'network', 'alias', 'baseurl', 'gsid', 'forum', 'prv', 'contact-type', 'pubkey', 'last-item'];
+                       'network', 'alias', 'baseurl', 'gsid', 'forum', 'prv', 'contact-type', 'pubkey', 'last-item', 'xmpp', 'matrix'];
                $contact = DBA::selectFirst('contact', $fields, ['id' => $id]);
                if (!DBA::isResult($contact)) {
                        return false;
index 1c75201c9722f608fcb817843c50697b40a7d328..80775c9e86b9e09416083a7e8ef3f5af393553ad 100644 (file)
@@ -361,6 +361,7 @@ class Profile
                $homepage = !empty($profile['homepage']) ? DI::l10n()->t('Homepage:') : false;
                $about    = !empty($profile['about'])    ? DI::l10n()->t('About:')    : false;
                $xmpp     = !empty($profile['xmpp'])     ? DI::l10n()->t('XMPP:')     : false;
+               $matrix   = !empty($profile['matrix'])   ? DI::l10n()->t('Matrix:')   : false;
 
                if ((!empty($profile['hidewall']) || $block) && !Session::isAuthenticated()) {
                        $location = $homepage = $about = false;
@@ -439,6 +440,7 @@ class Profile
                $o .= Renderer::replaceMacros($tpl, [
                        '$profile' => $p,
                        '$xmpp' => $xmpp,
+                       '$matrix' => $matrix,
                        '$follow' => DI::l10n()->t('Follow'),
                        '$follow_link' => $follow_link,
                        '$unfollow' => DI::l10n()->t('Unfollow'),
index 1ca681a1eb1b86fbcda1a93ed6eb20307577b211..b63aa0f5d72f04ba20883ee5abe80a95f8fbbb74 100644 (file)
@@ -609,6 +609,8 @@ class Contact extends BaseModule
                                '$location_label' => DI::l10n()->t('Location:'),
                                '$xmpp'           => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['xmpp']),
                                '$xmpp_label'     => DI::l10n()->t('XMPP:'),
+                               '$matrix'         => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['matrix']),
+                               '$matrix_label'   => DI::l10n()->t('Matrix:'),
                                '$about'          => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['about'], BBCode::EXTERNAL),
                                '$about_label'    => DI::l10n()->t('About:'),
                                '$keywords'       => $contact['keywords'],
index 1b97d047f7c1a846722f22e4c3475f65f9055069..aa421f3a8ec1c52467ac02de45bcab4d06695d06 100644 (file)
@@ -120,7 +120,7 @@ class NoScrape extends BaseModule
                $json_info['last-activity'] = date('o-W', $last_active);
 
                //These are optional fields.
-               $profile_fields = ['about', 'locality', 'region', 'postal-code', 'country-name'];
+               $profile_fields = ['about', 'locality', 'region', 'postal-code', 'country-name', 'xmpp', 'matrix'];
                foreach ($profile_fields as $field) {
                        if (!empty($profile[$field])) {
                                $json_info["$field"] = $profile[$field];
index a4fc696854dca5ad1ad843475f0006002a947698..2ef77ff8cb50dbd2427815914df735f561e2bf4b 100644 (file)
@@ -177,6 +177,10 @@ class Profile extends BaseProfile
                        $basic_fields += self::buildField('xmpp', DI::l10n()->t('XMPP:'), $profile['xmpp']);
                }
 
+               if ($profile['matrix']) {
+                       $basic_fields += self::buildField('matrix', DI::l10n()->t('Matrix:'), $profile['matrix']);
+               }
+
                if ($profile['homepage']) {
                        $basic_fields += self::buildField('homepage', DI::l10n()->t('Homepage:'), HTML::toLink($profile['homepage']));
                }
index 35740a0a7e0f375f806ecab3846b84ded471103d..4f4ddbdb3e049fcb39ac033707e61a9eadf1ed15 100644 (file)
@@ -95,6 +95,7 @@ class Index extends BaseSettings
                $pub_keywords = self::cleanKeywords(Strings::escapeTags(trim($_POST['pub_keywords'])));
                $prv_keywords = self::cleanKeywords(Strings::escapeTags(trim($_POST['prv_keywords'])));
                $xmpp = Strings::escapeTags(trim($_POST['xmpp']));
+               $matrix = Strings::escapeTags(trim($_POST['matrix']));
                $homepage = Strings::escapeTags(trim($_POST['homepage']));
                if ((strpos($homepage, 'http') !== 0) && (strlen($homepage))) {
                        // neither http nor https in URL, add them
@@ -123,6 +124,7 @@ class Index extends BaseSettings
                                'postal-code'  => $postal_code,
                                'country-name' => $country_name,
                                'xmpp'         => $xmpp,
+                               'matrix'       => $matrix,
                                'homepage'     => $homepage,
                                'pub_keywords' => $pub_keywords,
                                'prv_keywords' => $prv_keywords,
@@ -242,7 +244,8 @@ class Index extends BaseSettings
                        '$postal_code' => ['postal_code', DI::l10n()->t('Postal/Zip Code:'), $profile['postal-code']],
                        '$country_name' => ['country_name', DI::l10n()->t('Country:'), $profile['country-name']],
                        '$age' => ((intval($profile['dob'])) ? '(' . DI::l10n()->t('Age: ') . DI::l10n()->tt('%d year old', '%d years old', Temporal::getAgeByTimezone($profile['dob'], $a->user['timezone'])) . ')' : ''),
-                       '$xmpp' => ['xmpp', DI::l10n()->t('XMPP (Jabber) address:'), $profile['xmpp'], DI::l10n()->t('The XMPP address will be propagated to your contacts so that they can follow you.')],
+                       '$xmpp' => ['xmpp', DI::l10n()->t('XMPP (Jabber) address:'), $profile['xmpp'], DI::l10n()->t('The XMPP address will be published so that people can follow you there.')],
+                       '$matrix' => ['matrix', DI::l10n()->t('Matrix (Element) address:'), $profile['matrix'], DI::l10n()->t('The Matrix address will be published so that people can follow you there.')],
                        '$homepage' => ['homepage', DI::l10n()->t('Homepage URL:'), $profile['homepage']],
                        '$pub_keywords' => ['pub_keywords', DI::l10n()->t('Public Keywords:'), $profile['pub_keywords'], DI::l10n()->t('(Used for suggesting potential friends, can be seen by others)')],
                        '$prv_keywords' => ['prv_keywords', DI::l10n()->t('Private Keywords:'), $profile['prv_keywords'], DI::l10n()->t('(Used for searching profiles, never shown to others)')],
index c07cc7e605c38dd64b8b28e9a795667ce16517e9..1a4c47a452a0978ce97ed2f2c573c94c7ac5ca35 100644 (file)
@@ -89,8 +89,8 @@ class Probe
        private static function rearrangeData($data)
        {
                $fields = ["name", "nick", "guid", "url", "addr", "alias", "photo", "header",
-                               "account-type", "community", "keywords", "location", "about", "hide",
-                               "batch", "notify", "poll", "request", "confirm", "subscribe", "poco",
+                               "account-type", "community", "keywords", "location", "about", "xmpp", "matrix",
+                               "hide", "batch", "notify", "poll", "request", "confirm", "subscribe", "poco",
                                "following", "followers", "inbox", "outbox", "sharedinbox",
                                "priority", "network", "pubkey", "manually-approve", "baseurl", "gsid"];
 
@@ -1067,6 +1067,14 @@ class Probe
                        $data["about"] = $json["about"];
                }
 
+               if (!empty($json["xmpp"])) {
+                       $data["xmpp"] = $json["xmpp"];
+               }
+
+               if (!empty($json["matrix"])) {
+                       $data["matrix"] = $json["matrix"];
+               }
+
                if (!empty($json["key"])) {
                        $data["pubkey"] = $json["key"];
                }
@@ -2230,6 +2238,7 @@ class Probe
                                'header' => $profile['header'] ? Contact::getHeaderUrlForId($profile['id'], $profile['updated']) : '',
                                'account-type' => $profile['contact-type'], 'community' => ($profile['contact-type'] == User::ACCOUNT_TYPE_COMMUNITY),
                                'keywords' => $profile['keywords'], 'location' => $profile['location'], 'about' => $profile['about'],
+                               'xmpp' => $profile['xmpp'], 'matrix' => $profile['matrix'], 
                                'hide' => !$profile['net-publish'], 'batch' => '', 'notify' => $profile['notify'],
                                'poll' => $profile['poll'], 'request' => $profile['request'], 'confirm' => $profile['confirm'],
                                'subscribe' => $approfile['generator']['url'] . '/follow?url={uri}', 'poco' => $profile['poco'],
index d1cc42033a0cc7a12ba5d4e4cec3a23893b9c1ad..23b64860c3212fc83ac0c712d95847602c52e121 100644 (file)
@@ -55,7 +55,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1431);
+       define('DB_UPDATE_VERSION', 1432);
 }
 
 return [
@@ -184,7 +184,8 @@ return [
                        "about" => ["type" => "text", "comment" => ""],
                        "keywords" => ["type" => "text", "comment" => "public keywords (interests) of the contact"],
                        "gender" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Deprecated"],
-                       "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
+                       "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "XMPP address"],
+                       "matrix" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Matrix address"],
                        "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"],
@@ -1384,7 +1385,8 @@ return [
                        "education" => ["type" => "text", "comment" => "Deprecated"],
                        "contact" => ["type" => "text", "comment" => "Deprecated"],
                        "homepage" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
-                       "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
+                       "xmpp" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "XMPP address"],
+                       "matrix" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "Matrix address"],
                        "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"],
index b2b9875c193b5649e9164c8180fe73bbec6d8e7d..c9acd55ba9ad4ac8904eb8a60d5e49d8493aa32b 100644 (file)
                        "keywords" => ["contact", "keywords"],
                        "gender" => ["contact", "gender"],
                        "xmpp" => ["contact", "xmpp"],
+                       "matrix" => ["contact", "matrix"],
                        "attag" => ["contact", "attag"],
                        "avatar" => ["contact", "avatar"],
                        "photo" => ["contact", "photo"],
                        "about" => ["contact", "about"],
                        "keywords" => ["contact", "keywords"],
                        "xmpp" => ["contact", "xmpp"],
+                       "matrix" => ["contact", "matrix"],
                        "avatar" => ["contact", "avatar"],
                        "photo" => ["contact", "photo"],
                        "thumb" => ["contact", "thumb"],
                        "about" => ["contact", "about"],
                        "keywords" => ["contact", "keywords"],
                        "xmpp" => ["contact", "xmpp"],
+                       "matrix" => ["contact", "matrix"],
                        "avatar" => ["contact", "avatar"],
                        "photo" => ["contact", "photo"],
                        "thumb" => ["contact", "thumb"],
index 6072d40016afd4441c8049f8d6d75496a0d61566..1e02c34ff1b6215a557220a0540776918ff7e5f9 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 2021.09-dev\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-06 05:58+0000\n"
+"POT-Creation-Date: 2021-08-09 01:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -54,7 +54,7 @@ msgstr ""
 msgid "%1$s poked %2$s"
 msgstr ""
 
-#: include/conversation.php:140 src/Model/Item.php:2613
+#: include/conversation.php:140 src/Model/Item.php:2611
 msgid "event"
 msgstr ""
 
@@ -62,7 +62,7 @@ msgstr ""
 msgid "status"
 msgstr ""
 
-#: include/conversation.php:148 mod/tagger.php:90 src/Model/Item.php:2615
+#: include/conversation.php:148 mod/tagger.php:90 src/Model/Item.php:2613
 msgid "photo"
 msgstr ""
 
@@ -77,8 +77,8 @@ msgstr ""
 
 #: include/conversation.php:466 mod/photos.php:1459 mod/settings.php:576
 #: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
-#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:849
-#: src/Module/Contact.php:1151
+#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:851
+#: src/Module/Contact.php:1153
 msgid "Delete"
 msgstr ""
 
@@ -104,7 +104,7 @@ msgstr ""
 msgid "View in context"
 msgstr ""
 
-#: include/conversation.php:539 include/conversation.php:1129
+#: include/conversation.php:539 include/conversation.php:1128
 #: mod/editpost.php:104 mod/message.php:203 mod/message.php:368
 #: mod/photos.php:1523 mod/wallmessage.php:155 src/Module/Item/Compose.php:165
 #: src/Object/Post.php:501
@@ -134,8 +134,8 @@ msgstr ""
 msgid "Tagged"
 msgstr ""
 
-#: include/conversation.php:673 include/conversation.php:1012
-#: include/conversation.php:1050
+#: include/conversation.php:673 include/conversation.php:1011
+#: include/conversation.php:1049
 #, php-format
 msgid "%s reshared this."
 msgstr ""
@@ -180,324 +180,324 @@ msgstr ""
 msgid "Fetched because of %s <%s>"
 msgstr ""
 
-#: include/conversation.php:843 view/theme/frio/theme.php:323
+#: include/conversation.php:842 view/theme/frio/theme.php:323
 msgid "Follow Thread"
 msgstr ""
 
-#: include/conversation.php:844 src/Model/Contact.php:1047
+#: include/conversation.php:843 src/Model/Contact.php:1047
 msgid "View Status"
 msgstr ""
 
-#: include/conversation.php:845 include/conversation.php:867
+#: include/conversation.php:844 include/conversation.php:866
 #: src/Model/Contact.php:973 src/Model/Contact.php:1039
 #: src/Model/Contact.php:1048 src/Module/Directory.php:160
-#: src/Module/Settings/Profile/Index.php:224
+#: src/Module/Settings/Profile/Index.php:226
 msgid "View Profile"
 msgstr ""
 
-#: include/conversation.php:846 src/Model/Contact.php:1049
+#: include/conversation.php:845 src/Model/Contact.php:1049
 msgid "View Photos"
 msgstr ""
 
-#: include/conversation.php:847 src/Model/Contact.php:1040
+#: include/conversation.php:846 src/Model/Contact.php:1040
 #: src/Model/Contact.php:1050
 msgid "Network Posts"
 msgstr ""
 
-#: include/conversation.php:848 src/Model/Contact.php:1041
+#: include/conversation.php:847 src/Model/Contact.php:1041
 #: src/Model/Contact.php:1051
 msgid "View Contact"
 msgstr ""
 
-#: include/conversation.php:849 src/Model/Contact.php:1053
+#: include/conversation.php:848 src/Model/Contact.php:1053
 msgid "Send PM"
 msgstr ""
 
-#: include/conversation.php:850 src/Module/Admin/Blocklist/Contact.php:84
+#: include/conversation.php:849 src/Module/Admin/Blocklist/Contact.php:84
 #: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
-#: src/Module/Contact.php:588 src/Module/Contact.php:846
-#: src/Module/Contact.php:1126
+#: src/Module/Contact.php:588 src/Module/Contact.php:848
+#: src/Module/Contact.php:1128
 msgid "Block"
 msgstr ""
 
-#: include/conversation.php:851 src/Module/Contact.php:589
-#: src/Module/Contact.php:847 src/Module/Contact.php:1134
+#: include/conversation.php:850 src/Module/Contact.php:589
+#: src/Module/Contact.php:849 src/Module/Contact.php:1136
 #: src/Module/Notifications/Introductions.php:113
 #: src/Module/Notifications/Introductions.php:185
 #: src/Module/Notifications/Notification.php:59
 msgid "Ignore"
 msgstr ""
 
-#: include/conversation.php:855 src/Object/Post.php:428
+#: include/conversation.php:854 src/Object/Post.php:428
 msgid "Languages"
 msgstr ""
 
-#: include/conversation.php:859 src/Model/Contact.php:1054
+#: include/conversation.php:858 src/Model/Contact.php:1054
 msgid "Poke"
 msgstr ""
 
-#: include/conversation.php:864 mod/follow.php:139 src/Content/Widget.php:76
+#: include/conversation.php:863 mod/follow.php:139 src/Content/Widget.php:76
 #: src/Model/Contact.php:1042 src/Model/Contact.php:1055
 #: view/theme/vier/theme.php:172
 msgid "Connect/Follow"
 msgstr ""
 
-#: include/conversation.php:997
+#: include/conversation.php:996
 #, php-format
 msgid "%s likes this."
 msgstr ""
 
-#: include/conversation.php:1000
+#: include/conversation.php:999
 #, php-format
 msgid "%s doesn't like this."
 msgstr ""
 
-#: include/conversation.php:1003
+#: include/conversation.php:1002
 #, php-format
 msgid "%s attends."
 msgstr ""
 
-#: include/conversation.php:1006
+#: include/conversation.php:1005
 #, php-format
 msgid "%s doesn't attend."
 msgstr ""
 
-#: include/conversation.php:1009
+#: include/conversation.php:1008
 #, php-format
 msgid "%s attends maybe."
 msgstr ""
 
-#: include/conversation.php:1018
+#: include/conversation.php:1017
 msgid "and"
 msgstr ""
 
-#: include/conversation.php:1021
+#: include/conversation.php:1020
 #, php-format
 msgid "and %d other people"
 msgstr ""
 
-#: include/conversation.php:1029
+#: include/conversation.php:1028
 #, php-format
 msgid "<span  %1$s>%2$d people</span> like this"
 msgstr ""
 
-#: include/conversation.php:1030
+#: include/conversation.php:1029
 #, php-format
 msgid "%s like this."
 msgstr ""
 
-#: include/conversation.php:1033
+#: include/conversation.php:1032
 #, php-format
 msgid "<span  %1$s>%2$d people</span> don't like this"
 msgstr ""
 
-#: include/conversation.php:1034
+#: include/conversation.php:1033
 #, php-format
 msgid "%s don't like this."
 msgstr ""
 
-#: include/conversation.php:1037
+#: include/conversation.php:1036
 #, php-format
 msgid "<span  %1$s>%2$d people</span> attend"
 msgstr ""
 
-#: include/conversation.php:1038
+#: include/conversation.php:1037
 #, php-format
 msgid "%s attend."
 msgstr ""
 
-#: include/conversation.php:1041
+#: include/conversation.php:1040
 #, php-format
 msgid "<span  %1$s>%2$d people</span> don't attend"
 msgstr ""
 
-#: include/conversation.php:1042
+#: include/conversation.php:1041
 #, php-format
 msgid "%s don't attend."
 msgstr ""
 
-#: include/conversation.php:1045
+#: include/conversation.php:1044
 #, php-format
 msgid "<span  %1$s>%2$d people</span> attend maybe"
 msgstr ""
 
-#: include/conversation.php:1046
+#: include/conversation.php:1045
 #, php-format
 msgid "%s attend maybe."
 msgstr ""
 
-#: include/conversation.php:1049
+#: include/conversation.php:1048
 #, php-format
 msgid "<span  %1$s>%2$d people</span> reshared this"
 msgstr ""
 
-#: include/conversation.php:1081
+#: include/conversation.php:1080
 msgid "Visible to <strong>everybody</strong>"
 msgstr ""
 
-#: include/conversation.php:1082 src/Module/Item/Compose.php:159
+#: include/conversation.php:1081 src/Module/Item/Compose.php:159
 #: src/Object/Post.php:972
 msgid "Please enter a image/video/audio/webpage URL:"
 msgstr ""
 
-#: include/conversation.php:1083
+#: include/conversation.php:1082
 msgid "Tag term:"
 msgstr ""
 
-#: include/conversation.php:1084 src/Module/Filer/SaveTag.php:68
+#: include/conversation.php:1083 src/Module/Filer/SaveTag.php:68
 msgid "Save to Folder:"
 msgstr ""
 
-#: include/conversation.php:1085
+#: include/conversation.php:1084
 msgid "Where are you right now?"
 msgstr ""
 
-#: include/conversation.php:1086
+#: include/conversation.php:1085
 msgid "Delete item(s)?"
 msgstr ""
 
-#: include/conversation.php:1096
+#: include/conversation.php:1095
 msgid "New Post"
 msgstr ""
 
-#: include/conversation.php:1099
+#: include/conversation.php:1098
 msgid "Share"
 msgstr ""
 
-#: include/conversation.php:1100 mod/editpost.php:89 mod/photos.php:1372
+#: include/conversation.php:1099 mod/editpost.php:89 mod/photos.php:1372
 #: src/Module/Contact/Poke.php:156 src/Object/Post.php:963
 msgid "Loading..."
 msgstr ""
 
-#: include/conversation.php:1101 mod/editpost.php:90 mod/message.php:201
+#: include/conversation.php:1100 mod/editpost.php:90 mod/message.php:201
 #: mod/message.php:365 mod/wallmessage.php:153
 msgid "Upload photo"
 msgstr ""
 
-#: include/conversation.php:1102 mod/editpost.php:91
+#: include/conversation.php:1101 mod/editpost.php:91
 msgid "upload photo"
 msgstr ""
 
-#: include/conversation.php:1103 mod/editpost.php:92
+#: include/conversation.php:1102 mod/editpost.php:92
 msgid "Attach file"
 msgstr ""
 
-#: include/conversation.php:1104 mod/editpost.php:93
+#: include/conversation.php:1103 mod/editpost.php:93
 msgid "attach file"
 msgstr ""
 
-#: include/conversation.php:1105 src/Module/Item/Compose.php:151
+#: include/conversation.php:1104 src/Module/Item/Compose.php:151
 #: src/Object/Post.php:964
 msgid "Bold"
 msgstr ""
 
-#: include/conversation.php:1106 src/Module/Item/Compose.php:152
+#: include/conversation.php:1105 src/Module/Item/Compose.php:152
 #: src/Object/Post.php:965
 msgid "Italic"
 msgstr ""
 
-#: include/conversation.php:1107 src/Module/Item/Compose.php:153
+#: include/conversation.php:1106 src/Module/Item/Compose.php:153
 #: src/Object/Post.php:966
 msgid "Underline"
 msgstr ""
 
-#: include/conversation.php:1108 src/Module/Item/Compose.php:154
+#: include/conversation.php:1107 src/Module/Item/Compose.php:154
 #: src/Object/Post.php:967
 msgid "Quote"
 msgstr ""
 
-#: include/conversation.php:1109 src/Module/Item/Compose.php:155
+#: include/conversation.php:1108 src/Module/Item/Compose.php:155
 #: src/Object/Post.php:968
 msgid "Code"
 msgstr ""
 
-#: include/conversation.php:1110 src/Module/Item/Compose.php:156
+#: include/conversation.php:1109 src/Module/Item/Compose.php:156
 #: src/Object/Post.php:969
 msgid "Image"
 msgstr ""
 
-#: include/conversation.php:1111 src/Module/Item/Compose.php:157
+#: include/conversation.php:1110 src/Module/Item/Compose.php:157
 #: src/Object/Post.php:970
 msgid "Link"
 msgstr ""
 
-#: include/conversation.php:1112 src/Module/Item/Compose.php:158
+#: include/conversation.php:1111 src/Module/Item/Compose.php:158
 #: src/Object/Post.php:971
 msgid "Link or Media"
 msgstr ""
 
-#: include/conversation.php:1113
+#: include/conversation.php:1112
 msgid "Video"
 msgstr ""
 
-#: include/conversation.php:1114 mod/editpost.php:100
+#: include/conversation.php:1113 mod/editpost.php:100
 #: src/Module/Item/Compose.php:161
 msgid "Set your location"
 msgstr ""
 
-#: include/conversation.php:1115 mod/editpost.php:101
+#: include/conversation.php:1114 mod/editpost.php:101
 msgid "set location"
 msgstr ""
 
-#: include/conversation.php:1116 mod/editpost.php:102
+#: include/conversation.php:1115 mod/editpost.php:102
 msgid "Clear browser location"
 msgstr ""
 
-#: include/conversation.php:1117 mod/editpost.php:103
+#: include/conversation.php:1116 mod/editpost.php:103
 msgid "clear location"
 msgstr ""
 
-#: include/conversation.php:1119 mod/editpost.php:117
+#: include/conversation.php:1118 mod/editpost.php:117
 #: src/Module/Item/Compose.php:166
 msgid "Set title"
 msgstr ""
 
-#: include/conversation.php:1121 mod/editpost.php:119
+#: include/conversation.php:1120 mod/editpost.php:119
 #: src/Module/Item/Compose.php:167
 msgid "Categories (comma-separated list)"
 msgstr ""
 
-#: include/conversation.php:1126 src/Module/Item/Compose.php:172
+#: include/conversation.php:1125 src/Module/Item/Compose.php:172
 msgid "Scheduled at"
 msgstr ""
 
-#: include/conversation.php:1130 mod/editpost.php:105
+#: include/conversation.php:1129 mod/editpost.php:105
 msgid "Permission settings"
 msgstr ""
 
-#: include/conversation.php:1131 mod/editpost.php:133 mod/events.php:583
+#: include/conversation.php:1130 mod/editpost.php:133 mod/events.php:583
 #: mod/photos.php:959 mod/photos.php:1325
 msgid "Permissions"
 msgstr ""
 
-#: include/conversation.php:1140 mod/editpost.php:114
+#: include/conversation.php:1139 mod/editpost.php:114
 msgid "Public post"
 msgstr ""
 
-#: include/conversation.php:1144 mod/editpost.php:125 mod/events.php:578
+#: include/conversation.php:1143 mod/editpost.php:125 mod/events.php:578
 #: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501
 #: src/Module/Item/Compose.php:160 src/Object/Post.php:973
 msgid "Preview"
 msgstr ""
 
-#: include/conversation.php:1147 mod/editpost.php:127 mod/fbrowser.php:105
+#: include/conversation.php:1146 mod/editpost.php:127 mod/fbrowser.php:105
 #: mod/fbrowser.php:134 mod/follow.php:145 mod/photos.php:1027
 #: mod/photos.php:1133 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97
 #: src/Module/Contact.php:424 src/Module/RemoteFollow.php:112
 msgid "Cancel"
 msgstr ""
 
-#: include/conversation.php:1154 mod/editpost.php:131
-#: src/Content/Widget/VCard.php:106 src/Model/Profile.php:448
+#: include/conversation.php:1153 mod/editpost.php:131
+#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:450
 msgid "Message"
 msgstr ""
 
-#: include/conversation.php:1155 mod/editpost.php:132
+#: include/conversation.php:1154 mod/editpost.php:132
 #: src/Module/Settings/TwoFactor/Trusted.php:101
 msgid "Browser"
 msgstr ""
 
-#: include/conversation.php:1157 mod/editpost.php:135
+#: include/conversation.php:1156 mod/editpost.php:135
 msgid "Open Compose page"
 msgstr ""
 
@@ -1061,15 +1061,15 @@ msgid "Adjust for viewer timezone"
 msgstr ""
 
 #: mod/events.php:566 src/Module/Profile/Profile.php:173
-#: src/Module/Settings/Profile/Index.php:237
+#: src/Module/Settings/Profile/Index.php:239
 msgid "Description:"
 msgstr ""
 
-#: mod/events.php:568 src/Content/Widget/VCard.php:97 src/Model/Event.php:86
+#: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86
 #: src/Model/Event.php:113 src/Model/Event.php:459 src/Model/Event.php:945
 #: src/Model/Profile.php:358 src/Module/Contact.php:609
 #: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166
-#: src/Module/Profile/Profile.php:191
+#: src/Module/Profile/Profile.php:195
 msgid "Location:"
 msgstr ""
 
@@ -1092,19 +1092,19 @@ msgstr ""
 #: src/Module/Delegation.php:153 src/Module/FriendSuggest.php:129
 #: src/Module/Install.php:245 src/Module/Install.php:287
 #: src/Module/Install.php:324 src/Module/Invite.php:174
-#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:244
-#: src/Module/Settings/Profile/Index.php:221 src/Object/Post.php:962
+#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:248
+#: src/Module/Settings/Profile/Index.php:223 src/Object/Post.php:962
 #: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
 #: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
 msgid "Submit"
 msgstr ""
 
-#: mod/events.php:581 src/Module/Profile/Profile.php:245
+#: mod/events.php:581 src/Module/Profile/Profile.php:249
 msgid "Basic"
 msgstr ""
 
-#: mod/events.php:582 src/Module/Admin/Site.php:506 src/Module/Contact.php:916
-#: src/Module/Profile/Profile.php:246
+#: mod/events.php:582 src/Module/Admin/Site.php:506 src/Module/Contact.php:918
+#: src/Module/Profile/Profile.php:250
 msgid "Advanced"
 msgstr ""
 
@@ -1161,9 +1161,9 @@ msgstr ""
 msgid "Profile URL"
 msgstr ""
 
-#: mod/follow.php:143 src/Module/Contact.php:615
+#: mod/follow.php:143 src/Module/Contact.php:617
 #: src/Module/Notifications/Introductions.php:170
-#: src/Module/Profile/Profile.php:204
+#: src/Module/Profile/Profile.php:208
 msgid "Tags:"
 msgstr ""
 
@@ -1177,7 +1177,7 @@ msgid "Add a personal note:"
 msgstr ""
 
 #: mod/follow.php:164 mod/unfollow.php:109 src/Module/BaseProfile.php:61
-#: src/Module/Contact.php:894
+#: src/Module/Contact.php:896
 msgid "Status Messages and Posts"
 msgstr ""
 
@@ -1740,7 +1740,7 @@ msgid "Rotate CCW (left)"
 msgstr ""
 
 #: mod/photos.php:1367 mod/photos.php:1423 mod/photos.php:1497
-#: src/Module/Contact.php:1057 src/Module/Item/Compose.php:148
+#: src/Module/Contact.php:1059 src/Module/Item/Compose.php:148
 #: src/Object/Post.php:959
 msgid "This is you"
 msgstr ""
@@ -2782,16 +2782,16 @@ msgid "All contacts"
 msgstr ""
 
 #: src/BaseModule.php:214 src/Content/Widget.php:238 src/Core/ACL.php:183
-#: src/Module/Contact.php:815 src/Module/PermissionTooltip.php:77
+#: src/Module/Contact.php:817 src/Module/PermissionTooltip.php:77
 #: src/Module/PermissionTooltip.php:99
 msgid "Followers"
 msgstr ""
 
-#: src/BaseModule.php:219 src/Content/Widget.php:239 src/Module/Contact.php:816
+#: src/BaseModule.php:219 src/Content/Widget.php:239 src/Module/Contact.php:818
 msgid "Following"
 msgstr ""
 
-#: src/BaseModule.php:224 src/Content/Widget.php:240 src/Module/Contact.php:817
+#: src/BaseModule.php:224 src/Content/Widget.php:240 src/Module/Contact.php:819
 msgid "Mutual friends"
 msgstr ""
 
@@ -3148,7 +3148,7 @@ msgid "Sign in"
 msgstr ""
 
 #: src/Content/Nav.php:191 src/Module/BaseProfile.php:58
-#: src/Module/Contact.php:618 src/Module/Contact.php:883
+#: src/Module/Contact.php:620 src/Module/Contact.php:885
 #: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226
 msgid "Status"
 msgstr ""
@@ -3159,8 +3159,8 @@ msgid "Your posts and conversations"
 msgstr ""
 
 #: src/Content/Nav.php:192 src/Module/BaseProfile.php:50
-#: src/Module/BaseSettings.php:57 src/Module/Contact.php:620
-#: src/Module/Contact.php:899 src/Module/Profile/Profile.php:238
+#: src/Module/BaseSettings.php:57 src/Module/Contact.php:622
+#: src/Module/Contact.php:901 src/Module/Profile/Profile.php:242
 #: src/Module/Welcome.php:57 view/theme/frio/theme.php:227
 msgid "Profile"
 msgstr ""
@@ -3246,8 +3246,8 @@ msgstr ""
 
 #: src/Content/Nav.php:239 src/Content/Nav.php:298
 #: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:128
-#: src/Module/BaseProfile.php:131 src/Module/Contact.php:818
-#: src/Module/Contact.php:906 view/theme/frio/theme.php:237
+#: src/Module/BaseProfile.php:131 src/Module/Contact.php:820
+#: src/Module/Contact.php:908 view/theme/frio/theme.php:237
 msgid "Contacts"
 msgstr ""
 
@@ -3404,8 +3404,8 @@ msgid ""
 "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
 msgstr ""
 
-#: src/Content/Text/BBCode.php:1177 src/Model/Item.php:3141
-#: src/Model/Item.php:3147 src/Model/Item.php:3148
+#: src/Content/Text/BBCode.php:1177 src/Model/Item.php:3139
+#: src/Model/Item.php:3145 src/Model/Item.php:3146
 msgid "Link to source"
 msgstr ""
 
@@ -3437,8 +3437,8 @@ msgstr ""
 msgid "The end"
 msgstr ""
 
-#: src/Content/Text/HTML.php:885 src/Content/Widget/VCard.php:102
-#: src/Model/Profile.php:442
+#: src/Content/Text/HTML.php:885 src/Content/Widget/VCard.php:103
+#: src/Model/Profile.php:444
 msgid "Follow"
 msgstr ""
 
@@ -3477,7 +3477,7 @@ msgstr ""
 msgid "Examples: Robert Morgenstein, Fishing"
 msgstr ""
 
-#: src/Content/Widget.php:78 src/Module/Contact.php:839
+#: src/Content/Widget.php:78 src/Module/Contact.php:841
 #: src/Module/Directory.php:99 view/theme/vier/theme.php:174
 msgid "Find"
 msgstr ""
@@ -3504,7 +3504,7 @@ msgid "Local Directory"
 msgstr ""
 
 #: src/Content/Widget.php:214 src/Model/Group.php:535
-#: src/Module/Contact.php:802 src/Module/Welcome.php:76
+#: src/Module/Contact.php:804 src/Module/Welcome.php:76
 msgid "Groups"
 msgstr ""
 
@@ -3516,7 +3516,7 @@ msgstr ""
 msgid "Relationships"
 msgstr ""
 
-#: src/Content/Widget.php:247 src/Module/Contact.php:754
+#: src/Content/Widget.php:247 src/Module/Contact.php:756
 #: src/Module/Group.php:292
 msgid "All Contacts"
 msgstr ""
@@ -3619,16 +3619,21 @@ msgstr ""
 msgid "XMPP:"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:100 src/Model/Profile.php:454
+#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:364
+#: src/Module/Contact.php:613 src/Module/Profile/Profile.php:181
+msgid "Matrix:"
+msgstr ""
+
+#: src/Content/Widget/VCard.php:101 src/Model/Profile.php:456
 #: src/Module/Notifications/Introductions.php:180
 msgid "Network:"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:104 src/Model/Profile.php:444
+#: src/Content/Widget/VCard.php:105 src/Model/Profile.php:446
 msgid "Unfollow"
 msgstr ""
 
-#: src/Core/ACL.php:154 src/Module/Profile/Profile.php:239
+#: src/Core/ACL.php:154 src/Module/Profile/Profile.php:243
 msgid "Yourself"
 msgstr ""
 
@@ -4590,33 +4595,33 @@ msgstr ""
 msgid "Edit groups"
 msgstr ""
 
-#: src/Model/Item.php:1667
+#: src/Model/Item.php:1665
 #, php-format
 msgid "Detected languages in this post:\\n%s"
 msgstr ""
 
-#: src/Model/Item.php:2617
+#: src/Model/Item.php:2615
 msgid "activity"
 msgstr ""
 
-#: src/Model/Item.php:2619
+#: src/Model/Item.php:2617
 msgid "comment"
 msgstr ""
 
-#: src/Model/Item.php:2622
+#: src/Model/Item.php:2620
 msgid "post"
 msgstr ""
 
-#: src/Model/Item.php:2759
+#: src/Model/Item.php:2757
 #, php-format
 msgid "Content warning: %s"
 msgstr ""
 
-#: src/Model/Item.php:3106
+#: src/Model/Item.php:3104
 msgid "bytes"
 msgstr ""
 
-#: src/Model/Item.php:3135 src/Model/Item.php:3136
+#: src/Model/Item.php:3133 src/Model/Item.php:3134
 msgid "View on separate page"
 msgstr ""
 
@@ -4624,8 +4629,8 @@ msgstr ""
 msgid "[no subject]"
 msgstr ""
 
-#: src/Model/Profile.php:346 src/Module/Profile/Profile.php:253
-#: src/Module/Profile/Profile.php:255
+#: src/Model/Profile.php:346 src/Module/Profile/Profile.php:257
+#: src/Module/Profile/Profile.php:259
 msgid "Edit profile"
 msgstr ""
 
@@ -4634,52 +4639,52 @@ msgid "Change profile photo"
 msgstr ""
 
 #: src/Model/Profile.php:361 src/Module/Directory.php:155
-#: src/Module/Profile/Profile.php:181
+#: src/Module/Profile/Profile.php:185
 msgid "Homepage:"
 msgstr ""
 
-#: src/Model/Profile.php:362 src/Module/Contact.php:613
+#: src/Model/Profile.php:362 src/Module/Contact.php:615
 #: src/Module/Notifications/Introductions.php:168
 msgid "About:"
 msgstr ""
 
-#: src/Model/Profile.php:446
+#: src/Model/Profile.php:448
 msgid "Atom feed"
 msgstr ""
 
-#: src/Model/Profile.php:484 src/Model/Profile.php:581
+#: src/Model/Profile.php:486 src/Model/Profile.php:583
 msgid "g A l F d"
 msgstr ""
 
-#: src/Model/Profile.php:485
+#: src/Model/Profile.php:487
 msgid "F d"
 msgstr ""
 
-#: src/Model/Profile.php:547 src/Model/Profile.php:632
+#: src/Model/Profile.php:549 src/Model/Profile.php:634
 msgid "[today]"
 msgstr ""
 
-#: src/Model/Profile.php:557
+#: src/Model/Profile.php:559
 msgid "Birthday Reminders"
 msgstr ""
 
-#: src/Model/Profile.php:558
+#: src/Model/Profile.php:560
 msgid "Birthdays this week:"
 msgstr ""
 
-#: src/Model/Profile.php:619
+#: src/Model/Profile.php:621
 msgid "[No description]"
 msgstr ""
 
-#: src/Model/Profile.php:645
+#: src/Model/Profile.php:647
 msgid "Event Reminders"
 msgstr ""
 
-#: src/Model/Profile.php:646
+#: src/Model/Profile.php:648
 msgid "Upcoming events the next 7 days:"
 msgstr ""
 
-#: src/Model/Profile.php:834
+#: src/Model/Profile.php:836
 #, php-format
 msgid "OpenWebAuth: %1$s welcomes %2$s"
 msgstr ""
@@ -5061,8 +5066,8 @@ msgstr ""
 msgid "List of active accounts"
 msgstr ""
 
-#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:762
-#: src/Module/Contact.php:822
+#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:764
+#: src/Module/Contact.php:824
 msgid "Pending"
 msgstr ""
 
@@ -5070,8 +5075,8 @@ msgstr ""
 msgid "List of pending registrations"
 msgstr ""
 
-#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:770
-#: src/Module/Contact.php:823
+#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:772
+#: src/Module/Contact.php:825
 msgid "Blocked"
 msgstr ""
 
@@ -5128,8 +5133,8 @@ msgstr ""
 
 #: src/Module/Admin/Blocklist/Contact.php:85
 #: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
-#: src/Module/Contact.php:588 src/Module/Contact.php:846
-#: src/Module/Contact.php:1126
+#: src/Module/Contact.php:588 src/Module/Contact.php:848
+#: src/Module/Contact.php:1128
 msgid "Unblock"
 msgstr ""
 
@@ -7089,7 +7094,7 @@ msgstr ""
 msgid "Too Many Requests"
 msgstr ""
 
-#: src/Module/BaseProfile.php:53 src/Module/Contact.php:902
+#: src/Module/BaseProfile.php:53 src/Module/Contact.php:904
 msgid "Profile Details"
 msgstr ""
 
@@ -7207,7 +7212,7 @@ msgstr ""
 msgid "Drop contact"
 msgstr ""
 
-#: src/Module/Contact.php:420 src/Module/Contact.php:842
+#: src/Module/Contact.php:420 src/Module/Contact.php:844
 msgid "Do you really want to delete this contact?"
 msgstr ""
 
@@ -7251,7 +7256,7 @@ msgstr ""
 msgid "(Update was successful)"
 msgstr ""
 
-#: src/Module/Contact.php:498 src/Module/Contact.php:1097
+#: src/Module/Contact.php:498 src/Module/Contact.php:1099
 msgid "Suggest friends"
 msgstr ""
 
@@ -7325,7 +7330,7 @@ msgstr ""
 msgid "Edit contact notes"
 msgstr ""
 
-#: src/Module/Contact.php:574 src/Module/Contact.php:1065
+#: src/Module/Contact.php:574 src/Module/Contact.php:1067
 #, php-format
 msgid "Visit %s's profile [%s]"
 msgstr ""
@@ -7350,12 +7355,12 @@ msgstr ""
 msgid "Update public posts"
 msgstr ""
 
-#: src/Module/Contact.php:586 src/Module/Contact.php:1107
+#: src/Module/Contact.php:586 src/Module/Contact.php:1109
 msgid "Update now"
 msgstr ""
 
-#: src/Module/Contact.php:589 src/Module/Contact.php:847
-#: src/Module/Contact.php:1134
+#: src/Module/Contact.php:589 src/Module/Contact.php:849
+#: src/Module/Contact.php:1136
 msgid "Unignore"
 msgstr ""
 
@@ -7402,139 +7407,139 @@ msgid ""
 "when \"Fetch information and keywords\" is selected"
 msgstr ""
 
-#: src/Module/Contact.php:616 src/Module/Settings/TwoFactor/Index.php:132
+#: src/Module/Contact.php:618 src/Module/Settings/TwoFactor/Index.php:132
 msgid "Actions"
 msgstr ""
 
-#: src/Module/Contact.php:623
+#: src/Module/Contact.php:625
 msgid "Mirror postings from this contact"
 msgstr ""
 
-#: src/Module/Contact.php:625
+#: src/Module/Contact.php:627
 msgid ""
 "Mark this contact as remote_self, this will cause friendica to repost new "
 "entries from this contact."
 msgstr ""
 
-#: src/Module/Contact.php:757
+#: src/Module/Contact.php:759
 msgid "Show all contacts"
 msgstr ""
 
-#: src/Module/Contact.php:765
+#: src/Module/Contact.php:767
 msgid "Only show pending contacts"
 msgstr ""
 
-#: src/Module/Contact.php:773
+#: src/Module/Contact.php:775
 msgid "Only show blocked contacts"
 msgstr ""
 
-#: src/Module/Contact.php:778 src/Module/Contact.php:825
+#: src/Module/Contact.php:780 src/Module/Contact.php:827
 #: src/Object/Post.php:308
 msgid "Ignored"
 msgstr ""
 
-#: src/Module/Contact.php:781
+#: src/Module/Contact.php:783
 msgid "Only show ignored contacts"
 msgstr ""
 
-#: src/Module/Contact.php:786 src/Module/Contact.php:826
+#: src/Module/Contact.php:788 src/Module/Contact.php:828
 msgid "Archived"
 msgstr ""
 
-#: src/Module/Contact.php:789
+#: src/Module/Contact.php:791
 msgid "Only show archived contacts"
 msgstr ""
 
-#: src/Module/Contact.php:794 src/Module/Contact.php:824
+#: src/Module/Contact.php:796 src/Module/Contact.php:826
 msgid "Hidden"
 msgstr ""
 
-#: src/Module/Contact.php:797
+#: src/Module/Contact.php:799
 msgid "Only show hidden contacts"
 msgstr ""
 
-#: src/Module/Contact.php:805
+#: src/Module/Contact.php:807
 msgid "Organize your contact groups"
 msgstr ""
 
-#: src/Module/Contact.php:837
+#: src/Module/Contact.php:839
 msgid "Search your contacts"
 msgstr ""
 
-#: src/Module/Contact.php:838 src/Module/Search/Index.php:194
+#: src/Module/Contact.php:840 src/Module/Search/Index.php:194
 #, php-format
 msgid "Results for: %s"
 msgstr ""
 
-#: src/Module/Contact.php:845
+#: src/Module/Contact.php:847
 msgid "Update"
 msgstr ""
 
-#: src/Module/Contact.php:848 src/Module/Contact.php:1143
+#: src/Module/Contact.php:850 src/Module/Contact.php:1145
 msgid "Archive"
 msgstr ""
 
-#: src/Module/Contact.php:848 src/Module/Contact.php:1143
+#: src/Module/Contact.php:850 src/Module/Contact.php:1145
 msgid "Unarchive"
 msgstr ""
 
-#: src/Module/Contact.php:851
+#: src/Module/Contact.php:853
 msgid "Batch Actions"
 msgstr ""
 
-#: src/Module/Contact.php:886
+#: src/Module/Contact.php:888
 msgid "Conversations started by this contact"
 msgstr ""
 
-#: src/Module/Contact.php:891
+#: src/Module/Contact.php:893
 msgid "Posts and Comments"
 msgstr ""
 
-#: src/Module/Contact.php:909
+#: src/Module/Contact.php:911
 msgid "View all known contacts"
 msgstr ""
 
-#: src/Module/Contact.php:919
+#: src/Module/Contact.php:921
 msgid "Advanced Contact Settings"
 msgstr ""
 
-#: src/Module/Contact.php:1024
+#: src/Module/Contact.php:1026
 msgid "Mutual Friendship"
 msgstr ""
 
-#: src/Module/Contact.php:1028
+#: src/Module/Contact.php:1030
 msgid "is a fan of yours"
 msgstr ""
 
-#: src/Module/Contact.php:1032
+#: src/Module/Contact.php:1034
 msgid "you are a fan of"
 msgstr ""
 
-#: src/Module/Contact.php:1050
+#: src/Module/Contact.php:1052
 msgid "Pending outgoing contact request"
 msgstr ""
 
-#: src/Module/Contact.php:1052
+#: src/Module/Contact.php:1054
 msgid "Pending incoming contact request"
 msgstr ""
 
-#: src/Module/Contact.php:1117
+#: src/Module/Contact.php:1119
 msgid "Refetch contact data"
 msgstr ""
 
-#: src/Module/Contact.php:1128
+#: src/Module/Contact.php:1130
 msgid "Toggle Blocked status"
 msgstr ""
 
-#: src/Module/Contact.php:1136
+#: src/Module/Contact.php:1138
 msgid "Toggle Ignored status"
 msgstr ""
 
-#: src/Module/Contact.php:1145
+#: src/Module/Contact.php:1147
 msgid "Toggle Archive status"
 msgstr ""
 
-#: src/Module/Contact.php:1153
+#: src/Module/Contact.php:1155
 msgid "Delete contact"
 msgstr ""
 
@@ -7750,7 +7755,7 @@ msgid "Sort by post received date"
 msgstr ""
 
 #: src/Module/Conversation/Network.php:259
-#: src/Module/Settings/Profile/Index.php:226
+#: src/Module/Settings/Profile/Index.php:228
 msgid "Personal"
 msgstr ""
 
@@ -7974,7 +7979,7 @@ msgid "Twitter Source / Tweet URL (requires API key)"
 msgstr ""
 
 #: src/Module/Debug/Feed.php:38 src/Module/Filer/SaveTag.php:40
-#: src/Module/Settings/Profile/Index.php:142
+#: src/Module/Settings/Profile/Index.php:144
 msgid "You must be logged in to use this module"
 msgstr ""
 
@@ -8741,12 +8746,12 @@ msgstr ""
 msgid "Birthday:"
 msgstr ""
 
-#: src/Module/Profile/Profile.php:168 src/Module/Settings/Profile/Index.php:244
+#: src/Module/Profile/Profile.php:168 src/Module/Settings/Profile/Index.php:246
 #: src/Util/Temporal.php:165
 msgid "Age: "
 msgstr ""
 
-#: src/Module/Profile/Profile.php:168 src/Module/Settings/Profile/Index.php:244
+#: src/Module/Profile/Profile.php:168 src/Module/Settings/Profile/Index.php:246
 #: src/Util/Temporal.php:165
 #, php-format
 msgid "%d year old"
@@ -8754,32 +8759,32 @@ msgid_plural "%d years old"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/Module/Profile/Profile.php:231
+#: src/Module/Profile/Profile.php:235
 msgid "Forums:"
 msgstr ""
 
-#: src/Module/Profile/Profile.php:243
+#: src/Module/Profile/Profile.php:247
 msgid "View profile as:"
 msgstr ""
 
-#: src/Module/Profile/Profile.php:260
+#: src/Module/Profile/Profile.php:264
 msgid "View as"
 msgstr ""
 
-#: src/Module/Profile/Profile.php:323 src/Module/Profile/Profile.php:326
+#: src/Module/Profile/Profile.php:327 src/Module/Profile/Profile.php:330
 #: src/Module/Profile/Status.php:65 src/Module/Profile/Status.php:68
 #: src/Protocol/Feed.php:946 src/Protocol/OStatus.php:1256
 #, php-format
 msgid "%s's timeline"
 msgstr ""
 
-#: src/Module/Profile/Profile.php:324 src/Module/Profile/Status.php:66
+#: src/Module/Profile/Profile.php:328 src/Module/Profile/Status.php:66
 #: src/Protocol/Feed.php:950 src/Protocol/OStatus.php:1260
 #, php-format
 msgid "%s's posts"
 msgstr ""
 
-#: src/Module/Profile/Profile.php:325 src/Module/Profile/Status.php:67
+#: src/Module/Profile/Profile.php:329 src/Module/Profile/Status.php:67
 #: src/Protocol/Feed.php:953 src/Protocol/OStatus.php:1263
 #, php-format
 msgid "%s's comments"
@@ -9327,122 +9332,129 @@ msgstr ""
 msgid "Profile Name is required."
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:134
+#: src/Module/Settings/Profile/Index.php:136
 msgid "Profile couldn't be updated."
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:171
-#: src/Module/Settings/Profile/Index.php:191
+#: src/Module/Settings/Profile/Index.php:173
+#: src/Module/Settings/Profile/Index.php:193
 msgid "Label:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:172
-#: src/Module/Settings/Profile/Index.php:192
+#: src/Module/Settings/Profile/Index.php:174
+#: src/Module/Settings/Profile/Index.php:194
 msgid "Value:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:182
-#: src/Module/Settings/Profile/Index.php:202
+#: src/Module/Settings/Profile/Index.php:184
+#: src/Module/Settings/Profile/Index.php:204
 msgid "Field Permissions"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:183
-#: src/Module/Settings/Profile/Index.php:203
+#: src/Module/Settings/Profile/Index.php:185
+#: src/Module/Settings/Profile/Index.php:205
 msgid "(click to open/close)"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:189
+#: src/Module/Settings/Profile/Index.php:191
 msgid "Add a new profile field"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:219
+#: src/Module/Settings/Profile/Index.php:221
 msgid "Profile Actions"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:220
+#: src/Module/Settings/Profile/Index.php:222
 msgid "Edit Profile Details"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:222
+#: src/Module/Settings/Profile/Index.php:224
 msgid "Change Profile Photo"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:227
+#: src/Module/Settings/Profile/Index.php:229
 msgid "Profile picture"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:228
+#: src/Module/Settings/Profile/Index.php:230
 msgid "Location"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:229 src/Util/Temporal.php:93
+#: src/Module/Settings/Profile/Index.php:231 src/Util/Temporal.php:93
 #: src/Util/Temporal.php:95
 msgid "Miscellaneous"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:230
+#: src/Module/Settings/Profile/Index.php:232
 msgid "Custom Profile Fields"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:232 src/Module/Welcome.php:58
+#: src/Module/Settings/Profile/Index.php:234 src/Module/Welcome.php:58
 msgid "Upload Profile Photo"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:236
+#: src/Module/Settings/Profile/Index.php:238
 msgid "Display name:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:239
+#: src/Module/Settings/Profile/Index.php:241
 msgid "Street Address:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:240
+#: src/Module/Settings/Profile/Index.php:242
 msgid "Locality/City:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:241
+#: src/Module/Settings/Profile/Index.php:243
 msgid "Region/State:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:242
+#: src/Module/Settings/Profile/Index.php:244
 msgid "Postal/Zip Code:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:243
+#: src/Module/Settings/Profile/Index.php:245
 msgid "Country:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:245
+#: src/Module/Settings/Profile/Index.php:247
 msgid "XMPP (Jabber) address:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:245
+#: src/Module/Settings/Profile/Index.php:247
+msgid "The XMPP address will be published so that people can follow you there."
+msgstr ""
+
+#: src/Module/Settings/Profile/Index.php:248
+msgid "Matrix (Element) address:"
+msgstr ""
+
+#: src/Module/Settings/Profile/Index.php:248
 msgid ""
-"The XMPP address will be propagated to your contacts so that they can follow "
-"you."
+"The Matrix address will be published so that people can follow you there."
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:246
+#: src/Module/Settings/Profile/Index.php:249
 msgid "Homepage URL:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:247
+#: src/Module/Settings/Profile/Index.php:250
 msgid "Public Keywords:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:247
+#: src/Module/Settings/Profile/Index.php:250
 msgid "(Used for suggesting potential friends, can be seen by others)"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:248
+#: src/Module/Settings/Profile/Index.php:251
 msgid "Private Keywords:"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:248
+#: src/Module/Settings/Profile/Index.php:251
 msgid "(Used for searching profiles, never shown to others)"
 msgstr ""
 
-#: src/Module/Settings/Profile/Index.php:249
+#: src/Module/Settings/Profile/Index.php:252
 #, php-format
 msgid ""
 "<p>Custom fields appear on <a href=\"%s\">your profile page</a>.</p>\n"
index 44751eacc7e0fb518680af74d00a2eded9da28af..9a5fc6172cdab58b6a9e72e1cdebed65f27584eb 100644 (file)
@@ -51,6 +51,7 @@
                                <dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
                                {{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location nofilter}}</dd></dl>{{/if}}
                                {{if $xmpp}}<dl><dt>{{$xmpp_label}}</dt><dd>{{$xmpp}}</dd></dl>{{/if}}
+                               {{if $matrix}}<dl><dt>{{$matrix_label}}</dt><dd>{{$matrix}}</dd></dl>{{/if}}
                                {{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
                                {{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about nofilter}}</dd></dl>{{/if}}
                        </div>{{* End of contact-edit-links *}}
index c2cb3ead44ff5fcdc48d736db59340ff8433a934..02b4257ff91b9a41300915dec21c427bc7fa7309 100644 (file)
        </dl>
 {{/if}}
 
+{{if $basic_fields.matrix}}
+       <dl id="aprofile-matrix" class="row {{$basic_fields.matrix.class|default:'aprofile'}}">
+               <hr class="profile-separator">
+               <dt class="col-lg-4 col-md-4 col-sm-4 col-xs-12 profile-label-name text-muted">{{$basic_fields.matrix.label}}</dt>
+               <dd class="col-lg-8 col-md-8 col-sm-8 col-xs-12 profile-entry">{{$basic_fields.matrix.value nofilter}}</dd>
+       </dl>
+{{/if}}
+
 {{if $basic_fields.pub_keywords}}
        <dl id="aprofile-tags" class="row {{$basic_fields.pub_keywords.class|default:'aprofile'}}">
                <hr class="profile-separator">
index b989923b78e5714c34232759ed923e37f745e8bb..bc39dcce4b12ff9e62e759cbc3fe86d6ac1a0c88 100644 (file)
                </dl>
        {{/if}}
 
+       {{if $profile.matrix}}
+               <dl class="matrix">
+               <dt class="matrix-label">{{$matrix}}</dt>
+               <dd class="matrix-data">{{$profile.matrix}}</dd>
+               </dl>
+       {{/if}}
+
        {{if $profile.upubkey}}<div class="key u-key" style="display:none;">{{$profile.upubkey}}</div>{{/if}}
 
        {{if $contacts}}<div class="contacts" style="display:none;">{{$contacts}}</div>{{/if}}
index 7188212c0d82381ad18d0a56e9d1c8d91e199525..d888e09107e61cc0748603cd2b62a90bdcddd0b0 100644 (file)
                </div>
                <div id="profile-edit-xmpp-desc">{{$xmpp.3}}</div>
                <div id="profile-edit-xmpp-end"></div>
+               <div id="profile-edit-matrix-wrapper">
+                       <label id="profile-edit-matrix-label" for="profile-edit-matrix">{{$matrix.1}} </label>
+                       <input type="text" size="32" name="matrix" id="profile-edit-matrix" title="{{$lbl_ex2}}" value="{{$matrix.2}}"/>
+               </div>
+               <div id="profile-edit-matrix-desc">{{$matrix.3}}</div>
+               <div id="profile-edit-matrix-end"></div>
                <div id="profile-edit-pubkeywords-wrapper">
                        <label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords">{{$pub_keywords.1}} </label>
                        <input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords.2}}"/>
index 4eedb9b7ac3bfe062b168265ded535d10212c68a..9e38eebfc5514919614acc1703fdfeaf37e0489f 100644 (file)
                <dd class="xmpp-data">{{$contact.xmpp}}</dd>
                </dl>
        {{/if}}
+       {{if $contact.matrix}}
+               <dl class="matrix">
+               <dt class="matrix-label">{{$matrix}}</dt>
+               <dd class="matrix-data">{{$contact.matrix}}</dd>
+               </dl>
+       {{/if}}
        {{if $contact.location}}
                <dl class="location" dir="auto">
                        <dt class="location-label">{{$location}}</dt>
index 22126e913138908fc105453d424fe0857fbbae0a..ba15534d5ef5cafa89e7f5d17efda5178f36f2a2 100644 (file)
@@ -1167,7 +1167,7 @@ aside .vcard .detail {
        display: table;
        padding: 2px 0;
 }
-aside .xmpp {
+aside .xmpp, aside .matrix {
        display: table;
 }
 aside .vcard .icon {
index 9194127dffb013a95318298eb6a73021d94d50fd..4fcfc1fb7ae586cea406eba0f8baa708f930da68 100644 (file)
                                                                </div>
                                                                {{/if}}
 
+                                                               {{if $matrix}}
+                                                               <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
+                                                                       <hr class="profile-separator">
+                                                                       <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 text-muted">{{$matrix_label}}</div>
+                                                                       <div class="col-lg-8 col-md-8 col-sm-8 col-xs-12">{{$matrix}}</div>
+                                                               </div>
+                                                               {{/if}}
+
                                                                {{if $keywords}}
                                                                <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                                                                        <hr class="profile-separator">
index deecd7543759aadb9d6813259cb26d54ed951426..ba66882e2e012a2d1d2b20f9f0d5e98d379ca772 100644 (file)
 
                {{if $profile.xmpp}}
                <div class="xmpp">
-                       <span class="xmpp-label icon"><i class="fa fa-comments"></i></span>
+                       <span class="xmpp-label icon"><i class="fa fa-xmpp"></i></span>
                        <span class="xmpp-data"><a href="xmpp:{{$profile.xmpp}}" rel="me" target="_blank" rel="noopener noreferrer">{{include file="sub/punct_wrap.tpl" text=$profile.xmpp}}</a></span>
                </div>
                {{/if}}
 
+               {{if $profile.matrix}}
+               <div class="matrix">
+                       <span class="matrix-label icon"><i class="fa fa-matrix-org"></i></span>
+                       <span class="matrix-data"><a href="matrix:{{$profile.matrix}}" rel="me" target="_blank" rel="noopener noreferrer">{{include file="sub/punct_wrap.tpl" text=$profile.matrix}}</a></span>
+               </div>
+               {{/if}}
+
                {{if $profile.upubkey}}<div class="key u-key" style="display:none;">{{$profile.upubkey}}</div>{{/if}}
 
                {{if $contacts}}<div class="contacts" style="display:none;">{{$contacts}}</div>{{/if}}
 
                {{if $homepage}}
                <div class="homepage detail">
-                       <span class="homepage-label icon"><i class="fa fa-external-link-square"></i></span>
+                       <span class="homepage-label icon"><i class="fa fa-external-link"></i></span>
                        <span class="homepage-url u-url"><a href="{{$profile.homepage}}" rel="me" target="_blank" rel="noopener noreferrer">{{include file="sub/punct_wrap.tpl" text=$profile.homepage}}</a></span>
                </div>
                {{/if}}
index 21387437ec32ac5af9175243f51b7bc065b5edf5..95fcbe4b5374ea879aa340acbb97ddeffe658f58 100644 (file)
 
                                                {{include file="field_input.tpl" field=$xmpp}}
 
+                                               {{include file="field_input.tpl" field=$matrix}}
+
                                                {{include file="field_input.tpl" field=$pub_keywords}}
 
                                                {{include file="field_input.tpl" field=$prv_keywords}}
index 91c773a75ebaf772359a82a95cdebe9bea13a569..5c0c8b0a6c8530e41097b82ad47b167d87884e34 100644 (file)
 
                {{if $contact.xmpp}}
                <div class="xmpp detail">
-                       <span class="xmpp-label icon"><i class="fa fa-comments"></i></span>
+                       <span class="xmpp-label icon"><i class="fa fa-xmpp"></i></span>
                        <span class="xmpp-data"><a href="xmpp:{{$contact.xmpp}}" rel="me" target="_blank" rel="noopener noreferrer">{{include file="sub/punct_wrap.tpl" text=$contact.xmpp}}</a></span>
                </div>
                {{/if}}
 
+               {{if $contact.matrix}}
+               <div class="matrix detail">
+                       <span class="matrix-label icon"><i class="fa fa-matrix-org"></i></span>
+                       <span class="matrix-data"><a href="matrix:{{$contact.matrix}}" rel="me" target="_blank" rel="noopener noreferrer">{{include file="sub/punct_wrap.tpl" text=$contact.matrix}}</a></span>
+               </div>
+               {{/if}}
+
                {{if $network_link}}
                <div class="network detail">
                        <span class="network-label icon"><i class="fa fa-{{$network_avatar}}"></i></span>
index b849a4435373e8a520a51c48e91d20d79642935e..dc5b0c7d1f2674f204c12a62fd162e93cbce172a 100644 (file)
        </dl>
     {{/if}}
 
+    {{if $profile.matrix}}
+       <dl class="matrix">
+        <dt class="matrix-label">{{$matrix}}</dt>
+        <dd class="matrix-data">{{$profile.matrix}}</dd>
+       </dl>
+    {{/if}}
+
        {{if $profile.upubkey}}<div class="key" style="display:none;">{{$profile.upubkey}}</div>{{/if}}
 
        {{if $homepage}}
index 23c510502c224f4f534f51eb973c72e941126d38..94c753c7d4b53836ef25486407b63b2e3e7e763b 100644 (file)
@@ -52,6 +52,7 @@
                                <dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
                                {{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location nofilter}}</dd></dl>{{/if}}
                                {{if $xmpp}}<dl><dt>{{$xmpp_label}}</dt><dd>{{$xmpp}}</dd></dl>{{/if}}
+                               {{if $matrix}}<dl><dt>{{$matrix_label}}</dt><dd>{{$matrix}}</dd></dl>{{/if}}
                                {{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
                                {{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about nofilter}}</dd></dl>{{/if}}
                        </div>{{* End of contact-edit-links *}}
index 13e41fcb5edca408e7eadf7bd5b4738a62e745a0..c15e7940d3d2567fc948a1654c38b3c4e79492bc 100644 (file)
                </dl>
        {{/if}}
 
+       {{if $profile.matrix}}
+               <dl class="matrix">
+                       <dt class="matrix-label">{{$matrix}}</dt>
+                       <dd class="matrix-data">{{$profile.matrix}}</dd>
+               </dl>
+       {{/if}}
+
        {{if $profile.upubkey}}<div class="key u-key" style="display:none;">{{$profile.upubkey}}</div>{{/if}}
 
        {{if $contacts}}<div class="contacts" style="display:none;">{{$contacts}}</div>{{/if}}
index fa9c074eb5e9f469b2d04d4df86cbbc096619f59..842b6aaef61edd6de00b4c7c55fe362939748328 100644 (file)
                                <div id="profile-edit-xmpp-desc">{{$xmpp.3}}</div>
                                <div id="profile-edit-xmpp-end"></div>
 
+                               <div id="profile-edit-matrix-wrapper">
+                                       <label id="profile-edit-matrix-label" for="profile-edit-matrix">{{$matrix.1}} </label>
+                                       <input type="text" size="32" name="matrix" id="profile-edit-matrix" value="{{$matrix.2}}"/>
+                               </div>
+                               <div id="profile-edit-matrix-desc">{{$matrix.3}}</div>
+                               <div id="profile-edit-matrix-end"></div>
+
                                <div id="profile-edit-homepage-wrapper">
                                        <label id="profile-edit-homepage-label" for="profile-edit-homepage">{{$homepage.1}} </label>
                                        <input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage.2}}"/>