diff options
-rw-r--r-- | actions/finishopenidlogin.php | 2 | ||||
-rw-r--r-- | actions/newnotice.php | 4 | ||||
-rw-r--r-- | actions/register.php | 2 | ||||
-rw-r--r-- | actions/userbyid.php | 36 | ||||
-rw-r--r-- | htaccess.sample | 2 | ||||
-rw-r--r-- | lib/util.php | 11 |
6 files changed, 53 insertions, 4 deletions
diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index 703334453..27e5057ec 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -223,7 +223,7 @@ class FinishopenidloginAction extends Action { $user = new User(); $user->id = $id; $user->nickname = $nickname; - $user->uri = common_mint_tag('user:'.$id); + $user->uri = common_user_uri($user); if ($sreg['email'] && Validate::email($sreg['email'], true)) { $user->email = $sreg['email']; diff --git a/actions/newnotice.php b/actions/newnotice.php index a3ba4c9cc..6d98c820c 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -61,7 +61,7 @@ class NewnoticeAction extends Action { } $orig = clone($notice); - $notice->uri = common_mint_tag('notice:' . $id); + $notice->uri = common_notice_uri($notice); if (!$notice->update($orig)) { common_server_error(_t('Problem saving notice.')); @@ -91,4 +91,4 @@ class NewnoticeAction extends Action { common_notice_form(); common_show_footer(); } -}
\ No newline at end of file +} diff --git a/actions/register.php b/actions/register.php index c167701fd..3ed892e7f 100644 --- a/actions/register.php +++ b/actions/register.php @@ -107,7 +107,7 @@ class RegisterAction extends Action { $user->nickname = $nickname; $user->password = common_munge_password($password, $id); $user->created = DB_DataObject_Cast::dateTime(); # current time - $user->uri = common_mint_tag('user:'.$id); + $user->uri = common_user_uri($user); $result = $user->insert(); if (!$result) { diff --git a/actions/userbyid.php b/actions/userbyid.php new file mode 100644 index 000000000..9de32406a --- /dev/null +++ b/actions/userbyid.php @@ -0,0 +1,36 @@ +<?php +/* + * Laconica - a distributed open-source microblogging tool + * Copyright (C) 2008, Controlez-Vous, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('LACONICA')) { exit(1); } + +class UserbyidAction extends Action { + function handle($args) { + parent::handle($args); + $id = $this->trimmed('id'); + if (!$id) { + $this->client_error(_t('No id.')); + } + $user =& User::staticGet($id); + if (!$id) { + $this->client_error(_t('No such user.')); + } + common_redirect('showstream', + array('nickname' => $user->nickname)); + } +} diff --git a/htaccess.sample b/htaccess.sample index cd8ba1003..41ae878c6 100644 --- a/htaccess.sample +++ b/htaccess.sample @@ -27,6 +27,8 @@ RewriteRule ^settings/openid$ index.php?action=openidsettings [L,QSA] RewriteRule ^notice/new$ index.php?action=newnotice [L,QSA] RewriteRule ^notice/(\d+)$ index.php?action=shownotice¬ice=$1 [L,QSA] +RewriteRule ^user/(\d+)$ index.php?action=userbyid&id=$1 [L,QSA] + RewriteRule ^(\w+)/subscriptions$ index.php?action=subscriptions&nickname=$1 [L,QSA] RewriteRule ^(\w+)/subscribers$ index.php?action=subscribers&nickname=$1 [L,QSA] RewriteRule ^(\w+)/xrds$ index.php?action=xrds&nickname=$1 [L,QSA] diff --git a/lib/util.php b/lib/util.php index e137799f2..ae6752653 100644 --- a/lib/util.php +++ b/lib/util.php @@ -572,6 +572,8 @@ function common_fancy_url($action, $args=NULL) { } case 'confirmemail': return common_path('main/confirmemail/'.$args['code']); + case 'userbyid': + return common_path('user/'.$args['id']); default: return common_simple_url($action, $args); } @@ -897,3 +899,12 @@ function common_copy_args($from) { } return $to; } + +function common_user_uri(&$user) { + return common_local_url('userbyid', array('id' => $user->id)); +} + +function common_notice_uri(&$notice) { + return common_local_url('shownotice', + array('notice' => $notice->id)); +} |