added filler text to notice and group search, suggesting other search options.

This commit is contained in:
Robin Millette 2009-04-07 03:26:33 +00:00
parent 9ad8307b7e
commit 17fb51f747
2 changed files with 29 additions and 18 deletions

View File

@ -72,12 +72,23 @@ class GroupsearchAction extends SearchAction
$terms = preg_split('/[\s,]+/', $q); $terms = preg_split('/[\s,]+/', $q);
$results = new GroupSearchResults($user_group, $terms, $this); $results = new GroupSearchResults($user_group, $terms, $this);
$results->show(); $results->show();
} else {
$this->element('p', 'error', _('No results'));
}
$user_group->free(); $user_group->free();
$this->pagination($page > 1, $cnt > GROUPS_PER_PAGE, $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE,
$page, 'groupsearch', array('q' => $q)); $page, 'groupsearch', array('q' => $q));
} else {
$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', 'blankfiller');
$this->raw(common_markup_to_html($message));
$this->elementEnd('div');
$user_group->free();
}
} }
} }
@ -98,10 +109,5 @@ class GroupSearchResults extends GroupList
{ {
return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text)); return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text));
} }
function isReadOnly()
{
return true;
}
} }

View File

@ -114,22 +114,27 @@ class NoticesearchAction extends SearchAction
$cnt = $notice->find(); $cnt = $notice->find();
} }
if ($cnt === 0) { if ($cnt === 0) {
$this->element('p', 'error', _('No results')); $this->element('p', 'error', _('No results.'));
$this->searchSuggestions($q);
if (common_logged_in()) {
$message = sprintf(_('Be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
}
else {
$message = sprintf(_('Why not [register an account](%%%%action.register%%%%) and be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
}
$this->elementStart('div', 'blankfiller');
$this->raw(common_markup_to_html($message));
$this->elementEnd('div');
return; return;
} }
$terms = preg_split('/[\s,]+/', $q); $terms = preg_split('/[\s,]+/', $q);
$nl = new SearchNoticeList($notice, $this, $terms); $nl = new SearchNoticeList($notice, $this, $terms);
$cnt = $nl->show(); $cnt = $nl->show();
$this->pagination($page > 1, $cnt > NOTICES_PER_PAGE, $this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
$page, 'noticesearch', array('q' => $q)); $page, 'noticesearch', array('q' => $q));
} }
function isReadOnly()
{
return true;
}
} }
class SearchNoticeList extends NoticeList { class SearchNoticeList extends NoticeList {