- 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;