diff options
-rw-r--r-- | engine/lib/users.php | 22 | ||||
-rw-r--r-- | languages/en.php | 1 | ||||
-rw-r--r-- | search/users.php | 36 | ||||
-rw-r--r-- | views/default/user/search/finishblurb.php | 6 |
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
}
|