public function search() { try { $this->packages = PackageSearch::simple_search($_GET['search']); } catch (NimbleRecordNotFound $e) { $this->packages = array(); } switch ($this->format) { case 'xml': echo $this->packages->to_xml(array('except' => array('user_id'), 'append' => array('channel' => function ($obj) { return $obj->user->pear_farm_url(); }, 'username' => function ($obj) { return $obj->user->username; }))); $this->layout = false; $this->has_rendered = true; break; case 'json': $names = collect(function ($p) { return $p->name; }, $this->packages); echo json_encode(array($_GET['search'], $names)); $this->layout = false; $this->has_rendered = true; break; case 'html': $this->full = true; $this->set_default_side_bar(); if (!isset($_GET['search']) || empty($_GET['search']) || $_GET['search'] == 'Search packages…') { $this->redirect_to('/'); } break; } }
public function search() { $this->set_default_side_bar(); $this->packages = PackageSearch::simple_search($_GET['search']); switch ($this->format) { case 'xml': $this->render('search/search.xml'); break; case 'json': $names = collect(function ($p) { return $p->name; }, $this->packages); echo json_encode(array($_GET['search'], $names)); $this->layout = false; $this->has_rendered = true; break; case 'html': if (!isset($_GET['search']) || empty($_GET['search']) || $_GET['search'] == 'Search packages…') { $this->redirect_to('/'); } break; } }