NodesController::search PHP Method

    public function search($typeAlias = null)
    {
        $this->Prg->commonProcess();
        $Node = $this->{$this->modelClass};
        $this->paginate = array('published', 'roleId' => $this->Croogo->roleId());
        $q = null;
        if (isset($this->request->query['q'])) {
            $q = $this->request->query['q'];
            $this->paginate['q'] = $q;
        }
        if ($typeAlias) {
            $type = $Node->Taxonomy->Vocabulary->Type->findByAlias($typeAlias);
            if (!isset($type['Type']['id'])) {
                $this->Session->setFlash(__d('croogo', 'Invalid content type.'), 'flash', array('class' => 'error'));
                return $this->redirect('/');
            }
            if (isset($type['Params']['nodes_per_page'])) {
                $this->paginate['limit'] = $type['Params']['nodes_per_page'];
            }
            $this->paginate['typeAlias'] = $typeAlias;
        }
        $criteria = $Node->parseCriteria($this->Prg->parsedParams());
        $nodes = $this->paginate($criteria);
        $this->set(compact('q', 'nodes'));
        if ($typeAlias) {
            $this->Croogo->viewFallback(array('search_' . $typeAlias));
        }
    }