diff options
Diffstat (limited to 'actions/groupsearch.php')
-rw-r--r-- | actions/groupsearch.php | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/actions/groupsearch.php b/actions/groupsearch.php index 9b0026db9..06b4a7755 100644 --- a/actions/groupsearch.php +++ b/actions/groupsearch.php @@ -1,9 +1,4 @@ <?php - - -// define('GROUPS_PER_PAGE', 20); - - /** * Group search action class. * @@ -77,12 +72,23 @@ class GroupsearchAction extends SearchAction $terms = preg_split('/[\s,]+/', $q); $results = new GroupSearchResults($user_group, $terms, $this); $results->show(); + $user_group->free(); + $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE, + $page, 'groupsearch', array('q' => $q)); } else { - $this->element('p', 'error', _('No results')); + $this->element('p', 'error', _('No results.')); + $this->searchSuggestions($q); + if (common_logged_in()) { + $message = _('If you can\'t find the group you\'re looking for, you can [create it](%%action.newgroup%%) yourself.'); + } + else { + $message = _('Why not [register an account](%%action.register%%) and [create the group](%%action.newgroup%%) yourself!'); + } + $this->elementStart('div', 'guide'); + $this->raw(common_markup_to_html($message)); + $this->elementEnd('div'); + $user_group->free(); } - $user_group->free(); - $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE, - $page, 'groupsearch', array('q' => $q)); } } @@ -90,23 +96,18 @@ class GroupSearchResults extends GroupList { var $terms = null; var $pattern = null; - + function __construct($user_group, $terms, $action) { parent::__construct($user_group, $terms, $action); - $this->terms = array_map('preg_quote', + $this->terms = array_map('preg_quote', array_map('htmlspecialchars', $terms)); $this->pattern = '/('.implode('|',$terms).')/i'; } - + function highlight($text) { return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text)); } - - function isReadOnly() - { - return true; - } } |