From c828ce5cfe9994b0f3bd8a400e8dd2fdbf3df3a2 Mon Sep 17 00:00:00 2001 From: shish Date: Sat, 16 Feb 2008 03:14:38 +0000 Subject: [PATCH] move user search to user extension, and search by ID git-svn-id: file:///home/shish/svn/shimmie2/trunk@719 7f39781d-f577-437e-ae19-be835c7a54ca --- ext/index/main.php | 11 ----------- ext/user/main.php | 19 +++++++++++++++++++ ext/user/theme.php | 4 ++-- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/ext/index/main.php b/ext/index/main.php index d69b5f2c..30692faa 100644 --- a/ext/index/main.php +++ b/ext/index/main.php @@ -98,17 +98,6 @@ class Index extends Extension { $val = parse_shorthand_int($matches[3]); $event->set_querylet(new Querylet("AND (images.$col $cmp $val)")); } - else if(preg_match("/(poster|user)=(.*)/i", $event->term, $matches)) { - global $database; - $user = $database->get_user_by_name($matches[2]); - if(!is_null($user)) { - $user_id = $user->id; - } - else { - $user_id = -1; - } - $event->set_querylet(new Querylet("AND (images.owner_id = $user_id)")); - } else if(preg_match("/hash=([0-9a-fA-F]*)/i", $event->term, $matches)) { $hash = strtolower($matches[2]); $event->set_querylet(new Querylet("AND (images.hash = '$hash')")); diff --git a/ext/user/main.php b/ext/user/main.php index e4026de0..286406e0 100644 --- a/ext/user/main.php +++ b/ext/user/main.php @@ -157,6 +157,25 @@ class UserPage extends Extension { if(is_a($event, 'UserCreationEvent')) { if($this->check_user_creation($event)) $this->create_user($event); } + + if(is_a($event, 'SearchTermParseEvent')) { + $matches = array(); + if(preg_match("/(poster|user)=(.*)/i", $event->term, $matches)) { + global $database; + $user = $database->get_user_by_name($matches[2]); + if(!is_null($user)) { + $user_id = $user->id; + } + else { + $user_id = -1; + } + $event->set_querylet(new Querylet("AND (images.owner_id = $user_id)")); + } + else if(preg_match("/(poster|user)_id=([0-9]+)/i", $event->term, $matches)) { + $user_id = int_escape($matches[2]); + $event->set_querylet(new Querylet("AND (images.owner_id = $user_id)")); + } + } } // }}} // Things done *with* the user {{{ diff --git a/ext/user/theme.php b/ext/user/theme.php index f0178ded..e5460702 100644 --- a/ext/user/theme.php +++ b/ext/user/theme.php @@ -132,8 +132,8 @@ class UserPageTheme extends Themelet { $h_image_rate = sprintf("%3.1f", ($i_image_count / $i_days_old2)); $h_comment_rate = sprintf("%3.1f", ($i_comment_count / $i_days_old2)); - $u_name = url_escape($duser->name); - $images_link = make_link("post/list/user=$u_name/1"); + $u_id = url_escape($duser->id); + $images_link = make_link("post/list/user_id=$u_id/1"); return " Join date: $h_join_date ($i_days_old days old)