X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=actions%2Fprofilesettings.php;h=667fea2cf48d3ca29df237aab75bc77f5caaa548;hb=f7ffe1df86c762f9f137d098a0c4e82a3d0fb3e6;hp=fbaddaa5f9cd04e6c61d5165be81dd944b94248d;hpb=36b331d469b6dcd1101783f21265f7be624bc58f;p=quix0rs-gnu-social.git diff --git a/actions/profilesettings.php b/actions/profilesettings.php index fbaddaa5f9..667fea2cf4 100644 --- a/actions/profilesettings.php +++ b/actions/profilesettings.php @@ -298,18 +298,24 @@ class ProfilesettingsAction extends SettingsAction return; } - if ($tagstring) { - $tags = array_map('common_canonical_tag', preg_split('/[\s,]+/', $tagstring)); - } else { - $tags = array(); - } + $tags = array(); + $tag_priv = array(); + if (is_string($tagstring) && strlen($tagstring) > 0) { - foreach ($tags as $tag) { - if (!common_valid_profile_tag($tag)) { - // TRANS: Validation error in form for profile settings. - // TRANS: %s is an invalid tag. - $this->showForm(sprintf(_('Invalid tag: "%s".'), $tag)); - return; + $tags = preg_split('/[\s,]+/', $tagstring); + + foreach ($tags as &$tag) { + $private = @$tag[0] === '.'; + + $tag = common_canonical_tag($tag); + if (!common_valid_profile_tag($tag)) { + // TRANS: Validation error in form for profile settings. + // TRANS: %s is an invalid tag. + $this->showForm(sprintf(_('Invalid tag: "%s".'), $tag)); + return; + } + + $tag_priv[$tag] = $private; } } @@ -444,7 +450,7 @@ class ProfilesettingsAction extends SettingsAction } // Set the user tags - $result = $user->setSelfTags($tags); + $result = $user->setSelfTags($tags, $tag_priv); if (!$result) { // TRANS: Server error thrown when user profile settings tags could not be saved.