public function view($params = NULL) { // valid categories to search $categories = array("common_name_id" => "Common Name", "breed" => "Breed", "sex" => "Sex", "shelter_id" => "Shelter"); $v = new View("animal_index"); $v->title = "Browse"; $v->showBrowser = true; $animalModel = new AnimalModel(); // common name browser $commonModel = new CommonNameModel(); $v->commonNames = $commonModel->getAll(); // breed browser $breedModel = new BreedModel(); $v->breeds = $breedModel->getAll(); // shelter browser $shelterModel = new ShelterModel(); $v->shelters = $shelterModel->getAll(); $v->animals = array(); // default page if (!$params) { $v->animals = $animalModel->getLatestAnimals(Site::getInstance()->getNumAnimals()); return $v->render(); } // check params if (!isset($categories[$params[0]])) { $e = new NotFoundError("Invalid criteria"); return $e->serve(); } // sanitize the params for ($i = 0; $i < count($params); $i++) { $params[$i] = filter_var($params[$i], FILTER_SANITIZE_STRING); } $v->title = "Browsing by {$categories[$params[0]]}"; $v->animals = $animalModel->getByCategory($params[0], $params[1]); $v->render(); }