aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-08-15 20:26:13 +0000
committerben <ben@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-08-15 20:26:13 +0000
commit1d1789d252a7879480a886c2bae8eb67bb782637 (patch)
tree19a3054ea9a1bcb005e119d9272e60bd28f80f93
parent1592d4217af947daa4d866b52c171db04fcda32d (diff)
downloadelgg-1d1789d252a7879480a886c2bae8eb67bb782637.tar.gz
elgg-1d1789d252a7879480a886c2bae8eb67bb782637.tar.bz2
Added proper search for users by name
git-svn-id: https://code.elgg.org/elgg/trunk@1953 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--engine/lib/users.php22
-rw-r--r--languages/en.php1
-rw-r--r--search/users.php36
-rw-r--r--views/default/user/search/finishblurb.php6
4 files changed, 61 insertions, 4 deletions
diff --git a/engine/lib/users.php b/engine/lib/users.php
index 677b4c349..35399770b 100644
--- a/engine/lib/users.php
+++ b/engine/lib/users.php
@@ -757,6 +757,28 @@
}
}
return false;
+ }
+
+ /**
+ * Displays a list of user objects that have been searched for.
+ *
+ * @see elgg_view_entity_list
+ *
+ * @param int $user_guid The GUID of the user
+ * @param string $subtype The object subtype
+ * @param int $limit The number of entities to display on a page
+ * @param true|false $fullview Whether or not to display the full view (default: true)
+ * @return string The list in a form suitable to display
+ */
+ function list_user_search($tag, $limit = 10) {
+
+ $offset = (int) get_input('offset');
+ $limit = (int) $limit;
+ $count = (int) search_for_user($tag, 10, 0, '', true);
+ $entities = search_for_user($tag, $limit, 0);
+
+ return elgg_view_entity_list($entities, $count, $offset, $limit, $fullview);
+
}
/**
diff --git a/languages/en.php b/languages/en.php
index 1f114ab02..3474e4ff7 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -347,6 +347,7 @@ To remove a widget drag it back to the <b>Widget gallery</b>.",
'search' => "Search",
'searchtitle' => "Search: %s",
+ 'users:searchtitle' => "Searching for users: %s",
'advancedsearchtitle' => "%s with results matching %s",
'notfound' => "No results found.",
'next' => "Next",
diff --git a/search/users.php b/search/users.php
new file mode 100644
index 000000000..f79253cf9
--- /dev/null
+++ b/search/users.php
@@ -0,0 +1,36 @@
+<?php
+
+ /**
+ * Generic search viewer
+ * Given a GUID, this page will try and display any entity
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008
+ * @link http://elgg.org/
+ */
+
+ // Load Elgg engine
+ require_once(dirname(dirname(__FILE__)) . "/engine/start.php");
+
+ // Set context
+ set_context('search');
+
+ // Get input
+ $tag = get_input('tag');
+
+ $title = sprintf(elgg_echo('users:searchtitle'),$tag);
+
+ if (!empty($tag)) {
+ $body = "";
+ $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag));
+ $body .= elgg_view('user/search/startblurb',array('tag' => $tag));
+ $body .= list_user_search($tag);
+ $body = elgg_view_layout('two_column_left_sidebar','',$body);
+ }
+
+ page_draw($title,$body);
+
+?> \ No newline at end of file
diff --git a/views/default/user/search/finishblurb.php b/views/default/user/search/finishblurb.php
index bc7b9d787..b7624f8ce 100644
--- a/views/default/user/search/finishblurb.php
+++ b/views/default/user/search/finishblurb.php
@@ -3,13 +3,11 @@
if ($vars['count'] > $vars['threshold']) {
?>
-<p>
- <?php
+<p><a href="<?php echo $vars['url']; ?>search/users.php?tag=<?php echo urlencode($vars['tag']); ?>"><?php
echo elgg_echo("user:search:finishblurb");
- ?>
-</p>
+ ?></a></p>
<?php
}