Make search actions retain their q values.

This commit is contained in:
Evan Prodromou 2009-01-23 03:00:06 +01:00
parent df54373411
commit cafc51db09
2 changed files with 10 additions and 9 deletions

View File

@ -73,7 +73,7 @@ class SearchAction extends Action
function showLocalNav() function showLocalNav()
{ {
$nav = new SearchGroupNav($this); $nav = new SearchGroupNav($this, $this->trimmed('q'));
$nav->show(); $nav->show();
} }
@ -98,11 +98,6 @@ class SearchAction extends Action
return null; return null;
} }
function show_header($arr)
{
return;
}
function showNoticeForm() { function showNoticeForm() {
// remote post notice form // remote post notice form
} }

View File

@ -48,6 +48,7 @@ require_once INSTALLDIR.'/lib/widget.php';
class SearchGroupNav extends Widget class SearchGroupNav extends Widget
{ {
var $action = null; var $action = null;
var $q = null;
/** /**
* Construction * Construction
@ -55,10 +56,11 @@ class SearchGroupNav extends Widget
* @param Action $action current action, used for output * @param Action $action current action, used for output
*/ */
function __construct($action=null) function __construct($action=null, $q = null)
{ {
parent::__construct($action); parent::__construct($action);
$this->action = $action; $this->action = $action;
$this->q = $q;
} }
/** /**
@ -71,9 +73,13 @@ class SearchGroupNav extends Widget
{ {
$action_name = $this->action->trimmed('action'); $action_name = $this->action->trimmed('action');
$this->action->elementStart('ul', array('class' => 'nav')); $this->action->elementStart('ul', array('class' => 'nav'));
$this->out->menuItem(common_local_url('peoplesearch'), _('People'), $args = array();
if ($this->q) {
$args['q'] = $this->q;
}
$this->out->menuItem(common_local_url('peoplesearch', $args), _('People'),
_('Find people on this site'), $action_name == 'peoplesearch', 'nav_search_people'); _('Find people on this site'), $action_name == 'peoplesearch', 'nav_search_people');
$this->out->menuItem(common_local_url('noticesearch'), _('Notice'), $this->out->menuItem(common_local_url('noticesearch', $args), _('Notice'),
_('Find content of notices'), $action_name == 'noticesearch', 'nav_search_notice'); _('Find content of notices'), $action_name == 'noticesearch', 'nav_search_notice');
$this->action->elementEnd('ul'); $this->action->elementEnd('ul');
} }