From d73a6d3dcdebc38a8aabbd5a0041c5ba8d229d86 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 13 Jun 2012 08:39:02 -0700 Subject: [PATCH] Fix username route for new "._-" usernames Summary: We allow ".", "_" and "-" in usernames now, but not in the route. Test Plan: Went to /p/.-_/, got 404'd at the route level before and now make it to the profile controller. Reviewers: vrana, btrahan Reviewed By: vrana CC: aran Maniphest Tasks: T1348 Differential Revision: https://secure.phabricator.com/D2729 --- .../AphrontDefaultApplicationConfiguration.php | 2 +- src/applications/people/storage/PhabricatorUser.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php b/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php index b59b130f09..71532f4e92 100644 --- a/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php +++ b/src/aphront/configuration/AphrontDefaultApplicationConfiguration.php @@ -73,7 +73,7 @@ class AphrontDefaultApplicationConfiguration 'edit/(?:(?P\d+)/(?:(?P\w+)/)?)?' => 'PhabricatorPeopleEditController', ), - '/p/(?P\w+)/(?:(?P\w+)/)?' + '/p/(?P[\w._-]+)/(?:(?P\w+)/)?' => 'PhabricatorPeopleProfileController', '/conduit/' => array( '' => 'PhabricatorConduitListController', diff --git a/src/applications/people/storage/PhabricatorUser.php b/src/applications/people/storage/PhabricatorUser.php index 93c19b701d..3f54a6efe3 100644 --- a/src/applications/people/storage/PhabricatorUser.php +++ b/src/applications/people/storage/PhabricatorUser.php @@ -595,6 +595,13 @@ EOBODY; } public static function validateUsername($username) { + // NOTE: If you update this, make sure to update: + // + // - Remarkup rule for @mentions. + // - Routing rule for "/p/username/". + // - Unit tests, obviously. + // - describeValidUsername() method, above. + return (bool)preg_match('/^[a-zA-Z0-9._-]*[a-zA-Z0-9_-]$/', $username); }